OpenXR로 개발

Android XR은 OpenXR 1.1 사양 및 일부 공급업체 확장 프로그램을 지원하여 OpenXR으로 빌드된 앱을 지원합니다. OpenXR은 다양한 XR 기기에서 공통 API 세트를 사용하여 몰입도 높은 양방향 환경을 만들 수 있는 개방형 표준입니다.

기능

Android XR은 OpenXR을 사용하여 XR 기기의 고유한 기능을 최대한 활용하는 앱을 빌드할 수 있는 기능을 지원합니다. 이러한 기능에는 다음이 포함됩니다.

위치 추적기
환경 내에서 평평한 표면을 식별하고 추적하여 실제 세계와 관련하여 가상 객체를 배치할 수 있는 기능인 평면 감지와 실제 객체 또는 위치에 연결할 수 있는 가상 참조점인 앵커를 지원합니다. 이를 통해 사용자가 이동하더라도 가상 콘텐츠가 정확하게 배치되고 방향을 유지할 수 있습니다.
Raycast하기
가상 광선과 장면의 객체 간의 교차점을 결정하는 데 사용되는 기법으로, 가상 요소 선택 및 조작과 같은 상호작용을 용이하게 합니다.
앵커 지속성
여러 세션에서 앵커를 저장하고 복원할 수 있는 기능으로, 환경 내에서 가상 콘텐츠를 지속적이고 일관되게 배치할 수 있습니다.
객체 추적
실제 환경에서 마우스, 키보드, 기타 객체를 추적하는 기능입니다.
심도 텍스처
카메라와 장면의 물체 사이의 거리에 관한 정보를 제공하여 더 사실적인 오클루전 및 상호작용 효과를 지원하는 깊이 맵 생성
패스 스루
실제 카메라 영상을 가상 콘텐츠와 혼합하여 실제 세계와 디지털 세계를 원활하게 결합하는 혼합 현실 환경을 만드는 기능입니다.
컴포지션 레이어 패스 스루
다각형 패스스루 컴포지션 레이어 컷아웃을 허용합니다. 실제 객체를 장면으로 가져오는 데 사용할 수 있습니다.
얼굴 추적
사용자 얼굴의 특징을 추적하여 더 사실적이고 표현력이 뛰어난 아바타와 가상 캐릭터를 만들 수 있는 기능입니다.
안구 추적
아바타의 눈 모양을 더 사실적으로 만들기 위해 설계된 사용자 눈의 위치와 방향을 제공합니다.
손 추적
사용자의 손 위치와 움직임을 추적하는 기능입니다.
손 메시
사용자의 손을 로우 폴리 메시로 정확하게 표현합니다. 최상의 성능을 제공하기 위해 플랫폼-애플리케이션 전송에 최적화되었습니다. 이는 바인드 포즈 및 블렌드 가중치를 사용하는 다른 확장 프로그램의 대안입니다.
조명 추정
사용자의 실제 조명 조건에 맞게 조명 모델에 사용됩니다.

지원되는 입력 장치

Android XR은 다음 입력 장치도 지원합니다.

손 상호작용
사용자가 동작과 손 움직임을 사용하여 가상 물체와 상호작용할 수 있도록 하기 위해 꼬집기, 스와이프, 가리키기와 같은 특정 손 동작을 인식합니다.
시선 상호작용
사용자의 눈 움직임을 추적하여 시선을 사용하여 가상 물체를 선택하고 상호작용할 수 있는 기능입니다.
6DoF 모션 컨트롤러
작업을 트리거하기 위한 D패드 및 버튼 바인딩과 함께 컨트롤러의 위치와 움직임을 추적하거나 애플리케이션 내에서 마우스 오버 이벤트를 추적하는 기능입니다.
마우스 상호작용
사용자가 3D 공간에서 마우스 포인터를 통해 객체와 상호작용할 수 있는 기능

지원되는 성능 기능

Android XR은 다음과 같은 성능 관련 기능을 지원합니다.

눈 추적 포비에이션
앱이 눈의 초점 위치에서만 더 높은 해상도 콘텐츠를 렌더링하도록 허용합니다.
공간 왜곡
속도 벡터와 깊이 텍스처 정보를 사용하여 사용자를 환경에 몰입시키는 데 필요한 프레임 속도를 효과적으로 높이는 트윈 프레임을 생성합니다.
실적 통계
현재 XR 기기, 컴포지터, XR 애플리케이션의 런타임에 Android XR 성능 측정항목을 제공합니다. 여기에는 CPU 프레임 시간, GPU 프레임 시간, GPU 사용률, CPU 주파수, 초당 프레임, 기타가 포함됩니다.

지원되는 기능 및 확장 프로그램의 전체 목록은 OpenXR 기능 개요를 참고하세요.

지원되는 엔진

Unity

OpenXR을 기반으로 빌드된 Android XR의 Unity 지원을 통해 개발자는 Unity 6를 사용하여 환경을 만들 수 있습니다. Unity 개요에서 Unity로 XR 앱을 빌드하는 방법을 자세히 알아보세요.