OpenXR
OpenXR is een open, gratis API-standaard van Khronos,die engines native toegang biedt tot een reeks apparaten in mixed reality spectrum.
U kunt ontwikkelen met behulp van OpenXR op een HoloLens 2 of Windows Mixed Reality in immersieve VR-headset op het bureaublad. Als u geen toegang hebt tot een headset, kunt u in plaats daarvan de HoloLens 2 Emulator of Windows Mixed Reality Simulator gebruiken.
Waarom OpenXR?
Met OpenXR kunt u engines bouwen die zijn gericht op zowel holografische apparaten, zoals HoloLens 2, als in immersieve VR-apparaten, zoals Windows Mixed Reality headsets voor desktop-pc's. Met OpenXR kunt u code schrijven zodra deze vervolgens overdraagbaar is op een breed scala aan hardwareplatforms.
De OpenXR-API maakt gebruik van een loader om uw toepassing rechtstreeks te verbinden met de systeemeigen platformondersteuning van uw headset. Eindgebruikers krijgen maximale prestaties en minimale latentie, ongeacht of ze een Windows Mixed Reality of een andere headset gebruiken.
Wat is OpenXR?
De OpenXR-API biedt de kernfunctionaliteit voor houdingsvoorspelling, frametijd en ruimtelijke invoer. U moet een engine bouwen die zowel op holografische als in immersieve apparaten kan worden gericht.
Raadpleeg de OpenXR 1.0-specificatie, API-verwijzingen snelzoekgids voor meer informatie over de OpenXR-API. Zie de Khronos OpenXR-pagina voor meer informatie.
Als u zich wilt richten op de volledige functieset van HoloLens 2, gebruikt u ook leverancierspecifieke OpenXR-extensies die aanvullende functies buiten de OpenXR 1.0-kern mogelijk maken, zoals handtracking, oogtracking, ruimtelijke toewijzing en ruimtelijke ankers. Zie de sectie Roadmap hieronder over de extensies die later dit jaar beschikbaar komen voor meer informatie.
OpenXR is zelf geen mixed reality engine. In plaats daarvan stelt OpenXR engines zoals Unity en Unreal in staat om draagbare code te schrijven zodra deze toegang heeft tot de systeemeigen platformfuncties van het holografische of ingebouwde apparaat van de gebruiker, ongeacht de leverancier die dat platform heeft gebouwd.
Roadmap
De OpenXR-specificatie definieert een uitbreidingsmechanisme waarmee runtime-implementaties extra functionaliteit beschikbaar kunnen maken buiten de kernfuncties die zijn gedefinieerd in de OpenXR 1.0-basisspecificatie.
Er zijn drie soorten OpenXR-extensies:
- Leveranciersextensies (bijvoorbeeld ): hiermee kunt u innovatie per leverancier in hardware- of softwarefuncties mogelijk maken. Elke runtimeleverancier kan op elk moment een leverancierextensie introduceren en verzenden.
- Experimentele leveranciersextensies (bijvoorbeeld ): er wordt een voorbeeld van experimentele leveranciersextensies weergegeven om feedback te verzamelen.
MSFT_previewextensies zijn alleen voor apparaten van ontwikkelaars en worden verwijderd wanneer de echte extensie wordt geleverd. Als u mee wilt experimenteren, kunt u preview-extensies inschakelen op uw ontwikkelaarsapparaat.
- Experimentele leveranciersextensies (bijvoorbeeld ): er wordt een voorbeeld van experimentele leveranciersextensies weergegeven om feedback te verzamelen.
- Extensies voor meerdere leveranciers: extensies voor meerdere leveranciers die meerdere bedrijven definiëren en implementeren. Groepen geïnteresseerde bedrijven kunnen EXT-extensies op elk moment introduceren.
- Officiële extensies: Officiële Khronos-extensies die zijn uitgebreid als onderdeel van een kernspecificatie. KHR-extensies vallen onder dezelfde licentie als de kernspecificatie zelf.
De Windows Mixed Reality OpenXR Runtime ondersteunt een set extensies en die de volledige MSFTEXT set HoloLens 2-functies naar OpenXR-toepassingen brengt:
Hoewel sommige van deze extensies kunnen worden gebruikt als leverancierspecifieke extensies, werken Microsoft en andere MSFT OpenXR-runtimeleveranciers samen om verschillende leveranciers of extensies te ontwerpen voor veel van deze EXTKHR functiegebieden. Extensies van verschillende leveranciers zorgen ervoor dat de code die u schrijft voor deze functies overdraagbaar is voor runtimeleveranciers, zoals de kernspecificatie al heeft.
Waar kunt u OpenXR gebruiken?

