OpenXR
OpenXR은 Khronos의 개방형 로열티 없는 API 표준으로, 혼합 현실 스펙트럼에서 다양한 디바이스에 대한 네이티브 액세스를 엔진에 제공합니다.
데스크톱의 HoloLens 2 또는 Windows Mixed Reality 몰입형 VR 헤드셋에서 OpenXR을 사용하여 개발할 수 있습니다. 헤드셋에 액세스할 수 없는 경우 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 확장도 사용합니다. 이를 통해 관절 손 추적, 시선 추적, 공간 매핑 및 공간 앵커와 같은 기능을 사용할 수 있습니다. 자세한 내용은 올해 말 확장에 대한 로드맵 섹션 을 참조하세요.
OpenXR 자체는 혼합 현실 엔진이 아닙니다. 대신, OpenXR을 사용하면 Unity 및 Unreal과 같은 엔진이 이식 가능한 코드를 한 번 작성할 수 있으며, 이 코드는 해당 플랫폼을 빌드한 공급업체에 관계없이 사용자의 홀로그램 또는 몰입형 디바이스의 네이티브 플랫폼 기능에 액세스할 수 있습니다.
로드맵
OpenXR 사양은 런타임 구현자가 기본 OpenXR 1.0 사양에 정의된 핵심 기능 이외의 다른 기능을 노출할 수 있도록 하는 확장 메커니즘을 정의합니다.
세 가지 종류의 OpenXR 확장이 있습니다.
- 공급업체 확장(예
XR_MSFT_...
: ): 하드웨어 또는 소프트웨어 기능에서 공급업체별 혁신을 가능하게 합니다. 모든 런타임 공급업체는 언제든지 공급업체 확장을 도입하고 제공할 수 있습니다. - 실험적 공급업체 확장(예
XR_MSFTX_...
: ): 피드백을 수집하기 위해 미리 보기 중인 실험적 공급업체 확장입니다.XR_MSFTX_...
확장은 개발자 디바이스 전용이며 실제 확장이 출시될 때 제거됩니다. 이를 실험하기 위해 개발자 디바이스에서 미리 보기 확장을 사용하도록 설정할 수 있습니다. - 공급업체
EXT
간 확장: 여러 회사에서 정의하고 구현하는 공급업체 간 확장입니다. 관심 있는 회사 그룹은 언제든지 EXT 확장을 도입할 수 있습니다. - 공식
KHR
확장: 핵심 사양 릴리스의 일부로 비준된 공식 크로노스 확장. KHR 확장은 핵심 사양 자체와 동일한 라이선스가 적용됩니다.
Windows Mixed Reality OpenXR 런타임은 OpenXR 애플리케이션에 HoloLens 2 기능의 전체 집합을 제공하는 일련의 MSFT
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에서 HoloLens 2, Windows Mixed Reality 및 기타 데스크톱 VR 헤드셋에 대한 지원은 Unreal Engine의 기본 제공 OpenXR 지원을 통해 사용할 수 있습니다. Unreal Engine 4.26은 Microsoft의 OpenXR 확장 플러그 인도 지원합니다. 이를 통해 손 조작 및 HP Reverb G2 컨트롤러가 지원되어 HoloLens 2 및 Windows Mixed Reality 헤드셋의 전체 기능 세트를 조명 할 수 있습니다. Unreal Engine 4.26은 현재 에픽게임즈 런처에서 사용할 수 있으며 MRTK-Unreal 0.12는 OpenXR 프로젝트를 지원합니다.
네이티브 개발을 위한 OpenXR
데스크톱의 HoloLens 2 또는 Windows Mixed Reality 몰입형 VR 헤드셋에서 OpenXR을 사용하여 개발할 수 있습니다. 헤드셋에 액세스할 수 없는 경우 HoloLens 2 에뮬레이터 또는 Windows Mixed Reality 시뮬레이터를 대신 사용할 수 있습니다.
HoloLens 2 또는 Windows Mixed Reality VR 헤드셋용 OpenXR 애플리케이션 개발을 시작하려면 OpenXR 개발을 시작하는 방법을 참조하세요.
현재 OpenXR을 사용하는 실제 애플리케이션 예제와 함께 OpenXR API의 모든 주요 구성 요소를 둘러보려면 다음 60분 연습 비디오를 확인하세요.