Megosztás a következőn keresztül:


OpenXR

OpenXR embléma

Az OpenXR egy nyílt jogdíjmentes API-szabvány a Khronostól, amely natív hozzáférést biztosít a motoroknak a vegyes valóság spektrumában található eszközök széles köréhez.

Az OpenXR használatával holoLens 2 vagy Windows Mixed Reality modern VR headseten fejleszthet az asztalon. Ha nem fér hozzá headsethez, használhatja helyette a HoloLens 2 Emulatort vagy a Windows Mixed Reality szimulátort.

Miért az OpenXR?

Az OpenXR segítségével olyan motorokat hozhat létre, amelyek mind a holografikus eszközöket, például a HoloLens 2-t, mind a modern VR-eszközöket célba vehetik, például asztali számítógépekhez készült Windows Mixed Reality headseteket. Az OpenXR lehetővé teszi, hogy olyan kódot írjon, amely aztán a hardverplatformok széles körében hordozható.

Az OpenXR API egy betöltővel csatlakoztatja az alkalmazást közvetlenül a headset natív platformtámogatásához. A végfelhasználók maximális teljesítményt és minimális késést kapnak, függetlenül attól, hogy Windows Mixed Realityt vagy más headsetet használnak.

Mi az OpenXR?

Az OpenXR API biztosítja az alapvető póz-előrejelzést, a keretidőzítést és a térbeli bemeneti funkciókat, amelyekre egy olyan motor létrehozásához van szükség, amely holografikus és modern eszközöket is megcélz.

Az OpenXR API-val kapcsolatos információkért tekintse meg az OpenXR 1.0 specifikációját, az API-referenciát és a rövid útmutatót. További információt a Khronos OpenXR oldalán talál.

A HoloLens 2 teljes funkciókészletének megcélzásához szállítók közötti és szállítóspecifikus OpenXR-bővítményeket is használhat. Ezek olyan funkciókat tesznek lehetővé, mint a csuklós kézkövetés, a szemkövetés, a térbeli leképezés és a térbeli horgonyok. További információkért tekintse meg az ütemterv szakaszt az év későbbi részében megjelenő bővítményekről.

Az OpenXR nem maga a vegyes valóság motorja. Ehelyett az OpenXR lehetővé teszi az olyan motorok számára, mint a Unity és az Unreal, hogy egyszer hordozható kódot írjanak, amelyek ezután hozzáférhetnek a felhasználó holografikus vagy modern eszközének natív platformfunkcióihoz, bármilyen gyártó is építette ezt a platformot.

Ütemterv

Az OpenXR specifikáció egy olyan bővítménymechanizmust határoz meg, amely lehetővé teszi, hogy a futtatókörnyezet implementálói az Alap OpenXR 1.0-specifikációban meghatározott alapvető funkciókon kívül más funkciókat is elérhetővé tegyenek.

Háromféle OpenXR-bővítmény létezik:

  • Szállítói bővítmények (például XR_MSFT_...): Lehetővé teszi a szállítónkénti innovációt a hardver- vagy szoftverfunkciókban. Bármely futtatókörnyezet-gyártó bármikor be tud vezetni és szállíthat egy szállítói bővítményt.
  • Kísérleti szállítói bővítmények (például XR_MSFTX_...): A kísérleti szállítói bővítmények előzetes verzióban jelennek meg, hogy visszajelzést gyűjtsenek. XR_MSFTX_... a bővítmények csak a fejlesztői eszközökhöz tartoznak, és a valódi bővítmények használatakor el lesznek távolítva. Ha kísérletezni szeretne velük, engedélyezheti az előzetes verziójú bővítményeket a fejlesztői eszközön.
  • Szállítók EXT közötti bővítmények: Több vállalat által definiált és implementálható, szállítók közötti bővítmények. Az érdekelt vállalatok csoportjai bármikor bevezethetnek EXT-bővítményeket.
  • Hivatalos KHR bővítmények: Hivatalos Khronos-bővítmények, amelyet egy alapvető specifikáció kiadásának részeként ratifikáltak. A KHR-bővítményekre ugyanaz a licenc vonatkozik, mint maga az alapvető specifikáció.

A Windows Mixed Reality OpenXR-futtatókörnyezet támogatja a HoloLens 2 funkcióinak teljes készletét MSFT EXT az OpenXR-alkalmazásokhoz:

Szolgáltatásterület Bővítmények rendelkezésre állása
Rendszerek + munkamenetek OpenXR 1.0 mag specifikáció:
XrInstance, , XrSystemIdXrSession
Referenciahelyek (nézet, helyi, szakasz) OpenXR 1.0 mag specifikáció:
XrSpace
Konfigurációk megtekintése (mono, sztereó) OpenXR 1.0 mag specifikáció:
XrView...
Swapchains + keret időzítése OpenXR 1.0 mag specifikáció:
XrSwapchain... + xrWaitFrame
Kompozíciós rétegek
(vetítés, quad)
OpenXR 1.0 mag specifikáció:
XrCompositionLayer... + xrEndFrame
Bemenet és haptik OpenXR 1.0 mag specifikáció:
XrAction...
Direct3D 11/12 integráció Hivatalos KHR bővítmények megjelentek:
XR_KHR_D3D11_enable
XR_KHR_D3D12_enable
Kötetlen referenciatér
(világszintű élmények)
MSFT kiadott bővítmény:
XR_MSFT_unbounded_reference_space
Térbeli horgonyok

MSFT kiadott bővítmény:
XR_MSFT_spatial_anchor

MSFT 108-ban kiadott bővítmény: (csak HoloLens 2)
XR_MSFT_spatial_anchor_persistence

Kéz interakciója
(markolat/cél póz, légcsapás, fogás)

Csak HoloLens 2

MSFT kiadott bővítmény:
XR_MSFT_hand_interaction
Kézi artikuláció + kézháló

Csak HoloLens 2

EXT kiadott bővítmény:
XR_EXT_hand_tracking

MSFT kiadott bővítmény:
XR_MSFT_hand_tracking_mesh

Szem tekintete

Csak HoloLens 2

EXT kiadott bővítmény:
XR_EXT_eye_gaze_interaction
Vegyes valóság rögzítése
(harmadik renderelés PV kamerából)

Csak HoloLens 2

MSFT kiadott bővítmények:
XR_MSFT_secondary_view_configuration
XR_MSFT_first_person_observer
Mozgásvezérlő interakciós profiljai
(Samsung Odyssey és HP Reverb G2)
MSFT a runtime 103-ban kiadott bővítmények:
XR_EXT_samsung_odyssey_controller
XR_EXT_hp_mixed_reality_controller
Mozgásvezérlő renderelési modelljei MSFT a 104-ben kiadott bővítmény:
XR_MSFT_controller_model
Jelenetfelismerés (síkok, hálók)

Csak HoloLens 2

MSFT a 106-os futtatókörnyezetben kiadott bővítmény:
XR_MSFT_scene_understanding
XR_MSFT_scene_understanding_serialization
Jelenetjelölő (QR-kódok)

Csak HoloLens 2

MSFT 113-ban kiadott bővítmény:
XR_MSFT_scene_marker
Összetételi réteg újraprojectioni módjai
(auto-planar vagy orientation-only reprojection)
MSFT a 106-os futtatókörnyezetben kiadott bővítmény:
XR_MSFT_composition_layer_reprojection
Együttműködés más Mixed Reality SDK-kkal
(például: QR)
MSFT kiadott bővítmény:
XR_MSFT_spatial_graph_bridge
Együttműködés az UWP CoreWindow API-val
(például billentyűzet/egér esetén)
MSFT a runtime 103-ban kiadott bővítmény:
XR_MSFT_holographic_window_attachment
Együttműködés az örökölt Mixed Reality WinRT API-kkal
(például : SpatialAnchorTransferManager)

MSFT a 105-ös futtatókörnyezetben kiadott bővítmény:
XR_MSFT_perception_anchor_interop

Egyéb szállítók közötti bővítmények

Hivatalos KHR bővítmények megjelentek:
XR_KHR_composition_layer_depth
XR_KHR_visibility_mask
XR_KHR_win32_convert_performance_counter_time
XR_KHR_composition_layer_color_scale_bias

EXT kiadott bővítmények:
XR_EXT_win32_appcontainer_compatible
XR_EXT_debug_utils