Minecraft nieuwe RenderDragon-engine heeft de VR-ondersteuning voor desktops gebouwd met behulp van OpenXR!
Microsoft werkt samen met Unity en Epic Games om ervoor te zorgen dat de toekomst van mixed reality open is, niet alleen voor HoloLens 2, maar in de volledige breedte van PC VR, met inbegrip van de nieuwe Unity G2-headsetvan HP. Met OpenXR wordt de CROSS-vendor VR-ondersteuning voor de verzending van belangrijke titels mogelijk gemaakt, zoals Minecraft en Microsoft Flight Simulator! Zie de opmerkingen bij de release voor meer informatie over HoloLens (eerste generatie).
Lees verder voor meer informatie over hoe u aan de slag kunt gaan met OpenXR in Unity, De Engine van Unity of uw eigen engine.
OpenXR in Unity
Microsoft's huidige aanbevolen Unity-configuratie voor HoloLens 2 en Windows Mixed Reality-ontwikkeling is Unity 2020.3 LTS met de meest recente Mixed Reality OpenXR-invoegvoeghoek. Deze invoegtekst bevat ondersteuning voor de OpenXR-extensies die de volledige mogelijkheden van HoloLens 2- en Windows Mixed Reality headsetsbelichten, waaronder hand-/oogtracking, ruimtelijke ankers en HP- En Hp-hp-controllers voor de M2. MRTK-Unity ondersteuning voor OpenXR vanaf MRTK 2.7. Zie Choosing a Unity version and XR plugin(Een Unity-versie en XR-invoegversie kiezen) voor meer informatie over hoe u aan de slag gaat met Unity 2020 en OpenXR.
Als u ontwikkelt voor HoloLens (1e generatie), moet u Unity 2019.4 LTS blijven gebruiken met de verouderde WinRT API-back-end. Als u zich in een Unity 2019-app richt op de nieuwe HPTarget G2-controller, bekijkt u onze HP-invoer docs voor De hp-versie G2.
Vanaf Unity 2021.2is OpenXR de enige ondersteunde Unity-back-en-HoloLens 2 en Windows Mixed Reality headsets.
OpenXR in Unreal Engine
Unreal Engine 4.23 was de eerste belangrijke release van de game-engine voor het verzenden van preview-ondersteuning voor OpenXR 1.0! Ondersteuning voor HoloLens 2, Windows Mixed Reality en andere DESKTOP VR-headsets is nu beschikbaar in Reality Engine 4.26via de ingebouwde OpenXR-ondersteuning van De engine van Unreal Engine. Unreal Engine 4.26 biedt ook ondersteuning voor de Microsoft OpenXR-extensie-invoegvoegfunctie, waardoor handinteractie en ONDERSTEUNING voor HP Interaction G2-controller mogelijk worden, waardoor de volledige functieset van HoloLens 2 en Windows Mixed Reality headsets wordt belicht. Unreal Engine 4.26 is nu beschikbaar op epic Games Launcher,met ondersteuning MRTK-Unreal 0.12 voor OpenXR-projecten.
OpenXR voor native ontwikkeling
U kunt ontwikkelen met behulp van OpenXR op een HoloLens 2 of Windows Mixed Reality in immersieve VR-headset op het bureaublad. Als u geen toegang hebt tot een headset, kunt u in plaats daarvan de HoloLens 2 Emulator of Windows Mixed Reality Simulator gebruiken.
Zie Aan de slag met OpenXR-ontwikkelingom te beginnen met het ontwikkelen van OpenXR-toepassingen voor HoloLens 2 of Windows Mixed Reality VR-headsets.
Bekijk deze walkthrough-video van 60 minuten voor een rondleiding door alle belangrijke onderdelen van de OpenXR-API, samen met voorbeelden van de echte toepassingen die vandaag gebruikmaken van OpenXR: