In Android XR, i modelli 3D sono oggetti digitali renderizzati con profondità e volume per aggiungere un senso di realismo e comprensione spaziale alla tua app. Gli utenti possono interagire in modo naturale con i modelli 3D, creando un'esperienza trasformativa e coinvolgente.
Android XR supporta i modelli 3D con estensione file .glTF o .glb.
Il GL Transmission Format (glTF) è un formato di file 3D standard che
riduce al minimo le dimensioni delle risorse, si carica rapidamente ed è utilizzabile su tutte le piattaforme. Puoi
esportare questi formati di file da strumenti di creazione di contenuti digitali di terze parti come
Blender, Maya, Spline,
tra gli altri.
Per ottimizzare le prestazioni, dai la priorità alle dimensioni ridotte dei file. Evita un numero eccessivo di poligoni o texture ad alta risoluzione che potrebbero influire sulla velocità di rendering.
Metodi per integrare i modelli 3D
Android XR offre diversi strumenti per aggiungere modelli 3D interattivi nella tua app: con le API SceneCore o Scene Viewer. Se crei con Compose for XR, puoi posizionare i modelli 3D rispetto alla tua UI utilizzando il composable SceneCoreEntity subspace.
- API SceneCore. Puoi creare le tue interazioni, tra cui rotazione, spostamento e ridimensionamento. In questo modo gli utenti possono interagire con i modelli 3D insieme ai pannelli spaziali e all'ambiente della tua app. Puoi anche creare relazioni principali tra i pannelli e i modelli 3D. Scopri di più sulle API SceneCore.
- Scene Viewer può essere utilizzato per caricare e visualizzare modelli 3D con interazioni tra cui rotazione, spostamento e scalabilità. Tuttavia, Scene Viewer viene eseguito come app separata. Di conseguenza, gli utenti non potranno vedere i pannelli e l'ambiente della tua app mentre interagiscono con i modelli 3D. Scopri di più su Scene Viewer.
API SceneCore
Con le API SceneCore, puoi sviluppare interazioni avanzate per i modelli 3D mantenendo gli utenti nel contesto della tua app. Poiché SceneCore ti consente di continuare a mostrare pannelli e ambienti insieme ai modelli 3D, puoi creare relazioni tra modelli 3D e pannelli e utilizzare la percezione della scena per ancorare i contenuti allo spazio fisico di un utente.
Con SceneCore, puoi anche aggiungere:
- Annotazioni ai modelli 3D
- Riproduzione delle animazioni incorporate nei modelli 3D
- Più modelli 3D
- Un menu personalizzato e posizioni di avvio
Relazioni
I modelli 3D possono avere relazioni principali con pannelli o altri modelli 3D, in modo che l'elemento secondario segua il movimento dell'elemento principale.
Ancoraggi
Gli utenti possono fissare i modelli 3D a un punto specifico del mondo reale. Hai la possibilità di aggiungere ancoraggi a superfici orizzontali o verticali generali o a superfici specifiche come il pavimento o la parete.
Scene Viewer
Scene Viewer consente agli utenti di visualizzare e interagire con i modelli 3D. Gli utenti possono aprire modelli 3D .glTF supportati come un file .glb e posizionare oggetti nello spazio. Puoi integrare il visualizzatore 3D nella tua app per consentire agli utenti di visualizzare facilmente i prodotti, esplorare i contenuti didattici e provare i modelli 3D. Scene Viewer fornisce un'interfaccia utente integrata per le interazioni di base, tra cui spostamento, rotazione, scalabilità e ancoraggio.
Posizione di lancio
I modelli 3D vengono lanciati a 1,5 metri e 15 gradi sotto la linea di visuale di un utente, al centro del suo campo visivo. Si aprono nelle dimensioni in miniatura di 1,5 metri per asse.

Interazioni incluse
Interfaccia utente e interazioni che consentono agli utenti di spostare, ruotare, ancorare e scalare modelli 3D utilizzando gesti naturali.
Menu Interazione
Il menu del modello 3D può essere personalizzato con azioni aggiuntive. Se il file glTF contiene dimensioni diverse, ad esempio una dimensione suggerita e una dimensione effettiva, il pulsante 1:1 consente agli utenti di passare rapidamente da una all'altra. Per uscire dalla visualizzazione del modello 3D e tornare all'app, gli utenti possono fare clic sul pulsante di chiusura obbligatorio.
