Samsung Galaxy XR è arrivato, con Android XR. Questo post del blog fa parte della nostra settimana di Android XR Spotlight, in cui forniamo risorse (post del blog, video, codice campione e altro ancora) progettate per aiutarti a imparare, creare e preparare le tue app per Android XR.
Non c'è mai stato un momento migliore per dedicarsi allo sviluppo di XR. Lo scorso dicembre abbiamo annunciato Android XR, la nuova piattaforma Android di Google basata su standard aperti come OpenXR e Vulkan, che rende lo sviluppo di XR più accessibile che mai.
Se combinato con gli strumenti XR esistenti di Unity, ottieni uno stack di sviluppo potente e maturo. In questo modo è possibile creare e implementare app XR che funzionano su più dispositivi.
Che tu abbia già sviluppato in XR o meno, vogliamo aiutarti a iniziare.
Questo blog ti aiuterà a iniziare a utilizzare Android XR e Unity. Ci concentreremo sui passaggi pratici per configurare l'ambiente, comprendere l'ecosistema dei pacchetti e iniziare a creare.
Al termine di questo post del blog, avrai una buona comprensione di:
- L'ecosistema dei pacchetti
- Passaggi di configurazione essenziali
- Metodi di immissione
- Privacy e autorizzazioni
- Livelli di composizione
Unity per lo sviluppo di Android XR
Potresti scegliere Unity per la sua compatibilità multipiattaforma, che ti consente di creare una volta e distribuire su Android XR e altri dispositivi XR.
Quando utilizzi Unity, puoi usufruire del suo ecosistema e dei suoi strumenti XR maturi. Dispone già di pacchetti consolidati come XR Interaction Toolkit, plug-in OpenXR, livelli di composizione XR, XR Hands, un ampio asset store pieno di componenti e modelli pronti per l'XR e strumenti di simulazione e test XR. Inoltre, dato che Unity 6 è stato rilasciato lo scorso novembre, potrai usufruire delle prestazioni migliorate della Universal Render Pipeline (URP), di un migliore supporto della grafica Vulkan e di profili di build migliorati.
Ecco alcuni progetti di esempio per farti un'idea di cosa si può fare:
Configurazione essenziale: le basi dello sviluppo
Requisiti e installazione di Unity 6
Per creare l'app, devi utilizzare Unity 6, perché le versioni precedenti non supportano Android XR. Installa prima Unity Hub, poi Unity 6 con il modulo Android Build Support, seguendo questi passaggi.
Profili di build di Android XR: semplificazione della configurazione
I profili di build di Unity sono asset del progetto che archiviano le impostazioni e le configurazioni specifiche della piattaforma. In questo modo, anziché dover configurare manualmente 15-20 impostazioni diverse in più menu, puoi utilizzare un profilo di build per farlo automaticamente.
Puoi creare i tuoi profili di build, ma per ora ti consigliamo di utilizzare il profilo di build Android XR dedicato che abbiamo creato.
Puoi selezionare il tuo profilo di build selezionando File > Build Profile (File > Profilo di build) dal tuo progetto Unity. Per istruzioni complete, consulta la pagina del flusso di lavoro Sviluppare per Android XR.
Se apporti modifiche, puoi creare un nuovo profilo di build da condividere con il tuo team. In questo modo, garantisci un'esperienza di build coerente per tutti.
Dopo questi passaggi, puoi creare ed eseguire il tuo APK per i dispositivi Android XR.
API Graphics: perché Vulkan è importante
Una volta configurato il progetto Unity con un profilo di build Android XR, ti consigliamo innanzitutto di assicurarti che Vulkan sia impostato come API grafica. Android XR è stato creato come piattaforma Vulkan-first. A marzo 2025, Google ha annunciato che Vulkan è ora l'API grafica ufficiale per Android. Si tratta di un'API grafica moderna di basso livello che aiuta gli sviluppatori a massimizzare le prestazioni delle GPU moderne e a sbloccare funzionalità avanzate come il ray tracing e il multithreading per immagini di gioco realistiche e coinvolgenti.
Questi standard offrono la migliore compatibilità per le tue applicazioni esistenti e semplificano i problemi e i costi di porting. Inoltre, consente di attivare funzionalità avanzate di Android XR come URP Application Space Warp e rendering foveato.
Unity 6 gestisce Vulkan automaticamente, quindi quando utilizzi il profilo di build Android XR, Unity configurerà Vulkan come API grafica. In questo modo, avrai accesso a tutte le funzionalità avanzate di Android XR senza alcuna configurazione manuale.
Puoi verificare le impostazioni dell'API grafica andando su "Modifica" > "Impostazioni progetto" > "Player" > "Scheda Android" > "Altre impostazioni" > "API grafiche".
Informazioni sull'ecosistema dei pacchetti
Esistono due pacchetti diversi che puoi utilizzare per Android XR in Unity. Uno è l'utilizzo delle estensioni Android XR per Unity, l'altro è l'utilizzo del pacchetto Unity OpenXR: Android XR.
Potrebbero sembrare la stessa cosa, ma continua a leggere.
Il pacchetto Unity OpenXR: Android XR è il pacchetto Unity ufficiale per il supporto di Android XR. Fornisce la maggior parte delle funzionalità di Android XR, rese disponibili tramite gli standard OpenXR. Consente inoltre l'integrazione di AR Foundation per le funzionalità di realtà mista. Il vantaggio principale dell'utilizzo del pacchetto Unity OpenXR: Android XR è che offre un'API unificata per il supporto dei dispositivi XR.
Mentre le estensioni Android XR per Unity sono il pacchetto XR di Google, progettato specificamente per lo sviluppo per dispositivi Android XR. Integra il pacchetto Unity OpenXR con funzionalità aggiuntive come le modalità di fusione dell'ambiente, la creazione di mesh della scena, il rilevamento delle immagini e il rilevamento del corpo. Il compromesso è che puoi sviluppare solo per dispositivi Android XR.
La scelta dipende dalle tue esigenze specifiche, ma in genere consigliamo di utilizzare Unity OpenXR: Android XR, in quanto offre molta più flessibilità per i dispositivi con cui la tua app sarà compatibile. In base ai requisiti dell'applicazione, puoi quindi aggiungere le estensioni Android XR per Unity.
Come installare i pacchetti
Per aggiungere un nuovo pacchetto, con il progetto aperto in Unity, seleziona "Window" (Finestra) > "Package Management" (Gestione pacchetti) > "Package Manager" (Gestore pacchetti).
Da qui puoi installare questi pacchetti dalla scheda "Unity Registry":
Puoi installare il pacchetto Android XR per Unity tramite GitHub selezionando l'icona ➕, selezionando "Installa pacchetto dall'URL Git" e poi inserendo "https://github.com/android/android-xr-unity-package.git".
Funzionalità OpenXR richieste
Ora che hai installato i pacchetti necessari, attiviamo alcune funzionalità di base per far funzionare il progetto.
Puoi attivare l'impostazione OpenXR per Android: "Modifica" -> "Impostazioni progetto" -> "Gestione plug-in XR" -> fai clic su Android e attiva OpenXR
Successivamente, dobbiamo attivare il supporto di "Android XR". Tratteremo altre funzionalità di OpenXR man mano che ne avremo bisogno. Per ora è sufficiente abilitare il supporto di Android XR.
Input
Android XR supporta l'input per mani, voce, eye tracking, tastiera e controller. Ti consigliamo di installare XR Interaction Toolkit e XR Hands, in quanto contengono i prefab migliori per iniziare. Utilizzando questi prefabbricati, avrai tutto il necessario per supportare le mani e i controller nella tua app.
Una volta installati XR Hands e XR Interactive Toolkit, ti consiglio di importare gli asset iniziali e la demo di interazione con le mani. Dopodiché, devi attivare i profili Interazione con le mani e Khronos Simple Controller e attivare le funzionalità Sottosistema di tracciamento delle mani e Meta Hand Tracking Aim.
Puoi modificare queste impostazioni andando su "Modifica" > "Impostazioni progetto" > "Gestione plug-in XR" > "OpenXR".
Consigliamo anche il prefab di Unity, XR Origin, che rappresenta la posizione e l'orientamento dell'utente nello spazio XR. Contiene il rig della videocamera e i componenti di monitoraggio necessari per eseguire il rendering dell'esperienza XR dal punto di vista corretto.
Il modo più semplice per aggiungere questo prefab è importarlo dalla demo di integrazione delle mani che abbiamo importato in precedenza e che puoi trovare qui "Hands Integration Toolkit" (Toolkit di integrazione delle mani) > "Hand Interaction" (Interazione con le mani) > "Prefabs" (Prefab) > "XR Origin" (Origine XR).
Ti consiglio di utilizzare questo prefab rispetto all'opzione "XR Origin" negli oggetti di gioco, in quanto utilizza XR Input Modality Manager, che passa automaticamente dalle mani degli utenti ai controller. In questo modo, avrai la migliore riuscita nel passaggio tra mani e controller.
Privacy e autorizzazioni: creare la fiducia degli utenti
Qualunque cosa tu crei, dovrai acquisire le autorizzazioni di runtime dagli utenti. Questo perché la comprensione della scena, l'eye tracking, il tracciamento facciale e il tracciamento delle mani forniscono l'accesso a dati che potrebbero essere più sensibili per l'utente.
Queste funzionalità forniscono informazioni personali più approfondite rispetto alle tradizionali app per computer o dispositivi mobili, pertanto le autorizzazioni di runtime garantiscono agli utenti il pieno controllo sui dati che scelgono di condividere. Pertanto, per rispettare le norme sulla sicurezza e sulla privacy di Android, Android XR dispone di autorizzazioni per ciascuna di queste funzionalità.
Ad esempio, se utilizzi il pacchetto XR Hands per i gesti personalizzati con le mani, dovrai richiedere l'autorizzazione di tracciamento delle mani (vedi sotto), poiché questo pacchetto deve monitorare molte informazioni sulle mani dell'utente. Sono inclusi, ad esempio, il monitoraggio delle pose delle articolazioni della mano e delle velocità angolari e lineari.
Nota: per un elenco completo delle estensioni che richiedono autorizzazioni, consulta le informazioni sul sito web per sviluppatori XR.
const string k_Permission = "android.permission.HAND_TRACKING"; #if UNITY_ANDROID void Start() { if (!Permission.HasUserAuthorizedPermission(k_Permission)) { var callbacks = new PermissionCallbacks(); callbacks.PermissionDenied += OnPermissionDenied; callbacks.PermissionGranted += OnPermissionGranted; Permission.RequestUserPermission(k_Permission, callbacks); } } void OnPermissionDenied(string permission) { // handle denied permission } void OnPermissionGranted(string permission) { // handle granted permission } #endif // UNITY_ANDROID
Migliorare la qualità visiva con i livelli di composizione
Un livello di composizione è il modo consigliato per eseguire il rendering degli elementi UI. Consentono di visualizzare gli elementi con una qualità molto superiore rispetto alla pipeline di rendering standard di Unity, in quanto tutto viene sottoposto a rendering direttamente nel compositore della piattaforma.
Ad esempio, se visualizzi del testo, è più probabile che il rendering standard di Unity presenti testo sfocato, bordi morbidi e artefatti visivi. Con i livelli di composizione, invece, il testo sarà più chiaro, i contorni più nitidi e l'esperienza complessiva migliore.
Oltre al testo, esegue il rendering di video, immagini ed elementi UI con una qualità molto più elevata. A questo scopo, utilizza il supporto nativo per i livelli di composizione del runtime.
Per attivare i livelli di composizione, apri Package Manager, seleziona "Unity Register" e poi installa "XR Composition Layers".
Crea ed esegui
Ora che hai installato i pacchetti OpenXR e attivato le funzionalità, puoi creare la tua scena e implementarla direttamente sul visore per i test.
Passaggi successivi: ampliare le tue competenze
Ora che hai configurato l'ambiente di sviluppo Android XR e compreso i concetti chiave, ecco i passaggi successivi per continuare il tuo percorso di sviluppo XR:
Risorse essenziali per l'apprendimento continuo:
- Documentazione per gli sviluppatori di Android XR: guide complete per tutte le funzionalità di Android XR
- Manuale di sviluppo XR di Unity – Risorse ufficiali di Unity per lo sviluppo XR
Progetti di esempio da esplorare:
- Esempi di Android XR Unity: progetti di esempio ufficiali di Google che mostrano diverse funzionalità di Android XR
- Esempi di Unity XR Interaction Toolkit: esempi completi di interazioni XR e meccaniche di gioco
- Modello VR di Unity: un punto di partenza completo per i progetti VR
- Modello multigiocatore VR: esplora le esperienze XR social
Continua a leggere
-
Istruzioni
Consapevole del fatto che il consumo eccessivo della batteria è una delle principali preoccupazioni degli utenti Android, Google ha adottato misure significative per aiutare gli sviluppatori a creare app più efficienti dal punto di vista energetico.
Alice Yuan • Lettura di 8 minuti
-
Istruzioni
Volevamo fornirti esempi di funzionalità basate sull'AI che utilizzano modelli sul dispositivo e sul cloud e ispirarti a creare esperienze piacevoli per i tuoi utenti.
Thomas Ezan, Ivy Knight • Lettura di 2 minuti
-
Istruzioni
La guida al livellamento delle prestazioni è suddivisa in 5 livelli. Inizieremo con il livello 1, che introduce strumenti di misurazione delle prestazioni con uno sforzo di adozione minimo, e arriveremo al livello 5, ideale per le app che dispongono delle risorse per mantenere un framework delle prestazioni personalizzato.
Alice Yuan • Lettura di 9 minuti
Segui gli aggiornamenti
Ricevi ogni settimana gli ultimi approfondimenti sullo sviluppo per Android direttamente nella tua casella di posta.