OpenXR
OpenXR은 Khronos의 개방형 로열티 없는 API 표준으로, 혼합 현실 스펙트럼의 다양한 디바이스에 대한 기본 액세스를 엔진에 제공합니다.
HoloLens 2 OpenXR을 사용하여 개발하거나 데스크톱에서 몰입형 VR 헤드셋을 Windows Mixed Reality 수 있습니다. 헤드셋에 액세스할 수 없는 경우 HoloLens 2 에뮬레이터 또는 Windows Mixed Reality 시뮬레이터를 대신 사용할 수 있습니다.
OpenXR을 사용하는 이유
OpenXR을 사용하면 HoloLens 2 같은 홀로그램 디바이스와 데스크톱 PC용 Windows Mixed Reality 헤드셋과 같은 몰입형 VR 디바이스를 모두 대상으로 하는 엔진을 빌드할 수 있습니다. OpenXR을 사용하면 코드를 작성한 다음 광범위한 하드웨어 플랫폼에서 이식 가능한 코드를 작성할 수 있습니다.
OpenXR API는 로더를 사용하여 헤드셋의 네이티브 플랫폼 지원에 애플리케이션을 직접 연결합니다. 최종 사용자는 Windows Mixed Reality 사용하든 다른 헤드셋을 사용하든 최대 성능과 최소 대기 시간을 얻을 수 있습니다.
OpenXR이란?
OpenXR API는 홀로그램 및 몰입형 디바이스를 모두 대상으로 할 수 있는 엔진을 빌드하는 데 필요한 핵심 포즈 예측, 프레임 타이밍 및 공간 입력 기능을 제공합니다.
OpenXR API에 대해 알아보려면 OpenXR 1.0 사양, API 참조 및 빠른 참조 가이드를 검사. 자세한 내용은 Khronos OpenXR 페이지를 참조하세요.
HoloLens 2 전체 기능 집합을 대상으로 하려면 OpenXR 1.0 코어 이외의 추가 기능(예: 관절 손 추적, 시선 추적, 공간 매핑 및 공간 앵커)을 가능하게 하는 공급업체 간 및 공급업체별 OpenXR 확장도 사용합니다. 자세한 내용은 올해 하반기에 출시될 확장에 대한 아래 로드맵 섹션 을 참조하세요.
OpenXR 자체는 혼합 현실 엔진이 아닙니다. 대신, OpenXR을 사용하면 Unity 및 Unreal과 같은 엔진이 이식 가능한 코드를 한 번 작성하여 해당 플랫폼을 빌드한 공급업체와 관계없이 사용자의 홀로그램 또는 몰입형 디바이스의 네이티브 플랫폼 기능에 액세스할 수 있습니다.
로드맵
OpenXR 사양은 런타임 구현자가 기본 OpenXR 1.0 사양에 정의된 핵심 기능 이외의 추가 기능을 노출할 수 있도록 하는 확장 메커니즘을 정의합니다.
OpenXR 확장에는 다음과 같은 세 가지 종류가 있습니다.
- 공급업체 확장(예
XR_MSFT_...
: ): 하드웨어 또는 소프트웨어 기능에서 공급업체별 혁신을 가능하게 합니다. 모든 런타임 공급업체는 언제든지 공급업체 확장을 도입하고 제공할 수 있습니다.- 실험적 공급업체 확장(예
XR_MSFTX_...
: ): 피드백을 수집하기 위해 미리 보기 중인 실험적 공급업체 확장입니다.XR_MSFTX_...
확장은 개발자 디바이스 전용이며 실제 확장이 제공될 때 제거됩니다. 이를 실험하려면 개발자 디바이스에서 미리 보기 확장을 사용하도록 설정할 수 있습니다.
- 실험적 공급업체 확장(예
- 공급업체
EXT
간 확장: 여러 회사에서 정의하고 구현하는 공급업체 간 확장입니다. 관심 있는 회사 그룹은 언제든지 EXT 확장을 도입할 수 있습니다. - 공식
KHR
확장: 공식 크로노스 확장은 핵심 사양 릴리스의 일부로 비준되었습니다. KHR 확장에는 코어 사양 자체와 동일한 라이선스가 적용됩니다.
Windows Mixed Reality OpenXR 런타임은 OpenXR 애플리케이션에 MSFT
전체 HoloLens 2 기능 집합을 제공하는 및 EXT
확장 집합을 지원합니다.
이러한 확장 중 일부는 공급업체별 MSFT
확장으로 시작될 수 있지만 Microsoft 및 기타 OpenXR 런타임 공급업체는 이러한 많은 기능 영역에 대한 공급업체 EXT
간 또는 KHR
확장을 설계하기 위해 협력하고 있습니다. 공급업체 간 확장을 사용하면 핵심 사양과 마찬가지로 런타임 공급업체에서 이러한 기능에 대해 작성하는 코드를 이식할 수 있습니다.
OpenXR은 어디에서 사용할 수 있나요?
Minecraft의 새로운 RenderDragon 엔진은 OpenXR을 사용하여 데스크톱 VR 지원을 구축했습니다!
Microsoft는 Unity 및 Epic Games와 협력하여 HoloLens 2 뿐만 아니라 HP의 새로운 Reverb G2 헤드셋을 포함한 PC VR의 전체 범위에 걸쳐 혼합 현실의 미래가 열려 있는지 확인합니다. OpenXR은 Minecraft 및 Microsoft Flight Simulator와 같은 주요 타이틀에 대한 공급업체 간 VR 지원을 제공합니다. HoloLens(1세대)용 개발에 대한 자세한 내용은 릴리스 정보를 참조하세요.
Unity, Unreal Engine 또는 자체 엔진에서 OpenXR을 시작하는 방법을 알아보려면 다음을 읽어보세요.
Unity의 OpenXR
HoloLens 2 및 Windows Mixed Reality 개발에 권장되는 Microsoft의 현재 권장 Unity 구성은 Mixed Reality OpenXR 플러그 인이 있는 Unity 2020.3 LTS입니다. 이 플러그 인에는 손/시선 추적, 공간 앵커 및 HP Reverb G2 컨트롤러를 포함하여 HoloLens 2 및 Windows Mixed Reality 헤드셋의 전체 기능을 밝히는 OpenXR 확장에 대한 지원이 포함되어 있습니다. MRTK-Unity MRTK 2.7을 기준으로 OpenXR을 지원합니다. Unity 2020 및 OpenXR을 시작하는 방법에 대한 자세한 내용은 Unity 버전 및 XR 플러그 인 선택을 참조하세요.
HoloLens(1세대)용으로 개발하는 경우 레거시 WinRT API 백 엔드와 함께 Unity 2019.4 LTS 를 계속 사용해야 합니다. Unity 2019 앱에서 새 HP Reverb G2 컨트롤러를 대상으로 하는 경우 HP Reverb G2 입력 문서를 참조하세요.
Unity 2021.3 LTS부터 OpenXR은 HoloLens 2 및 Windows Mixed Reality 헤드셋을 대상으로 하는 유일한 지원 Unity 백 엔드가 됩니다.
Unreal Engine의 OpenXR
Unreal Engine 4.23은 OpenXR 1.0에 대한 미리 보기 지원을 출시한 최초의 주요 게임 엔진 릴리스입니다. 이제 Unreal Engine 4.26에서는 Unreal Engine의 기본 제공 OpenXR 지원을 통해 HoloLens 2, Windows Mixed Reality 및 기타 데스크톱 VR 헤드셋에 대한 지원을 사용할 수 있습니다. Unreal Engine 4.26은 또한 Microsoft의 OpenXR 확장 플러그 인을 지원하여 손 상호 작용 및 HP Reverb G2 컨트롤러 지원을 지원하여 HoloLens 2 및 Windows Mixed Reality 헤드셋의 전체 기능 집합을 조명합니다. Unreal Engine 4.26은 현재 Epic Games Launcher에서 사용할 수 있으며 MRTK-Unreal 0.12는 OpenXR 프로젝트를 지원합니다.
네이티브 개발을 위한 OpenXR
HoloLens 2 OpenXR을 사용하여 개발하거나 데스크톱에서 몰입형 VR 헤드셋을 Windows Mixed Reality 수 있습니다. 헤드셋에 액세스할 수 없는 경우 HoloLens 2 에뮬레이터 또는 Windows Mixed Reality 시뮬레이터를 대신 사용할 수 있습니다.
HoloLens 2 또는 Windows Mixed Reality VR 헤드셋용 OpenXR 애플리케이션 개발을 시작하려면 OpenXR 개발을 시작하는 방법을 참조하세요.
현재 OpenXR을 사용하는 실제 애플리케이션의 예제와 함께 OpenXR API의 모든 주요 구성 요소를 둘러보려면 다음 60분 연습 비디오를 검사.