Python을 Anaconda에서 관리하도록 바꾸는 과정에서 여러 문제가 발생했었다. 이 중 두 개는 별도의 포스팅으로 정리했고, 나머지 자잘한 것들은 그냥 모아서 정리했다. Anaconda로 설치한 Jupyter의 시작 위치 변경하기 Jupyter Notebook를 Anaconda로 설치하면 실행시 시작 폴더가 \User\[사용자명]이다. 이 시작...
conda update시 NoBaseEnvironmentError가 발생하는 원인
Jupyter를 설치하면서 기존에 설치된 Python을 제거하고 Anaconda에서 파이썬을 관리하기로 했다. 파이썬의 삭제와 아나콘다의 설치 자체는 문제가 없었지만, 기존에 설치된 파이썬 프로젝트나 연결된 VSCode같은 툴이 여기저기서 문제를 일으켜서 관련 내용들을 정리해두기로 한다. 아나콘다 설치 후 최신 버전으로 업데이트하기 위해 내부에서 c...
Anaconda 설치 후 python이 인식되지 않는 문제
기존의 Python을 제거하고 Anaconda를 설치한 후, 환경 PATH를 설정했음에도 파이썬 실행 파일이 정상동작하지 않고, --version 명령에 버전 없이 그냥 Python이라는 단어만 뱉는 문제가 발생했다. 아나콘다는 정상적으로 버전이 확인되는 걸로 볼 때 경로 환경변수 문제는 아닐 가능성이 높고, 원인이 짐작가지 않아서 언제나처럼 구...
Application.isPlaying과 Application.isEditor의 차이
Application.isPlaying은 빌드된 게임 혹은 에디터의 플레이 모드(에디터에서 실행시키는 것)일 때 true를 반환한다. Application.isEditor는 에디터에서 실행되는지의 여부를 반환한다. Application.isPlaying Application.isEditor 그리고 Application.isEditor는 #...
Odin Inspector의 PropertyOrder 관련 짧은 팁
Odin Inspector의 PropertyOrder를 사용하면 인스펙터에서 프로퍼티가 출력되는 순서를 지정할 수 있다. 유니티에서는 상속된 클래스의 프로퍼티가 인스펙터에서 보이는 순서를 지정할 수 없어서 불편할 때가 많은데 PropertyOrder가 이 문제를 해결해준다. 이때, PropertyOrder가 설정되지 않은 일반 프로퍼티의 Orde...
ScriptableObject를 참조하는 객체의 JSON Serialize
Unity의 ScriptableObject는 특정한 아이템 유형 등을 정의할 때 Enum처럼 사용할 수 있다. 이는 유니티에서 공식적으로 권장하는 사용 방식이다. 위의 인벤토리 예시는 유니티에서 제공하는 협업과 코딩 측면에서 유용한 스크립터블 오브젝트 활용법 6가지라는 강좌에 있는 내용이다. 여기까지는 괜찮지만, 문제는 이 인벤토리 정보를 저장...
UI Text, TextMeshPro, TextCore?
최근에 유니티 6을 사용해봤는데, 생성할 수 있는 객체 중에 TextMeshpro와 TextCore라는 게 나눠져 있었다. TextMeshpro는 현 시점(유니티 6 프리뷰)에서는 별도의 패키지지만 사용할 때 자동으로 다운받는 창이 뜨는 구조였고, 기존 UI Text는 역시 남아 있지만 legacy로 분류되어 있다. 이게 뭔지 몰라서 찾아본 바로...
TextMeshPro에서 한글, 일본어, 중국어 asset 생성하기
* 이전 게시물 : 이 게시물은 2024년에 작성된 것으로, 2026년 현재의 환경과는 맞지 않을 수 있습니다. 예전에 정리하다가 완성하지 못하고 버려둔 포스팅이라 내용은 별 거 없고 거의 참고자료 정리에 가깝다. ttf나 otf 파일을 그냥 추가한 다음 끌어다 쓰기만 하면 되는 기존 UI Text와는 달리, TextMeshpro는 내장된 Asse...
Spine에서 실시간으로 material 변경하기
유니티 게임개발 시 많이 사용되는 Spine을 쓰던 도중, 스파인 애니메이션 중에 실시간으로 메테리얼을 교체해야 하는 이슈가 있었다. 맨 처음에는 평범하게 유니티 Mesh Renderer에서 직접 material을 변경해봤다. obj.GetComponent<MeshRenderer>().material = newMaterial; // 단일...
C#에서 equals와 ==의 차이
C#에서 특정한 개체가 동일한지를 체크하는 방법은 object.equals()를 사용하는 것과 ==연산자를 사용하는 것 두 가지가 있다. 그리고 이 둘은 따로 오버라이딩이 가능하다. 이 둘은 얼핏 보면 같은 기능처럼 보이지만, 사실 다른 기능이다. C# 에서의 문자열 비교, == or Equals? C# difference betwe...