Scopri come usare la funzionalità Volti aumentati per visualizzare asset sopra i volti umani nella tua app.
Prerequisiti
Assicurati di aver compreso i concetti fondamentali di AR e di configurare una sessione ARCore prima di procedere.
Rilevamento dei volti
I volti sono rappresentati da oggetti ARFace
che vengono creati, aggiornati e rimossi dall'elemento ARFaceManager
. Una volta per frame, ARFaceManager
richiama un evento facesChanged
che contiene tre elenchi: i volti aggiunti, i volti aggiornati e quelli rimossi dall'ultimo frame. Quando ARFaceManager
rileva un volto nella scena, crea un'istanza di Prefabbricato con un componente ARFace
collegato per seguire il volto. Il prefabbricato può essere lasciato null
.
Per configurare la ARFaceManager
, crea un nuovo oggetto di gioco e aggiungici l'oggetto ARFaceManager
.
Face Prefab è l'istanza prefabbricata creata nella posizione centrale del volto. Maximum Face Count rappresenta il numero massimo di volti che è possibile monitorare.
Accedi ai volti rilevati
Accedi ai volti rilevati tramite il componente ARFace
, collegato a Prefabbricato per i volti. ARFace
fornisce vertici, indici, normali dei vertici e coordinate delle texture.
Parti di un volto rilevato
L'API Augmented Faces fornisce una posa centrale, tre pose con regioni e una mesh per il viso 3D.
Posa centrale
La posa centrale, che segna il centro della testa di un utente, è il punto di origine del prefabbricato creato l'istanza dalla ARFaceManager
. Si trova all'interno del cranio, dietro il naso.
Gli assi della posa centrale sono i seguenti:
- L'asse X positivo (X+) punta verso l'orecchio sinistro
- L'asse Y positivo (Y+) punta verso l'alto rispetto alla faccia
- L'asse Z positivo (Z+) punta al centro della testa
Pose regione
Situate sulla fronte sinistra, sulla fronte destra e sulla punta del naso, l'area geografica contrassegna le parti importanti del volto di un utente. Le pose dell'area seguono lo stesso orientamento della posizione centrale.
Per utilizzare le pose della regione, annulla il sottosistema di ARFaceManager
in ARCoreFaceSubsystem
e utilizza subsystem.GetRegionPoses()
per ottenere informazioni sulla posa per ogni regione. Per un esempio di come eseguire questa operazione, vedi l'esempio di utilizzo di Unity su GitHub.
Mesh per il volto 3D
La mesh del volto è composta da 468 punti che compongono un volto umano. Viene definita anche rispetto alla posa centrale.
Per visualizzare la mesh del viso, collega un elemento ARFaceMeshVisualizer
a Face Prefab. La ARFaceMeshVisualizer
genera un elemento Mesh
corrispondente al volto rilevato, impostandolo come mesh negli elementi MeshFilter
e MeshCollider
allegati. Utilizza una MeshRenderer
per impostare la Material
utilizzata per il rendering del volto.
L'elemento AR Default Face Prefab esegue il rendering di un materiale predefinito sulle mesh di volti rilevate.
Per iniziare a usare il volto predefinito AR, procedi nel seguente modo:
- Configura una
ARFaceManager
. Nella scheda Hierarchy, usa + > XR > AR Default Face per creare un nuovo oggetto volto. Questo oggetto è temporaneo e può essere eliminato dopo aver creato il prefabbricato per il volto.
Accedi a AR Default Face in Inspector.
Trascina il volto predefinito AR appena creato dalla scheda Hierarchy alla finestra Project Assets per creare un prefabbricato.
Imposta il prefabbricato appena creato come prefabbricato per il volto nel campo Face Prefab di
ARFaceManager
.Nella scheda Hierarchy, elimina l'oggetto volto, perché non è più necessario.
Accesso ai singoli vertici della rete facciale
Utilizza face.vertices
per accedere alle posizioni dei vertici del mesh del viso. Utilizza face.normals
per accedere alle normali normali del vertice corrispondenti.
Visualizzare i singoli vertici della rete facciale
Puoi utilizzare Blender per visualizzare facilmente i numeri di indice che corrispondono ai vertici di un mesh di faccia:
- Apri Blender e importa
canonical_face_mesh.fbx
da GitHub. - Vai a Edit > Preferences > Interface.
Nel menu Display, seleziona Developer Extras.
Seleziona il volto facendo clic sul volto nell'area visibile 3D e premi Tab per accedere alla modalità di modifica.
Apri il menu a discesa accanto all'area visibile Overlays e seleziona Indices.
Evidenzia il vertice di cui vuoi determinare il numero di indice. Per evidenziare tutti i vertici, utilizza Select > All.