유니티 Oculus XR Plugin에 대해

Windows standalone settings

  • Stereo Rendering Mode - Multi Pass 또는 Single Pass Instanced 렌더링 모드를 선택할 수 있습니다.

Multi Pass 또는 Single Pass Instanced에 대해서는 언급한 적이 있으니 해당 포스트를 보고 오시길 추천드립니다!

 

유니티 Multi Pass와 Single Pass Instanced/Multi View에 대해

VR작업을 하다보면 초반 세팅하는 부분에 한 번씩쯤 다들 봤을 것입니다. Rendering Mode에 보면 Multi Pass와 Single Pass Instanced , 모바일의 경우 Multi View가 존재합니다. 이 3개의 차이는 아래 표와 같습니

wlsdn629.tistory.com

  • Shared Depth Buffer - Depth Buffer 사용 지원을 활성화하거나 비활성화할 수 있습니다. Oculus가 Unity 어플리케이션 위에 Oculus Dash 및 기타 유틸리티를 합성할 수 있는 공통으로 사용되는 Depth Buffer를 사용할 수 있습니다. 
  • Dash Support - Dash 지원을 활성화 혹은 비활성화 할 수 있습니다. (Dash가 뭔지는 모르겠네요..)

Android settings

  • Stereo Rendering Mode - Multi Pass 또는 Multiview   렌더링 모드를 선택할 수 있습니다.

이거 또한, 위 포스트를 참고해주세요!

  • Low Overhead Mode - 이 옵션을 활성화 하면 GLES 그래픽 드라이버는 유효성 검사 코드를 우회하여 더 빨리 실행(그래픽 작업이 빨라지기 때문에)될 수 있습니다. 하지만, 그래픽 불안정성이 발생하는 경우 해당 옵션을 사용하면 안됩니다. 이 옵션은 그래픽 렌더링에서 발생하는 부하를 줄이고 속도를 향상시키는 기능입니다.

 

  • Optimize Buffer Discards - 이 옵션이 활성화 되면 MSAA 색상 Buffer의 처리 방식을 변경하여 성능을  최적화 시킬 수있습니다. 이 옵션이 켜져 있으면 MSAA는 렌더링 후에 Depth Buffer의 대한 내용을 Buffer에 저장하는 대신 렌더링 후 즉시 데이터를 확인(처리)하는 방법을 거치므로 메모리와 처리 리소스를 절약할 수 있습니다. 이로 인해 성능이 향상될 수 있지만 Depth Buffer의 샘플링에 의존하는 렌더링 효과가 잠재적으로 중단될 수도 있습니다.

 

  • Phase Sync - 몇 ms의 시뮬레이션 Latency를 줄일 수 있는 최적화 기술입니다. Oculus Open XR 런타임을 사용할 때는 항상 활성화된다고 합니다. 이 기술을 활성화하면 사용자의 시뮬레이션 입력값에 대한 가상공간에서의 움직임 적용할 때 까지 걸리는 대기 시간이 줄어든다고 생각하면 됩니다. 

 

  • Symmetric Projection - 대칭 투영을 활성화하면 어플리케이션을 대칭 투영 행렬로 렌더링할 수 있게 됩니다. Multiview와 Vulkan을 사용할 때만 사용이 가능한 기술입니다. Multiview는 두 개의 눈을 동시에 렌더링 하는 기술인데 이때, 왼쪽 눈과 오른 쪽 눈 간의 렌더링 작업부하가 일반적으로 다릅니다. 이때 대칭 투영 행렬로 렌더링하게 된다면 비교적 두 눈 간의 작업 부하가 일반적으로 될 수 있도록 렌더링되어 GPU 성능을 향상시킬 수 있습니다. 

 

  • Subsampled Layout - 이 기능을 활성화 하면 Snow(?) 텍스처를 하위 샘플링 레이아웃을 사용하게 됩니다. 이 기능은 FFR과 함께 사용할 때만 추천하며, Vulkan 전용입니다. FFR은 아래서 다시 설명합니다. 이 기능은 FFR 레벨 2이상 사용할 경우에만 추천되며, 이때는 GPU 성능을 향상시킴과 동시에 FFR의 시각적인 아티팩트를 줄일 수있게됩니다. 흠... Snow Texture가 왜 나온 것일까요?🧐  

 

  • Foveated Rendering Method - 어떤 Foveated Rendering를 선택할 것인지에 대한 방법 
    • Fixed Foveated Rendering - 고정된 Pattern으로 이미지를 Foveated(사용자 시야[FOV] 주변 영역의 디테일 수준 [LOD]을 줄여 렌더링 성능을 최적화 하는 기법)합니다.
    • Eye Tracked Foveated Rendering - 사용자의 눈(시야)를 추적하여 시선에 따라 이미지를 Foveated합니다. 이 방법은 사용자의 시야에 따라 동적으로 이미지를 조정하므로 더 효율적인 Foveated방식을 제공하지만, 퀘스트 프로와 같은 특정 장치에서만 지원됩니다. 또한, Vulkan, Multiview, ARM64의 환경에서만 작동합니다.

Foveated : 선명하지 않은 시야 영역이란 뜻

 

  • Enable TrackingOrigin Stage Mode - 이 옵션을 활성화하면 Tracking Origin State가 "Floor"로 설정된 경우 시스템을 Re-Center해도 사용자의 눈높이가 변경되지 않고 일정한 위치(눈높이)를 유지합니다.

 

  • Depth Submission - 이 옵션을 활성화하면Oculus 모바일 플랫폼에서 Layer간의 Depth Buffer 테스트를 가능하게 해줍니다. Depth Buffer 테스트는 다양한 Layer가 겹쳐져 있는 경우 올바른 렌더링 순서를 보장하기 위해 사용되며, 레이러를 더 정확하게 렌더링하고 시각적인 깊이와 현실감을 향상시키는데 도움이 될 수 있습니다. 

 

  • System Splash Screen - 이 옵션을 활성화 하면 앱이 시작될 때 화면에 나타나는 이미지를 표시할 수 있습니다. PNG파일 형식으로 이미지가 제공되어야 하며 Assets 폴더 내에 저장되어야 합니다.

 

  • Late Latching - 이 기능을 사용하면 렌더링하기 직전까지 가능한 늦게 Head & Controller Pose를 업데이트함으로써 추적된 렌더링 지연 시간을 최소화시킬수있습니다.  이렇게 하면 사용자 입장에서는 가상공간에 표시된 나의 Head와 Controller가 현실세계의 나의 Head와 Hand에 최대한 비슷하게 Position이 유지된다고 생각하면됩니다. 이 기능은 Vulkan에서만 사용이 가능합니다. 

 

  • Late Latching Debug Mode - Late Latching이 올바르게 작동하는지 확인할 수있으며, 개발용 빌드에서만 활성화됩니다.  

 

  • Application SpaceWarp - 이 기능은 전에 설명드렸던 적이 있어서 해당 글 보시면되겠습니다! 
 

유니티 VR Application SpaceWarp을 이용하여 최적화하자! # AppSW

Application SpaceWarp란? Application SpaceWarp는 애플리케이션이 실제 디스플레이 갱신 속도의 절반으로 렌더링하도록 허용합니다. 예를 들어, 기존 72 FPS으로 돌아가던 애플리케이션의 FPS를 36으로 렌더

wlsdn629.tistory.com