Table of Contents

Creare contenuti 3D allineati con il mondo reale

Questo documento spiega come posizionare con precisione oggetti virtuali in un punto dello spazio reale, allineandoli in modo accurato con il mondo reale in un'esperienza AR.

Prima di iniziare

Nota

Il contenuto e gli strumenti seguenti si applicano solo allo sviluppo di applicazioni Unity con EasyAR Mega.

Se si sviluppano mini program, fare riferimento a Creare e caricare annotazioni con l'editor Unity (sviluppo mini program).

Se non si sta sviluppando un'app Unity ma si desidera vedere il risultato della mappatura Mega, fare riferimento a Anteprima della mesh 3D del mondo reale nella guida Mega.

Se non si sta sviluppando un'app Unity ma si desidera simulare il risultato della localizzazione, fare riferimento a Anteprima della simulazione nella guida Mega.

Questo documento richiede che il progetto abbia già importato i seguenti Unity package:

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

Dati reali del block

Nello sviluppo con Mega è possibile usare vari tipi di dati del mondo reale per aiutare il posizionamento dei contenuti 3D:

  • modello mesh block

    alt text

  • immagine panoramica (con occlusione del modello spaziale)

    alt text

    Nota

    Alcuni dati non supportano l'immagine panoramica.

  • LCC 3D Gaussian Splatting

    alt text

    Nota

    I dati LCC 3D Gaussian Splatting sono disponibili solo negli scenari acquisiti con il dispositivo supportato e dopo il completamento della mappatura.

Caricare il modello block

Fare clic sul primo menu a tendina sotto i dati block per avviare il caricamento dei dati dell'editor block; una volta caricato, la mesh del block corrente sarà visibile nella finestra Scene.

Consiglio
  • La mesh block è allineata allo spazio del target block e consente di posizionare direttamente i contenuti 3D sul modello.
  • La mesh block cambia LOD in base alla posizione della camera; durante l'uso è necessario restare connessi per evitare fallimenti nel cambio LOD.
  • La mesh block è archiviata sotto il nodo degli strumenti, esiste solo in modalità editor e non viene inclusa nell'app finale.

Collegare i contenuti 3D sotto il nodo block

Dopo aver caricato il modello block, collegare i contenuti 3D sotto il nodo Block nella scena come suoi figli.

alt text

Attenzione
  • Gli oggetti 3D non possono essere posizionati sotto il nodo EasyAR.Mega.EditorTool; questo nodo è usato solo per gli strumenti dell'editor e in alcuni casi viene eliminato o ricreato automaticamente.
Importante
  • Gli oggetti 3D devono essere posizionati sotto il nodo block per garantire che il rendering del contenuto virtuale a runtime sia corretto.

Posizionare con precisione i contenuti 3D

Seguendo i passaggi seguenti è possibile posizionare con precisione il contenuto virtuale nello spazio reale.

Posizionare in base alla mesh block

Regolare nella scena la posizione e la rotazione del contenuto 3D rispetto alla mesh block fino a ottenere la posizione e l'orientamento desiderati.

Consiglio
  • Anche quando l'editor entra in modalità play, la mesh block resta disponibile, ma non cambia LOD in base alla posizione della camera.
  • La mesh block è archiviata sotto il nodo degli strumenti, esiste solo in modalità editor e non viene inclusa nell'app finale.

[Opzionale] Posizionare in base all'immagine panoramica

Fare clic sul menu a tendina Panorama Preview Marker per mostrare i marker panoramici.

Nota
  • Alcuni dati non supportano l'immagine panoramica.

Fare clic su qualsiasi marker panoramico per eseguire il posizionamento panoramico nel punto corrispondente. È possibile cambiare panorama facendo clic su marker panoramici diversi per verificare che la posizione del contenuto 3D sia corretta da più punti di vista.

alt text

Consiglio
  • Quando si posiziona il contenuto usando i marker panoramici, l'occlusione del modello spaziale basata sulla mesh resta attiva.
  • Dopo l'ingresso in modalità play dell'editor, questa funzione resta disponibile, ma la precisione dell'occlusione del modello spaziale basata sulla mesh è influenzata dalla disattivazione del cambio LOD.
  • I marker panoramici e i relativi dati sono archiviati sotto il nodo degli strumenti, esistono solo in modalità editor e non vengono inclusi nell'app finale.

[Opzionale] Posizionare in base alla LCC 3D Gaussian Splatting

Nota

Questo paragrafo si applica agli scenari acquisiti con il dispositivo supportato e dopo il completamento della mappatura. I risultati di mappatura ottenuti con altri dispositivi non contengono dati LCC 3DGS.

Se si usa la funzionalità LCC 3D Gaussian Splatting, è possibile regolare la posizione del modello confrontandolo con la 3DGS. L'uso dei dati LCC può essere consultato in Caricare i dati LCC e allinearli con la mesh.

Effetto dei difetti dei dati reali sul posizionamento dei contenuti

Se il modello block caricato non è in piano

Nella finestra Hierarchy selezionare il nodo block da regolare e, nel pannello Inspector, modificare Rotation finché l'orientamento del modello appare corretto nell'editor Unity.

Il transform del nodo block nel sistema di coordinate del mondo non influisce sul suo sistema di coordinate locale, e quindi non influisce sul rendering dei contenuti 3D come figli del block. Il suo transform e l'effetto visivo finale non sono correlati.

Attenzione

Non modificare il Transform del nodo EasyAR.Mega.EditorTool sotto il block, altrimenti gli strumenti dell'editor potrebbero non funzionare correttamente o i contenuti potrebbero apparire nella posizione sbagliata durante il tracking.

Se il modello block caricato è frammentato o mancano parti

Durante la ricostruzione 3D, a causa di una copertura di acquisizione non completa, nella mesh densa generata possono comparire parti frammentate o mancanti.

frammenti e parti mancanti

Di fronte a un modello incompleto, se l'accuratezza di allineamento dei contenuti 3D per le parti frammentate o mancanti non è molto alta, si può usare il confronto con l'immagine panoramica tramite i marker panoramici per posizionare i contenuti 3D. In seguito è possibile verificare l'effetto facendo clic su altri marker panoramici vicini.

posizionamento tramite immagine panoramica

Se per le parti frammentate o mancanti è richiesta un'accuratezza di allineamento molto elevata, è necessario integrare o aggiornare la mappa tramite aggiornamento incrementale oppure aggiornamento completo senza perdita. In genere queste aree indicano che la raccolta dati non le ha coperte; all'interno di tali aree l'effetto di localizzazione Mega sarà influenzato e non basta allineare i contenuti 3D solo nell'editor.

Passi successivi

Argomenti correlati