OpenXR
OpenXR è uno standard API open royalty free di Khronos, che fornisce ai motori l'accesso nativo a una gamma di dispositivi nello spettro della realtà mista.
È possibile sviluppare usando OpenXR in holoLens 2 o Windows Realtà mista visore VR immersive sul desktop. Se non hai accesso a un visore VR, puoi usare invece l'emulatore HoloLens 2 o il simulatore di Windows Realtà mista.
Perché OpenXR?
Con OpenXR è possibile creare motori destinati a entrambi i dispositivi olografici, ad esempio HoloLens 2, e dispositivi VR immersive, come i visori VR windows Realtà mista per i PC desktop. OpenXR consente di scrivere codice una volta che è quindi portabile in un'ampia gamma di piattaforme hardware.
L'API OpenXR usa un caricatore per connettere l'applicazione direttamente al supporto della piattaforma nativa del visore VR. Gli utenti finali ottengono prestazioni massime e latenza minima, indipendentemente dal fatto che usino windows Realtà mista o qualsiasi altro visore VR.
Che cos'è OpenXR?
L'API OpenXR fornisce la stima della posizione principale, la tempistica dei fotogrammi e la funzionalità di input spaziale necessari per creare un motore che possa essere destinati a dispositivi olografici e immersive.
Per informazioni sull'API OpenXR, vedere la specifica OpenXR 1.0, le informazioni di riferimento sulle API e la guida di riferimento rapido. Per altre informazioni, vedere la pagina Khronos OpenXR.
Per specificare come destinazione il set completo di funzionalità di HoloLens 2, si usano anche estensioni OpenXR specifiche del fornitore e del fornitore. Queste funzionalità consentono funzionalità come il tracciamento manuale articolato, il tracciamento oculare, il mapping spaziale e gli ancoraggi nello spazio. Per altre informazioni, vedere la sezione Roadmap sulle estensioni disponibili più avanti quest'anno.
OpenXR non è un motore di realtà mista. OpenXR consente invece ai motori come Unity e Unreal di scrivere codice portatile una volta che può quindi accedere alle funzionalità native della piattaforma del dispositivo olografico o immersivo dell'utente, indipendentemente dal fornitore che ha creato tale piattaforma.
Roadmap
La specifica OpenXR definisce un meccanismo di estensione che consente agli implementatori di runtime di esporre altre funzionalità oltre alle funzionalità di base definite nella specifica OpenXR 1.0 di base.
Esistono tre tipi di estensioni OpenXR:
- Estensioni fornitore (ad esempio,
XR_MSFT_...
): abilita l'innovazione per fornitore nelle funzionalità hardware o software. Qualsiasi fornitore di runtime può introdurre e spedire un'estensione fornitore in qualsiasi momento. - Estensioni del fornitore sperimentali (ad esempio:
XR_MSFTX_...
estensioni del fornitore sperimentali in anteprima per raccogliere commenti e suggerimenti).XR_MSFTX_...
le estensioni sono solo per i dispositivi di sviluppo e vengono rimosse quando viene fornita la vera estensione. Per provare a usarle, è possibile abilitare le estensioni di anteprima nel dispositivo per sviluppatori. - Estensioni tra fornitori
EXT
: estensioni tra fornitori che più aziende definiscono e implementano. Gruppi di società interessate possono introdurre estensioni EXT in qualsiasi momento. - Estensioni ufficiali: estensioni ufficiali
KHR
khronos ratificate come parte di una versione specifica di base. Le estensioni KHR sono coperte dalla stessa licenza della specifica core stessa.
Windows Realtà mista OpenXR Runtime supporta un set di MSFT
estensioni e EXT
che offre il set completo di funzionalità di HoloLens 2 alle applicazioni OpenXR:
Anche se alcune di queste estensioni possono iniziare come estensioni specifiche MSFT
del fornitore, Microsoft e altri fornitori di runtime OpenXR collaborano per progettare estensioni o KHR
cross-vendor EXT
per molte di queste aree di funzionalità. Le estensioni tra fornitori rendono il codice scritto per tali funzionalità portabile tra i fornitori di runtime, come con la specifica di base.
Dove è possibile usare OpenXR?
Il nuovo motore RenderDragon di Minecraft ha creato il supporto vr desktop usando OpenXR!
Microsoft ha lavorato con Unity e Epic Games per garantire che il futuro della realtà mista sia aperto, non solo per HoloLens 2, ma attraverso tutta la gamma completa di PC VR, incluso il nuovo visore VR Reverb G2 di HP. OpenXR supporta oggi il supporto VR tra fornitori per i principali titoli, ad esempio Minecraft e Microsoft Flight Simulator! Per altre informazioni sullo sviluppo per HoloLens (prima generazione), vedere le note sulla versione.
Per informazioni su come iniziare a usare OpenXR in Unity, Unreal Engine o il proprio motore, leggere!
OpenXR in Unity
La configurazione di Unity consigliata corrente per HoloLens 2 e Windows Realtà mista lo sviluppo è Unity 2020.3 LTS con il plug-in Realtà mista OpenXR. Questo plug-in include il supporto per le estensioni OpenXR che illuminano le funzionalità complete dei controller HoloLens 2 e Windows Realtà mista, tra cui tracciamento manuale/oculare, ancoraggi nello spazio e controller HP Reverb G2. MRTK-Unity supporta OpenXR a partire da MRTK 2.7. Per altre informazioni su come iniziare a usare Unity 2020 e OpenXR, vedere Scelta di una versione di Unity e di un plug-in XR.
Se si sta sviluppando per HoloLens (prima generazione), è necessario continuare a usare Unity 2019.4 LTS con il back-end dell'API WinRT legacy. Se hai come destinazione il nuovo controller HP Reverb G2 in un'app Unity 2019, vedi la documentazione sull'input HP Reverb G2.
A partire da Unity 2021.3 LTS, OpenXR è l'unico back-end Unity supportato per la destinazione holoLens 2 e i visori VR windows Realtà mista.
OpenXR nel motore Unreal
Unreal Engine 4.23 è stata la prima versione principale del motore di gioco a fornire il supporto dell'anteprima per OpenXR 1.0! Ora in Unreal Engine 4.26, il supporto per HoloLens 2, Windows Realtà mista e altri visori VR desktop è disponibile tramite il supporto openXR predefinito di Unreal Engine. Unreal Engine 4.26 supporta anche il plug-in di estensione OpenXR di Microsoft. Ciò consente l'interazione manuale e il supporto del controller HP Reverb G2, illuminando il set completo di funzionalità di HoloLens 2 e visori VR Windows Realtà mista. Unreal Engine 4.26 è attualmente disponibile in Epic Games Launcher, con MRTK-Unreal 0.12 che supporta i progetti OpenXR.
OpenXR per lo sviluppo nativo
È possibile sviluppare usando OpenXR in holoLens 2 o Windows Realtà mista visore VR immersive sul desktop. Se non hai accesso a un visore VR, puoi usare invece l'emulatore HoloLens 2 o il simulatore di Windows Realtà mista.
Per iniziare a sviluppare applicazioni OpenXR per HoloLens 2 o Windows Realtà mista VISOri VR, vedere come iniziare a usare lo sviluppo di OpenXR.
Per una panoramica di tutti i componenti principali dell'API OpenXR, insieme ad esempi di applicazioni reali che usano OpenXR, vedere questo video dettagliato di 60 minuti: