Sviluppo di ar
Lo sviluppo AR in Unity
La Realtà Aumentata (AR) comporta una nuova serie di sfide di progettazione rispetto alla realtà virtuale VR Maggiori informazioni
Vedi nel Glossario o nelle tradizionali applicazioni 3D in tempo reale. Per definizione, un'app di realtà aumentata sovrappone i suoi contenuti al mondo reale che circonda l'utente. Per posizionare un oggetto nel mondo reale, è necessario prima determinare dove posizionarlo. Ad esempio, potresti voler posizionare un dipinto virtuale su una parete fisica. Se metti una pianta in vaso virtuale, potresti volerla su un tavolo fisico o sul pavimento. Un'app AR riceve informazioni sul mondo dal dispositivo dell'utente, come la posizione delle superfici planari, il rilevamento di oggetti, persone, volti e così via; e deve decidere come utilizzare queste informazioni per creare una buona esperienza per l'utente.
Quando si apre una scena AR tipica, la scena A contiene il Ambienti e menu del tuo gioco. Pensa a ogni file di scena univoco come a un livello unico. In ogni scena, posizioni i tuoi ambienti, ostacoli e decorazioni, essenzialmente progettando e costruendo il tuo gioco a pezzi. Vedi
nel Glossario in Unity, non troverai molti oggetti 3D Un GameObject 3D come un cubo, un terreno o una bambola di pezza. Maggiori informazioni
Vedi in Glossario nella scena o nella vista Gerarchia. Invece, la maggior parte dei GameObjects L'oggetto fondamentale nelle scene di Unity, che può rappresentare personaggi, oggetti di scena, scenari, telecamere, waypoint e altro ancora. La funzionalità di un GameObject è definita dai componenti ad esso collegati. Per ulteriori informazioni
, vedere il glossario nella scena, definire le impostazioni e la logica del app. 3D il contenuto viene in genere creato come prefabbricati Un tipo di asset che consente di archiviare un GameObject completo di componenti e proprietà. Il prefabbricato funge da modello da cui si può creare nuove istanze di oggetti nella scena. Altre informazioni
, vedere nel glossario che vengono aggiunti alla scena in fase di esecuzione in risposta a eventi correlati all'AR.
Una scena AR tipica nell'editor di Unity Elementi
scena AR di base
Una scena AR di base contiene i seguenti GameObjects e componenti:
Se è installato XR Interaction Toolkit, l'opzione XR Origin per le applicazioni AR cambia in XR Origin (AR) , che aggiunge GameObjects per la rappresentazione di controller portatili e i componenti del toolkit necessari per l'interazione con gli oggetti nella scena.
Suggerimenti:
- utilizzare il menu GameObject > XR per aggiungere questi GameObject e i relativi componenti associati a una scena. È inoltre possibile aprire il menu facendo clic con il pulsante destro del mouse nella finestra Gerarchia.
- Non dovresti mai avere più di un'origine XR attiva in una scena.
Oltre a questi GameObject di sessione, è necessario il componente AR Manager corrispondente per ogni tipo di funzionalità AR utilizzata dall'applicazione.
Per una panoramica su come impostare qualsiasi scena XR, fare riferimento a Impostazione di una scena XR.
Per informazioni più approfondite sulla creazione di applicazioni AR, fare riferimento alla documentazione del pacchetto AR Foundation, inclusa la configurazione della scena.
Per creare app AR in Unity, è possibile installare il pacchetto AR Foundation insieme ai plug-in del provider XR Un set di codice creato all'esterno di Unity che crea funzionalità in Unity. Esistono due tipi di plug-in che è possibile usare in Unity: plug-in gestiti (assembly .NET gestiti creati con strumenti come Visual Studio) e plug-in nativi (librerie di codice nativo specifiche della piattaforma). Maggiori informazioni
Vedi nel Glossario per i dispositivi che desideri supportare. Per sviluppare AR/MR Mixed Vedi
nelle app del glossario per il dispositivo Apple Vision Pro, sono necessari anche i pacchetti PolySpatial visionOS. Unity fornisce pacchetti aggiuntivi, tra cui Unity Mars e XR Interaction Toolkit per rendere più facile e veloce lo sviluppo di esperienze AR.
plug-in del provider AR supportati da Unity includono:
Utilizzare il sistema di gestione dei plug-in XR per aggiungere e abilitare uno o più di questi plug-in. Per istruzioni, fare riferimento a Configurazione del progetto XR.
Nota: a seconda della piattaforma o del dispositivo, potrebbe essere necessario installare pacchetti aggiuntivi insieme a OpenXR. Ad esempio, per creare un'app AR per HoloLens 2, è necessario installare il plug-in OpenXR per la realtà mista di Microsoft.
AR Foundation
Il pacchetto AR Foundation supporta lo sviluppo AR in Unity.
AR Foundation ti consente di creare app AR multipiattaforma con Unity. In un progetto AR Foundation, scegli quali funzioni AR abilitare aggiungendo i componenti del gestore corrispondenti alla scena. Quando crei ed esegui la tua app su un dispositivo AR, AR Foundation abilita queste funzionalità utilizzando l'SDK AR nativo della piattaforma, in modo da poter creare una sola volta e distribuirla sulle principali piattaforme AR del mondo.
Un dispositivo può essere compatibile con l'AR senza supportare tutte le possibili funzionalità AR. Le funzionalità disponibili dipendono sia dalla piattaforma del dispositivo che dalle funzionalità del dispositivo specifico. Ad esempio, ARCore, la piattaforma AR di Google per Android, attualmente non supporta il tracciamento del corpo, quindi il tracciamento del corpo non può essere utilizzato quando crei la tua app per la piattaforma Android. Anche sulla stessa piattaforma, le funzionalità possono variare da dispositivo a dispositivo. Ad esempio, un modello di dispositivo specifico potrebbe supportare l'AR tramite la fotocamera rivolta verso l'esterno, ma non la fotocamera rivolta verso l'utente.
Per ulteriori informazioni su AR Foundation, consulta la documentazione del pacchetto AR Foundation.
La
realtà mista (MR) combina il proprio ambiente virtuale con l'ambiente del mondo reale dell'utente e consente loro di interagire tra loro.
Vedere il glossario lo sviluppo per il dispositivo Apple Vision Pro si basa su un set di pacchetti che implementano l'architettura Unity PolySpatial sulla piattaforma visionOS.
L'architettura PolySpatial suddivide un gioco o un'app Unity in due parti logiche: un controller di simulazione e una visualizzazione di presentazione. Il controller di simulazione gestisce tutta la logica specifica dell'app, ad esempio MonoBehaviours e altri script, UI (User Interface) Consente a un utente di interagire con l'applicazione. Unity supporta attualmente tre sistemi di interfaccia utente. Maggiori informazioni
Vedi nel Glossario comportamento, gestione delle risorse, fisica e così via. Quasi tutto il comportamento del tuo gioco fa parte della simulazione. Le maniglie della visualizzazione presentazione sia l'input che l'output, che include il rendering sullo schermo e altre forme di output, come l'audio. La visualizzazione invia l'input ricevuto dal sistema operativo, inclusi i gesti di avvicinamento delle dita e la posizione della testina, alla simulazione per l'elaborazione di ogni fotogramma. Dopo ogni passaggio di simulazione, la vista aggiorna la visualizzazione eseguendo il rendering dei pixel L'unità più piccola in un'immagine computer. La dimensione dei pixel dipende dalla risoluzione dello schermo. L'illuminazione dei pixel viene calcolata per ogni pixel dello schermo. Maggiori informazioni
Vedi nel Glossario allo schermo, invio di buffer audio al sistema, ecc.
Sulla piattaforma visionOS, la parte di simulazione viene eseguita in un Unity Player, mentre la visualizzazione della presentazione viene renderizzata dal RealityKit di Apple. Per ogni oggetto visibile nella simulazione, esiste un oggetto corrispondente nel grafo della scena RealityKit.
Nota: PolySpatial viene utilizzato solo per la realtà aumentata e mista su Apple Vision Pro. La realtà virtuale (VR) immerge gli utenti in un mondo 3D artificiale di immagini e suoni realistici, utilizzando un visore e il tracciamento del movimento. Ulteriori informazioni
: consulta il glossario e le app in finestra vengono eseguite in un Unity Player che controlla anche il rendering (utilizzando l'API grafica Apple Metal).
Unity Mars
Unity Mars fornisce strumenti di authoring appositamente progettati e flussi di lavoro migliori per la creazione di applicazioni AR.
- Authoring in linguaggio semplice: puoi definire semplici regole che possono essere enunciate in un linguaggio semplice come "su ogni superficie orizzontale, crea erba", per specificare in che modo il contenuto dell'app deve aumentare una scena in base alle funzionalità AR rilevate dal dispositivo di un utente.
- Flusso di lavoro basato su proxy: aggiungi proxy a una scena per rappresentare le funzionalità AR del mondo reale. Puoi impostare condizioni e azioni sui proxy per specificare il modo in cui l'app deve rispondere quando viene visualizzato un oggetto corrispondente rilevato nel mondo reale. Ad esempio, è possibile aggiungere un proxy a una scena che si attiva ogni volta che viene rilevato un piano orizzontale adatto.
- Simulazione all'interno dell'editor: Unity Mars fornisce una modalità di simulazione, insieme ad ambienti di esempio predefiniti, che ti aiuta a testare la tua logica AR all'interno dell'editor.
- Blocchi predefiniti personalizzabili: Unity Mars contiene modelli e altri blocchi predefiniti per creare tutta o parte di un'applicazione AR. Ad esempio, il modello di formazione fornisce l'interfaccia utente e la logica che è possibile utilizzare per creare un'esercitazione AR che guida un tirocinante attraverso una serie di passaggi.
Unity Mars richiede una licenza compatibile. I piani Unity Pro, Unity Enterprise e Unity Industrial Collection includono Mars. Puoi anche ottenere una licenza per Unity Mars separatamente se hai un piano diverso. Per ulteriori informazioni, fare riferimento a Unity Mars.
Kit di strumenti per l'interazione XR
Il Unity XR Interaction Toolkit fornisce strumenti per la creazione di interazioni AR e VR. La funzionalità AR fornita da XR Interaction Toolkit include:
- Sistema di gesti AR per mappare i tocchi dello schermo agli eventi gestuali
- Posizionamento AR Componente interagibile per aiutare a posizionare oggetti virtuali nel mondo reale
- Interattore gestuale AR e componenti interattivi per supportare la manipolazione di oggetti come posizionare, selezionare, traslare, ruotare e
- ridimensionare annotazioni AR per informare gli utenti sugli oggetti AR posizionati nel mondo reale