Table of Contents

Creare contenuti 3D in allineamento preciso con la realtà

Questo documento descrive come posizionare accuratamente oggetti virtuali in un determinato punto dello spazio reale, in modo da allinearli in modo preciso con lo spazio reale durante l'esperienza AR.

Prima di iniziare

Nota

Il contenuto e gli strumenti seguenti sono applicabili solo al processo di sviluppo di applicazioni Unity con EasyAR Mega.

Se stai sviluppando un mini-programma, consulta Crea e carica annotazioni utilizzando l'editor di Unity (sviluppo di mini-programmi).

Se non stai sviluppando un'applicazione Unity ma desideri visualizzare i risultati della creazione della mappa Mega, consulta Anteprima della griglia tridimensionale della realtà nella guida all'utilizzo di Mega.

Se non stai sviluppando un'applicazione Unity ma hai bisogno di eseguire una simulazione per visualizzare l'effetto di localizzazione, consulta Anteprima dell'effetto di esecuzione in simulazione nella guida all'utilizzo di Mega.

Il contenuto di questo articolo richiede che i seguenti pacchetti Unity siano stati importati nel progetto:

  • com.easyar.sense
  • com.easyar.mega

Dati in tempo reale del blocco

Nello sviluppo di Mega, è possibile utilizzare vari dati in tempo reale per aiutare a posizionare contenuti 3D:

  • Modello mesh del blocco

    alt text

  • Immagine panoramica (con occlusione del modello spaziale)

    alt text

    Nota

    Alcuni dati non supportano le immagini panoramiche.

  • Spruzzi gaussiani 3D LCC

    alt text

    Nota

    I dati degli spruzzi gaussiani 3D LCC sono disponibili solo negli scenari d'uso in cui vengono raccolti con dispositivi del loro dominio e completata la mappatura.

Abilitare lo strumento dell'editor

Prima di tutto, è necessario aggiungere un target di tracciamento Mega nell'editor, quindi selezionare il target di tracciamento e fare clic sul pulsante Create Editor Tool.

Consiglio

Se l'applicazione necessita di creare target di tracciamento tramite script anziché nell'editor, dopo aver posizionato gli elementi nell'editor, è possibile registrare il target di tracciamento e/o i suoi oggetti figli, quindi configurare il target di tracciamento tramite script durante l'esecuzione e collegare gli oggetti figli al target di tracciamento.

Controllare le informazioni del servizio e connettersi al servizio.

Importante

Prima di connettersi, è necessario verificare le autorizzazioni della API Key.

  • Se il Type del servizio è Block, assicurarsi che la API Key utilizzata abbia l'autorizzazione per accedere al servizio Mega Block e al servizio SpatialMap.
  • Se il Type del servizio è Landmark, assicurarsi che la API Key abbia l'autorizzazione per accedere al servizio Mega Landmark.

alt text

In caso di autorizzazioni insufficienti, verrà visualizzato un messaggio di errore di verifica della connessione al servizio.

alt text

Se l'origine dei dati del target è stata configurata correttamente configurata, dopo una connessione normale al servizio, sarà possibile vedere l'ora di aggiornamento dei dati e l'interfaccia di controllo per i dati dell'editor dei block.

Consiglio

Se l'origine dei dati del target è lasciata vuota, dopo una connessione normale al servizio, sarà possibile vedere l'elenco dei dati dei block presenti nel servizio. Dopo aver selezionato il block da utilizzare, si accederà comunque all'interfaccia di controllo per i dati dell'editor dei block, e l'origine dei dati del target verrà compilata automaticamente.

I dati dello strumento dell'editor sono memorizzati nel nodo EasyAR.Mega.EditorTool. Eliminare questo nodo equivale a eliminare i dati dello strumento dell'editor.

Attenzione

Non modificare direttamente il contenuto del nodo EasyAR.Mega.EditorTool, in particolare non modificare il Transform di questo nodo, altrimenti potrebbe impedire il corretto funzionamento dello strumento dell'editor o causare errori nella posizione di visualizzazione del contenuto durante il tracciamento.

Caricamento del modello block

Fare clic sulla prima casella di selezione sotto i dati del block. Questo avvierà il processo di caricamento dei dati dell'editor del block. Dopo il caricamento, è possibile vedere la mesh del block corrente nella finestra Scene.

Consiglio
  • La mesh del block è allineata allo spazio del target di tracciamento del block. È possibile posizionare direttamente contenuti 3D sul modello.
  • La mesh del block cambia il LOD in base alla posizione della telecamera. Durante l'utilizzo, è necessario mantenere la connessione a Internet per evitare errori nel cambio di LOD.
  • La mesh del block è archiviata sotto il nodo dell'utensile e esiste solo in modalità editor. Non verrà inclusa nel pacchetto finale dell'applicazione.

Montare il contenuto 3D sotto il nodo block

Dopo aver caricato il modello block, montare il contenuto 3D sotto il nodo Block nella scena come suo nodo figlio.

alt text

Attenzione
  • Gli oggetti 3D non possono essere posizionati sotto il nodo EasyAR.Mega.EditorTool. Questo nodo è destinato solo agli strumenti dell'editor e in alcuni casi verrà eliminato o ricreato automaticamente.
Importante
  • Gli oggetti 3D devono essere posizionati sotto il nodo block per garantire che la posizione di rendering del contenuto virtuale durante il runtime sia corretta.

Posizionamento preciso del contenuto 3D

È possibile posizionare con precisione il contenuto virtuale nello spazio reale seguendo i seguenti passaggi.

Posizionamento in base al modello di griglia block

Nello scenario, regolare la posizione e la rotazione del contenuto 3D rispetto al block mesh fino a raggiungere la posizione e l'orientamento desiderati.

Consiglio
  • Dopo che l'editor è entrato in modalità play, il block mesh è ancora utilizzabile, ma non cambia il LOD in base alla posizione della telecamera.
  • Il block mesh è archiviato sotto il nodo strumento e esiste solo in modalità editor, non verrà incluso nel pacchetto finale dell'applicazione.

[Opzionale] Posizionamento basato su panoramica

Fare clic sulla casella di controllo Panorama Preview Marker per visualizzare i marcatori panoramici.

Nota
  • Alcuni dati non supportano le panoramiche.

Fare clic su qualsiasi marcatore panoramico per posizionare il contenuto nella posizione corrispondente nella panoramica. È possibile fare clic su diversi marcatori panoramici per cambiare panoramica, al fine di confermare che la posizione del contenuto 3D sia accurata da diverse angolazioni.

alt text

Consiglio
  • Quando si posiziona il contenuto utilizzando i marcatori panoramici, l'occlusione del modello spaziale basata su mesh rimane attiva.
  • Questa funzione rimane disponibile anche dopo che l'editor entra in modalità play, ma la precisione dell'occlusione del modello spaziale basata su mesh è influenzata dalla disabilitazione del cambio LOD.
  • I marcatori panoramici e i dati delle panoramiche sono memorizzati sotto il nodo dello strumento, esistono solo in modalità editor e non vengono inclusi nel pacchetto finale dell'applicazione.

[Opzionale] Posizionamento in base alle LCC 3D Gaussian Splats

Nota

Questo paragrafo si applica allo scenario di utilizzo dopo l'acquisizione con dispositivi Qiyue e la creazione della mappa. I risultati della creazione della mappa con altri dispositivi non contengono dati LCC 3DGS.

Se hai utilizzato la funzione LCC 3D Gaussian Splats (Qiyue LCC), puoi regolare la posizione del modello in base alle 3DGS. Per l'utilizzo dei dati LCC, puoi fare riferimento a Caricare i dati LCC e allinearli con la Mesh.

影响 del difetto dei dati reali sulla disposizione del contenuto

Se il modello Block caricato non è orizzontale, cosa fare?

Selezionare il nodo block da regolare nel pannello Hierarchy e modificare la Rotation nel pannello Inspector fino a quando l'orientamento del modello sembra corretto nell'editor Unity.

La Transform del nodo block nel sistema di coordinate mondiale non influenzerà il sistema di coordinate locale del block e quindi non influenzerà il risultato di rendering del contenuto 3D figlio del block. La sua Transform è irrilevante per l'effetto finale di visualizzazione.

Attenzione

Non modificare la Transform di EasyAR.Mega.EditorTool sotto il nodo block, altrimenti potrebbe causare il malfunzionamento degli strumenti dell'editor o l'errore della posizione di visualizzazione del contenuto durante il tracciamento.

Se il modello Block caricato presenta parti frantumate o mancanti, cosa fare?

Durante il processo di ricostruzione tridimensionale, a causa della copertura incompleta delle prospettive di acquisizione, nel modello denso generato potrebbero essere presenti parti frantumate o mancanti.

Frantumato o mancante

Quando si affronta un modello incompleto, se la precisione dell'allineamento del contenuto 3D delle parti frantumate/mancanti non è molto elevata, è possibile posizionare il contenuto 3D facendo clic su Punti di riferimento panoramici e confrontandoli con il Panorama. Successivamente, è possibile verificare l'effetto facendo clic su posizioni diverse dei Punti di riferimento panoramici vicini.

Posizionamento tramite panoramica

Se la precisione dell'allineamento del contenuto 3D delle parti frantumate/mancanti è molto elevata, è necessario eseguire un'aggiunta o un aggiornamento della mappa attraverso l'aggiornamento incrementale o l'aggiornamento totale senza perdite. In generale, queste aree indicano che non sono state coperte durante il processo di acquisizione delle immagini, e l'efficacia della localizzazione di Mega in queste aree sarà influenzata. È quindi insufficiente allineare il contenuto 3D solo nell'editor.

Passaggi successivi

Argomenti correlati