전체 글(81)
-
Unity Editor Coroutine
에디터 코루틴 유니티는 기본적으로 싱글 쓰레드를 기반으로 하지만, 분할 작업은 필요하다. (메인쓰레드에서 하나의 작업을 길게 잡고 있는 것은 곤란하니...)이를 위해 메인쓰레드를 분할하여 작업을 할당하는 코루틴이라는 녀석을 제공한다. 문제는 이 코루틴이 에디터에서는 의도한 것 처럼 동작하지 않는다는 점이다.아무래도 유니티가 에디터 상태에서 하는일이 많아서(렌더라던가, 인풋 이라던가 GUI 업데이트 라던가...) 스크립트의 코루틴 작업이 후 순위로 밀려 버리기 때문이 아닌가 생각된다.. 이 때문에 에디터에서 코루틴을 사용 할때는 에디터 형태의 코루틴을 스크립트로 만들어 사용하였는데패키지 매니저가 추가되면서 제공되는 기능들 중에 에디터 코루틴도 추가되어 있다. (이제 만들어 쓸 필요 없다는 소리...) 참고..
2019.03.03 -
Unity Package Manager
2018.1? 버전인가 부터 유니티에 패키지매니저가 추가 되었다.유니티에서 편의를 위해 제공되는 패키지들을 이전에는 스토어를 통해 임포트해서 사용해야 했지만패키지 매니저가 추가되면서 더 간단하게 프로젝트에 추가하여 사용할 수 있게 되었다. 패키지 매니저는 유니티 2018.2 버전 기준으로 상단의 Window - PackageManager를 통해 이용가능하다. 사용법이 단순해 필요없으리라 생각되지만 자세한 내용은 아래 링크의 공식 문서를 읽도록 하자. 위 사진은 2018.2버전이며, 아래 문서는 2018.3 버전의 패키지 매니저인데 검색 기능 추가 및 몇가지가 변경되었다.패키지 매니저 문서 : https://docs.unity3d.com/Packages/com.unity.package-manager-ui@..
2019.03.03 -
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 -
VoxelPlanet - Unity
Unity VoxelPlanet - 기존에 만들었던 복셀 생성기를 에디터화하여 간단한 게임을 제작하였습니다. - 개발기간 : 3개월 - 개발환경 : Unity [소개영상] [Play 영상] [개발한 기능들] 1. Map Editor - 기존에 만들었던 Voxel Planet Generator에 기능을 추가하고 에디터 윈도우로 변경하였습니다. - 이전 Generator 영상 및 포스팅 : 클릭 2. WorldMap / MiniMap - 포트폴리오에 사용된 미니맵 월드맵 입니다. - 추가한 지역을 맵에 표시합니다. 3. day / night - 태양의 위치 변화를 기반으로 한 하늘의 낮과 밤 4. Character Skill - 플레이어 스킬과 기본 동작들 5. 오브젝트 UI & Talk Event - Ob..
2019.01.22 -
[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