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
- Completare avvio rapido con il sample EasyAR Mega Unity.
- Essere in grado di creare contenuti allineati con il mondo reale.
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.

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

Assegnare un materiale di occlusion alla geometry
Modificare il materiale della geometry in materiale di occlusion. È possibile usare SpatialMappingOcculusion integrato in Unity.

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.

Dopo taglio e riduzione:

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

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.

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

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.