Bár ezen bővítmények némelyike gyártóspecifikus MSFT bővítményként indulhat el, a Microsoft és más OpenXR futtatókörnyezeti gyártók együttműködve terveznek több gyártót EXT vagy KHR bővítményt ezen funkciók számos területén. A szállítók közötti bővítmények az alapvető specifikációhoz hasonlóan hordozhatóvá teszik az adott funkciókhoz írt kódot a futtatókörnyezet-gyártók között.

Hol használható az OpenXR?

Képernyőkép a Minecraftról, amikor egy felhasználó vegyes valóságú headsetet visel

A Minecraft új RenderDragon motorja az OpenXR használatával hozta létre asztali VR-támogatását!

A Microsoft együttműködik a Unity és az Epic Gamesszel annak érdekében, hogy a vegyes valóság jövője ne csak a HoloLens 2 esetében legyen nyitva, hanem a PC VR teljes területén, beleértve a HP új Reverb G2 headsetjét is. Az OpenXR a szállítók közötti VR-támogatást nyújtja a mai fő címek szállításához, például a Minecrafthoz és a Microsoft Flight Simulatorhoz! A HoloLens (1. generációs) fejlesztéséről további információt a kibocsátási megjegyzésekben talál.

Ha szeretné megtudni, hogyan kezdheti el az OpenXR-t a Unityben, az Unreal Engine-ben vagy a saját motorjában, olvassa el a következőt:

OpenXR a Unityben

A Microsoft jelenleg ajánlott Unity-konfigurációja a HoloLens 2 és a Windows Mixed Reality fejlesztéséhez a Unity 2020.3 LTS a Mixed Reality OpenXR beépülő modullal. Ez a beépülő modul támogatja az OpenXR bővítményeket, amelyek a HoloLens 2 és a Windows Mixed Reality headsetek teljes képességeit felvilágosítják, beleértve a kéz- és szemkövetést, a térbeli horgonyokat és a HP Reverb G2 vezérlőket. Az MRTK-Unity az MRTK 2.7-ből támogatja az OpenXR-t. A Unity 2020 és az OpenXR használatának megkezdéséről további információt a Unity verzió és az XR beépülő modul kiválasztása című témakörben talál.

Ha a HoloLenshez (1. generációs) fejleszt, akkor továbbra is a Unity 2019.4 LTS-t kell használnia az örökölt WinRT API-háttérrendszerrel. Ha egy Unity 2019-alkalmazásban az új HP Reverb G2 vezérlőt célozza meg, tekintse meg a HP Reverb G2 bemeneti dokumentumainkat.

A Unity 2021.3 LTS-től kezdve az OpenXR az egyetlen támogatott Unity-háttérrendszer a HoloLens 2 és a Windows Mixed Reality headsetek célzásához.

OpenXR az Unreal Engine-ben

Az Unreal Engine 4.23 volt az első nagyobb játékmotor-kiadás, amely az OpenXR 1.0 előzetes verziójának támogatását biztosította! Az Unreal Engine 4.26-ban a HoloLens 2, a Windows Mixed Reality és más asztali VR headsetek támogatása az Unreal Engine beépített OpenXR-támogatásával érhető el. Az Unreal Engine 4.26 a Microsoft OpenXR bővítmény beépülő modulját is támogatja. Ez lehetővé teszi a kéz interakcióját és a HP Reverb G2 vezérlő támogatását, így a HoloLens 2 és a Windows Mixed Reality headsetek teljes funkciókészletét kivilágítják. Az Unreal Engine 4.26 ma már elérhető az Epic Games Launcherben, az MRTK-Unreal 0.12-vel, amely OpenXR-projekteket támogat.

OpenXR natív fejlesztéshez

Az OpenXR használatával holoLens 2 vagy Windows Mixed Reality modern VR headseten fejleszthet az asztalon. Ha nem fér hozzá headsethez, használhatja helyette a HoloLens 2 Emulatort vagy a Windows Mixed Reality szimulátort.

A HoloLens 2 vagy Windows Mixed Reality VR headsetekhez készült OpenXR-alkalmazások fejlesztésének megkezdéséhez tekintse meg , hogyan kezdheti el az OpenXR-fejlesztést.

Az OpenXR API összes fő összetevőjét, valamint az OpenXR-t használó valós alkalmazásokra vonatkozó példákat bemutató 60 perces bemutató videóból megtudhatja:

Lásd még