Unity Engine/Problem(4)
-
Unity 2018.3에서 RayCheck 문제
유니티 2018.3 버전으로 업데이트 후 이전 프로젝트를 로드 했을때 발생한 문제. Physics의 RayCheck 계열 함수가 특정 위치에서 히트가 안되는 문제가 발생했다.그냥 안되면 모르겠는데 몇몇 위치에서만 동작을 안한다....... 처음 이 문제를 확인했을 때는 Physics 버전이 3.4로 올라가면서 생긴 문제라 생각했는데 버그 수정 과정에서 구버전 시네머신의 콜라이더를 사용하면 간헐적으로 레이 체크 계열 함수들이 비정상 동작한다는 사실을 알게 되었다. 아마 Physics 버전 올리면서 시네머신의 콜라이더 컴포넌트도 변경된게 있나보다.에셋 스토어에서 받은 시네머신을 제거하고 패키지 매니저에서 제공하는 최신 버전의 시네머신으로 교체했더니 아무 문제없이 잘 동작한다.
2019.02.27 -
Unity 2018.3 - GC Alloc 17B
작년 말 Unity 2018.3 버전이 나오면서 여러가지 기능이 추가되었다.그중 가장 눈이 가는 녀석은 GPU Base LightMap! 그래서 최근 2018.2 -> 2018.3으로 업데이트...그런데 업데이트 후 프로파일러에서 난데없이 매 프레임 GC 17B가 생성되는 것이 눈에 들어온다. 그냥 아무것도 없는 디폴트 씬 인데도 불구하고 저 17B의 쓰레기가 계속 생성되고 있다... 구글링을 통해 알아봤더니 2018.3 버전의 버그로 보인다. 메모리 프로파일러 추가되서 좋아했는데 다른 문제가 ㅠㅠㅠ 2019.1 베타 버전도 있던데 그걸 설치 해봐야하나... 빨리 수정 되었으면...
2019.02.02 -
[Serializable] No support for null for custom classes
유니티에는 오브젝트의 컴포넌트 정보를 씬에 자동으로 기록해주는 직렬화 기능이 있다. CustomClass에 이 직렬화 기능을 사용하다 문제가 생겼는데...모노형태의 컴포넌트에 [Serializable]이 지정된 Custom Class 변수를 만들고, 변수를 인스턴스화 하지 않고 null처리 한 상태에서 컴포넌트를 오브젝트에 붙였는데 생성하지도 않은 클래스가 항상 인스턴스되어 있다. 그래서 문서를 찾아봤더니 CustomClass에 null 같은건 지원 안 한다고 하신다.https://docs.unity3d.com/Manual/script-Serialization.html null이면 항상 인스턴스화 된다고...null처리하면 생성 안 될거라 생각했는데 주의하는게 좋겠다.
2018.12.18 -
CineMachine FreeLook 카메라 사용 시 발생 한 문제...
강력한 카메라 기능을 제공하는 유니티 에셋 시네머신 일반적인 캐릭터 카메라 기능을 하는 FreeLook 카메라 또한 시네머신에 포함된 강력한 기능이며, 저 또한 자주 사용합니다. FreeLook 카메라는 Override World Up과 Simple Follow Mode 기능을 통해 y축이 Up Vector가 아닌 경우도 지원하는 것 같으나... 좌우 회전에 문제가 있어 보인다. forward나 right Vector가 틀어져서 생기는 문제로 보이는데... 왜 Up 벡터만 지정하는 건지...이렇게 쓰라고 만들어 놓은 기능이 아닌건가?? 문제의 현상을 보면 1. 회전에 저항이 생긴다. (점점 느려지고 어느 순간 안 움직임)2. 회전 방향이 뒤집힌다. (캐릭터 기준이 아닌 월드 기준으로 회전하는 것으로 보인..
2018.12.08