OpenXR
OpenXR è uno standard api open royalty free di Khronos, che offre ai motori l'accesso nativo a una gamma di dispositivi nello spettro della realtà mista.
È possibile sviluppare usando OpenXR in un HoloLens 2 o Windows Mixed Reality visore VR immersive sul desktop. Se non si ha accesso a un visore VR, è possibile usare invece l'emulatore HoloLens 2 o il simulatore Windows Mixed Reality.
Perché OpenXR?
Con OpenXR è possibile creare motori destinati a dispositivi olografici, come HoloLens 2 e dispositivi VR immersive, come Windows Mixed Reality visori VR per 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 un Windows Mixed Reality 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 che è necessario creare un motore in grado di indirizzare 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 definire come destinazione il set completo di funzionalità di HoloLens 2, si useranno anche estensioni OpenXR specifiche del fornitore che consentono funzionalità aggiuntive oltre al core OpenXR 1.0, ad esempio tracciamento della mano articolata, tracciamento oculare, mapping spaziale e ancoraggi nello spazio. Per altre informazioni, vedere la sezione Roadmap riportata di seguito sulle estensioni che verranno eseguite 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 possono quindi accedere alle funzionalità della piattaforma nativa 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 funzionalità aggiuntive 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 sperimentali del fornitore (ad esempio,
XR_MSFTX_...
): estensioni del fornitore sperimentali in anteprima per raccogliere commenti e suggerimenti.XR_MSFTX_...
le estensioni sono destinate solo ai dispositivi di sviluppo e verranno rimosse quando viene fornita l'estensione reale. Per provare a usarle, è possibile abilitare le estensioni di anteprima nel dispositivo per sviluppatori.
- Estensioni sperimentali del fornitore (ad esempio,
- Estensioni tra fornitori
EXT
: estensioni tra fornitori definite e implementate da più aziende. Gruppi di aziende interessate possono introdurre estensioni EXT in qualsiasi momento. - Estensioni ufficiali
KHR
: estensioni ufficiali khronos ratificate come parte di una versione di specifiche di base. Le estensioni KHR sono coperte dalla stessa licenza della specifica di base stessa.
Il Windows Mixed Reality 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
fornitori tra fornitori 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 per la realtà virtuale desktop con OpenXR!
Microsoft sta lavorando 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 alimenta il supporto VR tra fornitori per la spedizione dei 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 corrente di Unity consigliata da Microsoft per HoloLens 2 e lo sviluppo di Windows Mixed Reality è 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 di HoloLens 2 e Windows Mixed Reality visori VR, tra cui tracciamento della mano/occhio, 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 unity e di un plug-in XR.
Se si sviluppa 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 di HP Reverb G2.
A partire da Unity 2021.3 LTS, OpenXR sarà l'unico back-end Unity supportato per la destinazione HoloLens 2 e Windows Mixed Reality visori VR.
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 Mixed Reality e altri visori VR desktop è disponibile tramite il supporto predefinito di OpenXR di Unreal Engine. Unreal Engine 4.26 supporta anche il plug-in di estensione OpenXR di Microsoft, consentendo l'interazione manuale e il supporto del controller HP Reverb G2, illuminando il set completo di funzionalità di HoloLens 2 e Windows Mixed Reality visori VR. 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 un HoloLens 2 o Windows Mixed Reality visore VR immersive sul desktop. Se non si ha accesso a un visore VR, è possibile usare invece l'emulatore HoloLens 2 o il simulatore Windows Mixed Reality.
Per iniziare a sviluppare applicazioni OpenXR per HoloLens 2 o Windows Mixed Reality 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: