SW 중심대학 OSS GIT 서버 박건태, 이승준, 고기완, 이준호 새로운 배포
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
1.8 KiB

4 years ago
  1. # AR face manager
  2. The face manager is a type of [trackable manager](trackable-managers.md).
  3. ![AR face manager](images/ar-face-manager.png "AR face manager")
  4. The face manager creates `GameObject`s for each face detected in the environment. The system only detects human faces.
  5. In some implementations, face tracking requires a different camera (for example, front-facing vs rear-facing) and might be incompatible with other features, such as plane or image tracking. Consider disabling other AR managers which manage trackables. These include:
  6. * [Plane tracking](plane-manager.md)
  7. * [Image tracking](tracked-image-manager.md)
  8. * [Object tracking](tracked-object-manager.md)
  9. * [Environment probes](environment-probe-manager.md)
  10. ## Responding to faces
  11. Faces can be added, updated, and removed. Once per frame, if the application detects a face, the AR face manager invokes the `facesChanged` event. This events contains three `List`s of faces that have been added, updated, and removed since the last frame.
  12. When a face is detected, the AR face manager instantiates the Face Prefab to represent the face. The Face Prefab can be left `null`, but the face manager ensures the instantiated `GameObject` has an `ARFace` component on it. The `ARFace` component only contains data about the detected face.
  13. ## Visualizing faces
  14. The face provider might provide a mesh that represents the face. The `ARFace` component exposes `vertices`, `normals`, `indices`, and `uvs` (texture coordinates). Some or all of these can be available.
  15. The `ARFaceMeshVisualizer` component generates a `UnityEngine.Mesh` and updates the `MeshFilter` on the same `GameObject` based on the data that the `ARFace` provides.
  16. Check the face subsystem's `SubsystemDescriptor` (`ARFaceManager.descriptor`) for provider-specific features.