유니티(Unity) 사용되지않는 에셋 메모리 해제 (Resources.UnloadUnusedAssets, 메모리 누수 관련)Resources.UnloadUnusedAssets 함수를 사용하여 유니티에서 사용되지않는 에셋을 언로드할수있습니다. 전체 게임오브젝트 계층(스크립트 컴포넌트를 포함)을 탐색하여 에셋에 도달하지못하면 해당 에셋은 사용되지않는것으로 간주됩니다. 현재 씬이나 게임에서 더 이상 참조되지 않는 리소스들을 명시적으로 해제하여 메모리 누수를 방지하기위해 사용할수있습니다. https://docs.unity3d.com/ScriptReference/Resources.UnloadUnusedAssets.html스크립트 실행 스택은 검사되지않습니다. 따라서 스크립트의 스택 내에서 참조되는 에셋(Asset..
유니티 가상현실(VR) 프로젝트 기술문서 모음 유니티, 오큘러스 VR 코스 https://blogs.unity3d.com/kr/2019/11/13/level-up-your-vr-skills-with-a-free-new-course-from-unity-and-oculus/ 유니티 VR UI 튜토리얼 https://learn.unity.com/tutorial/unit-6-best-ui-practices-for-vr 유니티 가상현실 UI 시스템 https://developer.oculus.com/blog/unitys-ui-system-in-vr/ 유니티 모바일 VR 최적화 https://unity3d.com/kr/how-to/optimize-mobile-VR-games
유니티 모바일 게임 프로젝트 최적화 기술문서 모음 모바일 애플리케이션용 3D 아트 최적화(unity learn) https://learn.unity.com/course/arm-unity-mobail-aepeulrikeisyeonyong-3d-ateu-coejeoghwa Arm & Unity: 모바일 애플리케이션용 3D 아트 최적화 - Unity Learn 이 중급 과정에서는 모바일 애플리케이션에 활용할 수 있도록 성능이 최적화된 3D 에셋과 씬을 제작하는 방법을 학습하며, 지오메트리, 텍스처, 머티리얼, 셰이더, 조명을 최적화하는 팁을 주제 learn.unity.com 모바일 게임 성능 최적화, 프로파일링, 메모리, 코드 아키텍처 관련 팁(unity blog) https://blog.unity.com/k..
유니티 게임 최적화 기술문서 모음유니티 성능 최적화 튜토리얼https://unity3d.com/kr/learn/tutorials/topics/performance-optimization Learn game development w/ Unity | Courses & tutorials in game design, VR, AR, & Real-time 3D | Unity LearnFree tutorials, courses, and guided pathways for mastering real-time 3D development skills to make video games, VR, AR, and more.learn.unity.com 유니티 최적화 전문가 팁 문서 https://create.unity.com/..
심플리곤(simplygon) - 3D 콘텐츠 최적화 도구(모델, 텍스처, 기타) Simplygon는 게임 개발, 가상 현실(VR), 증강 현실(AR), 영화 및 애니메이션 제작 등 다양한 분야에서 사용되며 3D 모델과 텍스처 최적화에 특화되어있는 소프트웨어입니다. Simplygon를 사용하면 시각적 품질을 유지하면서 복잡한 3D모델과 텍스처 해상도를 최적화하여 데스크톱, 모바일 기기, 웹 기반 응용 프로그램등의 저사양 플랫폼에서 시스템 요구사항을 충족하고 성능을 향상시킬수있습니다. https://www.simplygon.com/ Simplygon 다운로드(유료, 무료) 아래 웹사이트에서 SDK(3D맥스, 마야, 블렌더, 후디니, 유니티, 언리얼 엔진)를 다운로드할수있으며 무료버전의 경우 제한된 옵션으로 ..
유니티(Unity)에서 Debug.DrawRay 함수를 사용하여 디버깅 Ray 표시하기Debug.DrawRay 함수를 사용하여 특정 시작점(start)에서 방향(dir)으로 색상(color)의 선을 표시합니다.https://docs.unity3d.com/ScriptReference/Debug.DrawRay.html 이 오브젝트의 위치에서 로컬 축 z 방향으로 길이 10의 빨간색 선(ray)을 표시합니다.
유니티 점진적 가비지 수집(incremental garbage collection) 유니티의 가비지콜렉터는 Boehm–Demers–Weiser garbage collector를 사용한다. https://www.hboehm.info/gc/ 가비지콜렉터가 가비지 수집을 수행할때 프로그램 코드 실행 및 CPU 메인스레드를 중지하며 전체 힙을 검사한다(stop-the world garbage collection) 힙의 모든 오브젝트를 처리한 이후에 어플리케이션 실행을 재개함으로 성능에 영향을 미치는 gc 스파이크(중단으로 인해 프로파일러 윈도우의 그래프에서 나타나는 큰 스파이크)가 발생한다. incremental mode는 가비지콜렉터가 힙의 모든 오브젝트들을 처리하기 위해 긴 중단을 한번만 수행하는 대신에 작..
유니티(Unity)의 오쿨루전 컬링(occlusion culling)과 프러스텀 컬링(frustum culling)https://docs.unity3d.com/Manual/OcclusionCulling 오쿨루전 컬링(occlusion culling)은 다른 오브젝트에 의해 가려진 오브젝트가 카메라에서 보여지지않을때 해당 오브젝트 렌더링을 불능화시키는 기능으로 드로우콜을 감소시키고 게임의 퍼포먼스를 향상시킬수있습니다. 오쿨루전 컬링은 3D 컴퓨터 그래픽스에서 자동으로 일어나지않습니다. 왜냐하면 대부분의 경우 카메라에서 가장 먼 오브젝트가 먼저 그려지고 더 가까운 오브젝트들은 그 위에 그려지기때문입니다(오버드로우) 프러스텀 컬링(frustum culling) 오쿨루전 컬링은 프러스텀 컬링과 구별됩니다...
유니티(Unity)에서 충돌 jitter를 개선하기 위한 물리 속성(physics)https://docs.unity3d.com/Manual/class-PhysicsManager.htmlBounce Threshold충돌한 두 콜라이더 오브젝트의 상대속도가 이 값보다 작으면 바운스를 일으키지않습니다. 이 값은 zitter를 개선할수있으며 너무 낮은 값으로 설정하는것을 권장하지않습니다.Default Contact Offset콜리전 감지 시스템이 충돌 접촉을 발생하기위해 사용하는 거리를 설정합니다. 값은 양수를 사용하고 0에 너무 가까운 값을 사용하면 jitter가 발생할수있습니다. 두 콜라이더의 거리가 접촉 오프셋 값(contact offset value)의 합보다 작을때만 충돌 접촉을 발생시킨다. 기본값..