최적화 창 - MRTK2
MRTK 최적화 창은 Unity에서 최상의 성능을 위해 혼합 현실 프로젝트를 구성하는 과정에서 자동화하고 알리는 데 도움이 되는 유틸리티입니다. 이 도구는 일반적으로 올바른 사전 설정으로 설정하면 처리 시간(밀리초)을 절약할 수 있는 렌더링 구성에 중점을 둡니다.
참고
최적화 창은 Unity 편집기 위쪽 표시줄 메뉴에서 Mixed Reality>유틸성>최적화 창으로 이동하여 열 수 있습니다.
활성 빌드 대상은 현재 컴파일을 위해 프로젝트의 대상이 되는 빌드 플랫폼입니다.
성능 대상은 대상 디바이스 엔드포인트의 종류에 대한 최적화 도구를 지시합니다.
- AR 헤드셋은 HoloLens와 같은 모바일 클래스 디바이스입니다.
- VR 독립 실행형 은 오큘러스 고 또는 퀘스트와 같은 모바일 클래스 장치입니다.
- VR 테더드는 삼성 오디세이, 오큘러스 리프트 또는 HTC Vive 등과 같은 PC 기반 장치입니다.
최적화 설정
설정 최적화 탭에서는 Unity 프로젝트에 대한 몇 가지 중요한 렌더링 구성을 다룹니다. 이 섹션에서는 최상의 결과를 위해 변경해야 하는 설정을 자동화하고 알리는 데 도움이 될 수 있습니다.
녹색 검사 아이콘은 이 특정 설정에 대한 프로젝트/장면에서 최적 값이 구성되었음을 의미합니다. 노란색 경고 아이콘은 현재 구성을 개선할 수 있음을 나타냅니다. 지정된 섹션에서 연결된 단추를 클릭하면 Unity 프로젝트/장면에서 해당 설정을 더 최적의 값으로 자동 구성합니다.
단일 패스 인스턴스 렌더링
단일 패스 인스턴스 렌더링 은 혼합 현실 애플리케이션에 가장 효율적인 렌더링 경로입니다. 이 구성은 렌더링 파이프라인이 두 눈 모두에 대해 한 번만 실행되고 그리기 호출이 두 눈에서 인스턴스화되도록 합니다.
깊이 버퍼 공유
홀로그램 안정화를 개선하기 위해 개발자는 렌더링된 장면에서 안정화할 홀로그램의 위치와 내용에 대한 플랫폼 정보를 제공하는 애플리케이션의 깊이 버퍼를 공유할 수 있습니다.
깊이 버퍼 형식
또한 AR 헤드셋의 경우 24비트 대비 깊이 버퍼 공유를 사용하도록 설정할 때 16비트 깊이 형식을 활용하는 것이 좋습니다. 즉, 정밀도는 낮아지지만 성능은 절약됩니다. 픽셀의 깊이를 계산하는 데 정밀도가 낮기 때문에 z-fighting 이 발생하는 경우 먼 클립 평면 을 카메라에 더 가깝게 이동하는 것이 좋습니다(예: 1000m 대신 50m).
참고
16비트 깊이 형식을 사용하는 경우 Unity가 이 설정에서 스텐실 버퍼를 만들지 않으므로 스텐실 버퍼 필수 효과가 작동하지 않습니다. 반대로 24비트 깊이 형식 을 선택하면 일반적으로 엔드포인트 그래픽 플랫폼에 해당하는 경우 8비트 스텐실 버퍼가 생성됩니다.
스텐실 버퍼가 필요한 Mask 구성 요소를 사용하는 경우 스텐실 버퍼가 필요하지 않으므로 16비트 깊이 형식과 함께 사용할 수 있는 RectMask2D를 대신 사용하는 것이 좋습니다.
실시간 글로벌 조명
Unity의 실시간 글로벌 조명은 매우 높은 비용으로 환상적인 미적 결과를 제공할 수 있습니다. 글로벌 조명 조명은 혼합 현실에서 매우 비용이 많이 들기 때문에 개발에서 이 기능을 사용하지 않도록 설정하는 것이 좋습니다.
참고
Unity의 전역 조명 설정은 전체 프로젝트에서 한 번도 설정되지 않고 장면별로 설정됩니다.
장면 분석
장면 분석 탭은 현재 장면에 있는 요소가 성능에 가장 큰 영향을 미칠 수 있는 요소를 개발자에게 알리도록 설계되었습니다.
조명 분석
이 섹션에서는 현재 장면에 있는 조명 수와 그림자를 사용하지 않도록 설정해야 하는 모든 조명을 살펴봅니다. 그림자 캐스팅은 매우 비용이 많이 드는 작업입니다.
다각형 개수 분석
이 도구는 다각형 개수 통계도 제공합니다. 최적화를 대상으로 하는 지정된 장면에서 다각형 복잡성이 가장 높은 GameObject를 빠르게 식별하는 것이 매우 유용할 수 있습니다.
Unity UI 레이캐스트 분석
그래픽 레이캐스트 작업은 MRTK의 포인터별로 수행되어 Unity UI 요소가 포커스에 있는지 확인합니다. 이러한 레이캐스트는 비용이 많이 들 수 있으며 성능을 향상시키려면 결과에 반환할 필요가 없는 UI 요소를 광선 투사 대상으로 사용하지 않도록 설정해야 합니다. 모든 Graphic 요소에는 속성이 있습니다 Graphic.raycastTarget
. 이 도구는 이 속성을 사용하도록 설정하여 사용하지 않도록 설정할 가능성이 높은 텍스트 UI 요소를 검색합니다.
셰이더 분석
Unity 표준 셰이더는 게임에 대해 매우 높은 품질의 시각적 결과를 생성할 수 있지만 일반적으로 혼합 현실 애플리케이션의 성능 요구 사항에 가장 적합하지는 않습니다. 특히 이러한 애플리케이션은 일반적으로 GPU에 바인딩되어 있기 때문에 그렇습니다. 따라서 개발자는 MRTK 표준 셰이더 를 활용하여 미적 & 그래픽 기능과 성능의 균형을 맞추는 것이 좋습니다.
셰이더 분석 탭은 Unity 표준 셰이더를 사용하여 현재 프로젝트의 자산 폴더에서 재질을 검색하거나 원하는 경우 Mixed Reality 도구 키트 제공 셰이더를 사용하지 않는 모든 재질을 검색합니다. 발견되면 개발자는 모든 자료를 변환하거나 적절한 단추를 사용하여 개별적으로 변환할 수 있습니다.