Android XR supporta le app create con OpenXR tramite il supporto per la specifica OpenXR 1.1 e le estensioni di fornitori selezionati. OpenXR è uno standard aperto che ti consente di creare esperienze immersive e interattive utilizzando un insieme comune di API su una vasta gamma di dispositivi XR.
Funzionalità
Android XR supporta le funzionalità che ti consentono di creare app che sfruttano appieno le funzionalità uniche dei dispositivi XR, utilizzando OpenXR. Queste funzionalità includono le seguenti.
- Framework di entità spaziali
- Una base unificata per la comprensione della scena e il ragionamento spaziale. Consente alle applicazioni di scoprire, eseguire query e monitorare le entità spaziali fisiche nell'ambiente, creare ancoraggi spaziali collegati alle entità, eseguire il raycasting delle entità spaziali e rendere persistenti le entità spaziali tra le sessioni dell'applicazione.
- Oggetti monitorabili
- Supporta il rilevamento dei piani, ovvero la capacità di identificare e monitorare le superfici piane all'interno dell'ambiente, consentendo il posizionamento di oggetti virtuali in relazione al mondo reale e agli ancoraggi , ovvero punti di riferimento virtuali che possono essere collegati a oggetti o posizioni del mondo reale, in modo che i contenuti virtuali rimangano posizionati e orientati con precisione anche quando l'utente si sposta.
- Raycasting
- Una tecnica utilizzata per determinare il punto di intersezione tra un raggio virtuale e gli oggetti nella scena, facilitando interazioni come la selezione e la manipolazione di elementi virtuali.
- Persistenza degli ancoraggi
- La possibilità di salvare e ripristinare gli ancoraggi in più sessioni, consentendo il posizionamento persistente e coerente dei contenuti virtuali all'interno dell'ambiente.
- Monitoraggio oggetti
- La possibilità di monitorare mouse, tastiera e altri oggetti nel mondo reale.
- Monitoraggio dei codici QR
- La possibilità di monitorare i codici QR nell'ambiente fisico e decodificare i relativi dati.
- Texture di profondità
- La generazione di mappe di profondità che forniscono informazioni sulla distanza tra la fotocamera e gli oggetti nella scena, consentendo effetti di occlusione e interazione più realistici.
- Passthrough
- La possibilità di combinare i filmati della fotocamera del mondo reale con i contenuti virtuali, creando un'esperienza di realtà mista che combina perfettamente il mondo fisico e quello digitale.
- Mesh della scena
- La possibilità di acquisire una mesh 3D dell'ambiente, che può essere utilizzata per la fisica, l'occlusione e altre interazioni con il mondo.
- Passthrough del livello di composizione
- Consente un ritaglio del livello di composizione passthrough poligonale, che può essere utilizzato per portare oggetti del mondo reale in una scena.
- Tracciamento facciale
- La possibilità di monitorare le caratteristiche del volto dell'utente, consentendo la creazione di avatar e personaggi virtuali più realistici ed espressivi.
- Eye tracking
- Fornisce la posizione e l'orientamento dell'occhio dell'utente, progettato per rendere più realistica la posa degli occhi degli avatar.
- Tracciamento delle mani
- La possibilità di monitorare la posizione e il movimento delle mani dell'utente.
- Mesh della mano
- Fornisce una rappresentazione accurata delle mani dell'utente come mesh a basso numero di poligoni. Ottimizzato per la distribuzione da piattaforma ad applicazione per garantire le migliori prestazioni possibili. Si tratta di un'alternativa ad altre estensioni che utilizzano una posa di collegamento e pesi di fusione.
- Stima della luce
- Utilizzato per i modelli di illuminazione in modo che corrispondano alle condizioni di illuminazione del mondo reale dell'utente.
Dispositivi di input supportati
Android XR supporta anche i seguenti dispositivi di input.
- Interazione con le mani
- Il riconoscimento di gesti specifici delle mani, come pizzicare, scorrere e puntare, consente agli utenti di interagire con gli oggetti virtuali utilizzando gesti e movimenti delle mani.
- Interazione con lo sguardo
- La possibilità di monitorare i movimenti degli occhi dell'utente, consentendogli di selezionare e interagire con gli oggetti virtuali utilizzando lo sguardo.
- Controller di movimento 6DoF
- La possibilità di monitorare la posizione e il movimento dei controller, nonché le associazioni di D-pad e pulsanti per attivare azioni o eventi di passaggio del mouse all'interno dell'app.
- Interazione con il mouse
- La possibilità per gli utenti di interagire con gli oggetti tramite un puntatore del mouse nello spazio 3D
Funzionalità di prestazioni supportate
Android XR supporta le seguenti funzionalità relative alle prestazioni.
- Foveazione con tracciamento oculare
- Consente a un'app di eseguire il rendering di contenuti a risoluzione più elevata solo nel punto focale degli occhi.
- Space warp
- Utilizza i vettori di velocità e le informazioni sulla texture di profondità per generare fotogrammi di interpolazione che aumentano efficacemente la frequenza fotogrammi necessaria per mantenere gli utenti immersi nelle tue esperienze
- Sintesi dei fotogrammi
- Utilizza i vettori di movimento e i dati dei fotogrammi forniti dall'applicazione per sintetizzare i fotogrammi intermedi, migliorando la fluidità visiva e le frequenze fotogrammi.
- Metriche delle prestazioni
- Fornisce le metriche delle prestazioni di Android XR in fase di runtime del dispositivo XR, del compositor e dell'app XR corrente. Sono inclusi la durata frame della CPU, la durata frame della GPU, l'utilizzo della GPU, la frequenza della CPU, i fotogrammi al secondo e altro ancora.
Per un elenco completo delle funzionalità ed estensioni supportate, consulta la panoramica delle funzionalità di OpenXR.
Motori supportati
I seguenti motori sono supportati per lo sviluppo di OpenXR con Android XR.
Unità
Il supporto di Unity per Android XR, basato su OpenXR, consente agli sviluppatori di creare esperienze utilizzando Unity 6. Scopri di più sulla creazione di app XR con Unity nella panoramica di Unity.
OpenXR™ e il logo OpenXR sono marchi di proprietà di The Khronos Group Inc. e sono registrati come marchi in Cina, Unione Europea, Giappone e Regno Unito.