OpenXR
OpenXR är en öppen royaltyfri API-standard från Khronos, vilket ger motorer intern åtkomst till en rad olika enheter i spektrumet för mixad verklighet.
Du kan utveckla med Hjälp av OpenXR på ett HoloLens 2 eller Windows Mixed Reality uppslukande VR-headset på skrivbordet. Om du inte har åtkomst till ett headset kan du använda HoloLens 2-emulatorn eller Windows Mixed Reality-simulatorn i stället.
Varför OpenXR?
Med OpenXR kan du skapa motorer som riktar sig till både holografiska enheter, till exempel HoloLens 2 och uppslukande VR-enheter, som Windows Mixed Reality headset för stationära datorer. Med OpenXR kan du skriva kod när det sedan är portabelt på en mängd olika maskinvaruplattformar.
OpenXR-API:et använder en inläsare för att ansluta ditt program direkt till headsetets interna plattformsstöd. Slutanvändarna får maximal prestanda och minsta svarstid, oavsett om de använder ett Windows Mixed Reality eller något annat headset.
Vad är OpenXR?
OpenXR-API:et tillhandahåller den grundläggande poseförutsägelse, ramtidsinställning och rumsliga indatafunktioner som du behöver för att skapa en motor som kan rikta in sig på både holografiska och uppslukande enheter.
Om du vill veta mer om OpenXR-API:et kan du titta på OpenXR 1.0-specifikationen, API-referensen och snabbreferensguiden. Mer information finns på sidan Khronos OpenXR.
För att rikta in dig på den fullständiga funktionsuppsättningen av HoloLens 2 använder du även openXR-tillägg mellan leverantörer och leverantörer som möjliggör ytterligare funktioner utöver OpenXR 1.0-kärnan, till exempel ledad handspårning, ögonspårning, rumslig mappning och rumsliga fästpunkter. Mer information finns i avsnittet Översikt nedan om de tillägg som kommer senare i år.
OpenXR är inte i sig en motor för mixad verklighet. I stället gör OpenXR det möjligt för motorer som Unity och Unreal att skriva portabel kod en gång som sedan kan komma åt de inbyggda plattformsfunktionerna i användarens holografiska eller uppslukande enhet, oavsett vilken leverantör som har skapat plattformen.
Översikt
OpenXR-specifikationen definierar en tilläggsmekanism som gör det möjligt för körningsimplementerare att exponera ytterligare funktioner utöver de kärnfunktioner som definieras i basspecifikationen för OpenXR 1.0.
Det finns tre typer av OpenXR-tillägg:
- Leverantörstillägg (till exempel
XR_MSFT_...
): Aktiverar innovation per leverantör i maskinvaru- eller programvarufunktioner. Alla körningsleverantörer kan när som helst introducera och skicka ett leverantörstillägg.- Experimentella leverantörstillägg (till exempel
XR_MSFTX_...
): Experimentella leverantörstillägg som förhandsgranskas för att samla in feedback.XR_MSFTX_...
tillägg gäller endast för utvecklarenheter och tas bort när det verkliga tillägget levereras. Om du vill experimentera med dem kan du aktivera förhandsgranskningstillägg på utvecklarenheten.
- Experimentella leverantörstillägg (till exempel
- Tillägg mellan
EXT
leverantörer: Tillägg mellan leverantörer som flera företag definierar och implementerar. Grupper av intresserade företag kan när som helst införa EXT-tillägg. - Officiella
KHR
tillägg: Officiella Khronos-tillägg som ratificerats som en del av en viktig specifikationsversion. KHR-tillägg omfattas av samma licens som själva kärnspecifikationen.
Windows Mixed Reality OpenXR Runtime stöder en uppsättning MSFT
och EXT
tillägg som ger den fullständiga uppsättningen HoloLens 2 funktioner till OpenXR-program:
Vissa av dessa tillägg kan börja som leverantörsspecifika MSFT
tillägg, men Microsoft och andra OpenXR-runtime-leverantörer arbetar tillsammans för att utforma leverantörsoberoende EXT
eller KHR
tillägg för många av dessa funktionsområden. Tillägg mellan leverantörer gör koden som du skriver för dessa funktioner portabel mellan körningsleverantörer, som med kärnspecifikationen.
Var kan du använda OpenXR?
Minecrafts nya RenderDragon-motor har byggt sitt skrivbords-VR-stöd med OpenXR!
Microsoft har arbetat med Unity och Epic Games för att säkerställa att framtiden för mixad verklighet är öppen, inte bara för HoloLens 2, utan över hela bredden av PC VR, inklusive HP:s nya Reverb G2-headset. OpenXR driver vr-stöd mellan leverantörer för större titlar som levereras idag, till exempel Minecraft och Microsoft Flight Simulator! Mer information om hur du utvecklar för HoloLens (första generationen) finns i viktig information.
Läs vidare om hur du kommer igång med OpenXR i Unity, Unreal Engine eller din egen motor!
OpenXR i Unity
Microsofts aktuella rekommenderade Unity-konfiguration för HoloLens 2 och Windows Mixed Reality utveckling är Unity 2020.3 LTS med Mixed Reality OpenXR-plugin-programmet. Det här plugin-programmet har stöd för OpenXR-tillägg som lyser upp alla funktioner i HoloLens 2 och Windows Mixed Reality headset, inklusive hand-/ögonspårning, spatiala fästpunkter och HP Reverb G2-styrenheter. MRTK-Unity stöder OpenXR från och med MRTK 2.7. Mer information om hur du kommer igång med Unity 2020 och OpenXR finns i Välja en Unity-version och XR-plugin-program.
Om du utvecklar för HoloLens (första generationen) måste du fortsätta att använda Unity 2019.4 LTS med den äldre WinRT API-serverdelen. Om du riktar in dig på den nya HP Reverb G2-kontrollanten i en Unity 2019-app kan du läsa våra HP Reverb G2-indatadokument.
Från och med Unity 2021.3 LTS är OpenXR den enda Unity-serverdelen som stöds för att rikta in sig på HoloLens 2 och Windows Mixed Reality headset.
OpenXR i Unreal Engine
Unreal Engine 4.23 var den första stora spelmotorn som släpptes för att leverera förhandsversionsstöd för OpenXR 1.0! Nu i Unreal Engine 4.26 finns stöd för HoloLens 2, Windows Mixed Reality och andra VR-skrivbordsheadset tillgängliga via Unreal Engines inbyggda OpenXR-stöd. Unreal Engine 4.26 stöder även Microsofts OpenXR-tilläggsplugin, vilket möjliggör handinteraktion och STÖD för HP Reverb G2-styrenhet, vilket lyser upp den fullständiga funktionsuppsättningen av HoloLens 2 och Windows Mixed Reality headset. Unreal Engine 4.26 finns idag på Epic Games Launcher, med MRTK-Unreal 0.12 som stöd för OpenXR-projekt.
OpenXR för intern utveckling
Du kan utveckla med OpenXR på en HoloLens 2 eller Windows Mixed Reality integrerande VR-headset på skrivbordet. Om du inte har tillgång till ett headset kan du använda HoloLens 2-emulatorn eller Windows Mixed Reality simulatorn i stället.
Om du vill börja utveckla OpenXR-program för HoloLens 2 eller Windows Mixed Reality VR-headset kan du läsa om hur du kommer igång med OpenXR-utveckling.
En genomgång av alla huvudkomponenter i OpenXR-API:et, tillsammans med exempel på verkliga program som använder OpenXR idag, finns i den här genomgångsvideon på 60 minuter: