Table of Contents

Usare EasyAR Mega in Unity per implementare occlusion

Occlusion è una tecnologia chiave per migliorare l'immersione dell'integrazione tra contenuti virtuali e reali in AR. Questo articolo descrive come implementare effetti di occlusion in Unity tramite EasyAR Mega.

Prima di iniziare

Modalità di implementazione di occlusion

  • Modellazione offline: nel sistema di coordinate Block, creare geometry con corrispondenza 1:1 per entità del mondo reale, come pareti, colonne e grandi apparecchiature; oppure ottenere un modello ottimizzato tagliando e riducendo le face del dense model Block.

  • Allineamento runtime: a runtime, allineare il sistema di coordinate Block con lo spazio reale tramite cloud localization e caricare la geometry corrispondente.

  • Sostituzione materiale: assegnare materiali speciali di occlusion a queste geometry.

  • Effetto visivo: quando la GPU renderizza altri oggetti virtuali, i pixel delle parti occluse vengono automaticamente scartati perché non superano il depth test, facendo sì che gli oggetti virtuali seguano la logica di occlusion dello spazio fisico reale.

Usare geometry come occlusion

Seguire i passaggi seguenti per aggiungere nella scena geometry usata come occlusion e verificare l'effetto.

Posizionare occlusion geometry

Secondo il dense model di Mega Block, usare built-in geometry o geometry personalizzata come occlusion e posizionarla nella posizione corretta nel sistema di coordinate Block. Place occlusion geometry

[Optional] Regolare finemente la posizione della geometry secondo il panorama

Fine-tune occlusion according to the panorama

Assegnare un materiale di occlusion alla geometry

Modificare il materiale della geometry in materiale di occlusion. È possibile usare SpatialMappingOcculusion integrato in Unity. Fine-tune occlusion according to the panorama

Simulare l'esecuzione con EIF data o eseguire su dispositivo reale

Regolare finemente il posizionamento del modello di occlusion in base all'effetto di esecuzione.

Usare un dense model tagliato e ridotto come occlusion

Seguire i passaggi seguenti per tagliare e ridurre il dense model Mega Block esportato, ottenere un modello bianco per occlusion e importarlo nella scena come occlusion.

Esportare in Mega Blocks

Fare clic sul pulsante Export a destra di Mesh per esportare il dense model.

Modificare le opzioni di export

Durante l'export, prestare attenzione a modificare le opzioni di export.

Nella figura, 1 è il LOD level. Più basso è il livello, più semplice è il modello e minore è il numero di face. Se è necessaria la massima precisione, selezionare il livello più alto.

Nella figura, 2 è l'opzione di export texture. Qui è necessario solo il modello bianco come occlusion, quindi non servono texture.

Tagliare e ridurre il modello

Tagliare e ridurre il modello esportato in un software di creazione contenuti digitali, ad esempio Blender, e salvarlo come Glb.

Consiglio

Nell'esempio viene usato Decimate Modifier di Blender.

Before cropping

Dopo taglio e riduzione:

After cropping

Importare il modello di occlusion in Unity e montarlo sotto il nodo Block nella scena

Import occlusion model

Modificare Transform del modello

Modificare il Transform del modello in modo che Position e Rotation siano entrambi 0.

A questo punto, il modello bianco usato per occlusion dovrebbe aderire al dense model, perché durante taglio e riduzione nel software di creazione contenuti digitali non è stata modificata la definizione del sistema di coordinate Block.

Occlusion model fit

Assegnare un materiale di occlusion al modello

Modificare il materiale del modello in materiale di occlusion. È possibile usare SpatialMappingOcculusion integrato in Unity.

Replace occlusion model material

Simulare l'esecuzione con EIF data o eseguire su dispositivo reale

Usare EIF data per simulare l'esecuzione o eseguire su dispositivo reale per vedere l'effetto.

Aspettative sull'effetto di occlusion

L'effetto di occlusion è influenzato principalmente da:

  • Accuratezza del localization tracking stesso
  • Accuratezza del posizionamento del modello
  • Accuratezza del modello stesso, se non è una geometry semplice

Durante localization drift, una mancata corrispondenza di alcuni centimetri è normale.

Un modello di occlusion con troppe face può influire facilmente sulle prestazioni. Si consiglia di usarlo solo nelle aree necessarie e di usare il più possibile simple geometry come occlusion.

Argomenti correlati