Roblox VR은 모든 VR 장치에 대한 백엔드로 OpenXR을 사용합니다. 이는 플랫폼에 구애받지 않는 구현을 의미하며, 게임이 Quest 및 PC VR 헤드셋에서 상호 작용할 수 있도록 합니다. PC VR 헤드셋에서 테스트하면 Quest 2에서도 유효해야 합니다. 최소한 Oculus 드라이버는 NVidia GTX1060 그래픽 카드 또는 동등한 사양을 요구합니다.
그래픽 품질 모드
Quest 2나 Quest Pro와 같은 독립형 VR 헤드셋에서 Roblox를 실행할 때는 편안한 성능 수준을 유지하는 것이 중요합니다. 프레임 속도가 떨어지면 사용자에게 불편을 초래할 수 있습니다. 이를 위해 Quest에서는 성능 데이터를 기반으로 렌더링 세부 정보를 자동으로 조정하여 최소 72프레임을 유지하는 것을 목표로 한 자동 품질 모드 설정이 제공됩니다.

Quest 2에서 게임을 테스트하고 자동 품질 모드가 켜져 있을 때 비주얼에 만족하지 못한다면, 게임을 더욱 최적화해 보시는 것이 좋습니다.
편안함 설정
사용자가 VR을 경험할 때, 카메라/위치의 움직임은 사용자가 보는 것과 신체 및 내이에서 감지되는 움직임의 절연으로 인해 불편함을 유발할 수 있습니다. Roblox는 모든 민감도 수준의 사용자가 몰입감 있고 편안한 VR 게임을 즐길 수 있도록 여러 설정을 제공합니다. 사용자는 편안함, 기본, 전문가 모드 외에도 다음 설정을 개별적으로 켜고 끌 수 있는 사용자 정의를 선택할 수 있습니다:
- 비네팅 — 움직임 중에 표시되는 오버레이로, 움직임 중 사용자의 주위 시야를 제한하고 카메라 텔레포트를 숨깁니다.
- 단계 회전 — 카메라가 1인칭 및 3인칭 카메라 모드에서 단계적 회전을 사용합니다 (다음 회전 위치로 텔레포트됨), 반면 컨트롤러로 카메라를 회전할 때는 부드러운 회전 모드를 사용합니다.
- 3인칭 고정 카메라 - 카메라가 공간에 고정되어 있으며 플레이어를 밀접하게 따르지 않습니다. 카메라는 플레이어를 시야에 유지하기 위해 텔레포트합니다.
추가 정보는 VR 메뉴 및 설정에서 확인할 수 있습니다.
카메라 모드
VR 우선 게임을 개발할 때, 기본 카메라 스크립트를 활용하거나 맞춤형 스크립트를 구현할 수 있습니다.
Roblox는 3인칭 편안 카메라, 1인칭 카메라 및 차량 카메라를 포함한 다양한 기본 카메라 옵션을 제공합니다. 이러한 카메라 모드는 PlayerScripts 내의 CameraModule의 자식 스크립트로 구현됩니다. 편안 메뉴 옵션 및 향후 "몰입" 기능에 대한 지원은 기본 스크립트와 함께 제공됩니다.
Roblox에서 제공하는 기본 스크립트를 활용하면 모든 새로운 기능 및 장치와의 호환성을 보장하는 지속적인 업데이트와 개선의 혜택을 누릴 수 있습니다. 이는 앞으로 보다 쉽고 지속 가능한 개발 프로세스를 제공할 가능성이 높습니다.
성능 팁
Quest 2와 같은 비고정 모바일 VR 장치는 저전력 칩셋에서 두 개의 개별 이미지를 렌더링하면서 높은 프레임 속도와 해상도를 목표로 합니다. 안정적이고 견고한 성능 수준을 달성하기 위해 그리기 거리를 줄이고 자동 그래픽 품질을 통해 조명 계산을 비활성화할 수 있습니다.
다음의 최선의 실천 방법이 더 높은 그래픽 설정으로 72프레임을 유지하는 데 도움이 될 수 있습니다:
- 인스턴스 스트리밍을 활성화하여 콘텐츠가 장치에서 동적으로 스트리밍되도록 합니다.
- 레이캐스팅과 같은 CPU 집약적인 계산을 과도하게 사용하지 않도록 주의합니다.
- RunService 프레임 업데이트보다 task.wait()를 사용하지 않는 것이 좋습니다. task.wait()는 RunService.Heartbeat에 연결하는 것에 비해 정확한 결과를 제공하지 않습니다.
- 모바일 VR은 많은 드로우 호출에 민감합니다. 환경을 효율적으로 구축하고, 중요하지 않은 곳에는 낮은 세부 사항을 추가하며 장면에서 사용되는 객체 수를 보수적으로 유지합니다.
- 사용자 정의 3D 메시를 만들 때 최대 실행 효율을 위해 가능한 한 적은 기하학적 구조를 사용하도록 노력합니다.
- 여러 개의 복잡한 SurfaceGuis는 렌더링과 CPU 측면에서 비용이 많이 들 수 있습니다.
- 키보드 누름에 의존하는 행동과 같이 플랫폼 종속 코드를 작성하지 마십시오. 대신 여러 소스에서 입력 바인딩을 지원하는 InputAction과 같은 객체를 사용하십시오.
- 예상 성능 및 비주얼 품질을 확보하기 위해 자주 테스트하고 반복하십시오. 가능하다면 Quest 2 헤드셋에 투자하십시오.