[Unity XR] Meta XR CameraRig
OVRCameraRig
왼쪽과 오른쪽 눈의 포즈에서 앵커의 변환과 가상의 중심 시야를 유지하도록 돕는다.
유니티와 카메라 사이의 주요 인터페이스로 편안한 VR지원을 하도록 부착되어 있다.
Use Per Eye Cameras:왼쪽과 오른쪽 눈에 별도의 카메라를 사용할 때 쓰인다.
Use Fixed Update For Tracking:물리 충돌 고려해 FixedUpdate를 사용할 때 쓰인다.
OVRManager.display.appFramerate를 사용해 렌더링 프레임속도와 일치하지 않으면 앵커가 흔들리는 현상에 주의해야 한다.
Disable Eye Anchor Cameras: 눈 앵커를 비활성화한다. 이땐 게임의 메인 카메라가 VR렌더링을 제공하게 되고, Tracking space Anchor는 참조 Pose를 제공하기 위해 사용된다.
OVRManager Setting
VR하드웨어의 주요 인터페이스로 오큘러스 SDK를 유니티에 노출시키는 singleton이며 저장된 Meta변수를 사용해 카메라 동작을 구성하는데 도움을 준다.
모든 앱 객체의 일부가 되며 한 번만 선언되어야 한다.
Target Devices: 빌드할 디바이스를 선택한다.
Use Recommended MSAA Level: 디폴트 값으로 True값이다.
OVRManager가 메타 장치를 기반으로 적절한 MSAA레벨을 선택하도록 도와준다. MSAA레벨은 메타 퀘스트의 경우 4배로 설정된다. 현재 유니티 URP에서만 지원된다.
Monoscopic: True값으로 설정하면, 두 눈은 중앙 눈 포즈에서 렌더링 된 동일한 이미지를 보도록 설정한다. 로우엔드 장치에서 성능을 절약하는 기능이다.
VR에서는 현실감이 떨어지기 때문에 사용하지 않는 것이 좋다.
Min Dynamic Resolution Scale: 적응형 해상도에 대한 최소 경계 설정
Max Dynamic Resolution Scale: 적응형 해상도에 대한 최대 경계 설정
Head Pose Relative Offset Rotation:머리 포즈 상대 오프셋 회전을 설정
Head Pose Relative Offset Translation :머리 포즈 상대 오프셋 번역(?)을 설정
Profiler TCP Port: 앱의 편집기나 장치에서 실행될 때 실시간 시스템 지표를 보기 위해 사용
Tracking
Tracking Origin Type:추적 타입을 설정한다.
Eye Level:장치 위치와 관련된 위치와 방향을 추적
Floor Level:경계 설정을 통해 높이가 결정되는 바닥과 관련된 위치와 방향을 추적(주로 사용함)
Stage:바닥에 대한 위치와 방향을 추적한다. (Quest에서는 오류가 많이 나 보통 사용하진 않는다.)
Use Position Tracking: 활성화일 때, Head Tracking은 가상 카메라에 영향을 미친다.
Use IPD in Position Tracking: 활성화일 때, 사용자의 각 눈의 거리가 OVRCameraRig의 카메라 위치에 영향을 미친다.
Allow Recenter: VR에서 위치를 재설정하도록 허용해 준다. 즉, ViewReset을 통해 사용자가 이전에 지정된 장소로 이동된다. 위치 리셋으로 지정된 장소로 가는 걸 말하는 듯
LateControllerUpdate: RealWord와 가상 컨트롤러 움직임 사이의 대기시간을 줄이기 위해 렌더링 직전에 컨트롤러의 Pose를 업데이트할 때 사용한다.
출처:developer.oculus