docs.unity3d.com
    Show / Hide Table of Contents

    Class ARFaceManager

    Creates, updates, and removes GameObjects with ARFace components under the XROrigin's TrackablesParent.

    Inheritance
    Object
    UnityEngine.Object
    UnityEngine.Component
    UnityEngine.Behaviour
    UnityEngine.MonoBehaviour
    SubsystemLifecycleManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider>
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>
    ARFaceManager
    Inherited Members
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.trackables
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.SetTrackablesActive(Boolean)
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.origin
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.sessionOrigin
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.gameObjectName
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.GetPrefab()
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.m_Trackables
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.m_PendingAdds
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.Awake()
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.OnEnable()
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.OnDisable()
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.CanBeAddedToSubsystem(ARFace)
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.Update()
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.OnTrackablesChanged(List<ARFace>, List<ARFace>, List<ARFace>)
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.OnCreateTrackable(ARFace)
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.OnAfterSetSessionRelativeData(ARFace, XRFace)
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.CreateTrackableImmediate(XRFace)
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.DestroyPendingTrackable(TrackableId)
    ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>.CreateTrackableFromExisting(ARFace, XRFace)
    SubsystemLifecycleManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider>.subsystem
    SubsystemLifecycleManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider>.descriptor
    SubsystemLifecycleManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider>.GetActiveSubsystemInstance()
    SubsystemLifecycleManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider>.EnsureSubsystemInstanceSet()
    SubsystemLifecycleManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider>.OnEnable()
    SubsystemLifecycleManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider>.OnDisable()
    SubsystemLifecycleManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider>.OnDestroy()
    SubsystemLifecycleManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider>.OnBeforeStart()
    SubsystemLifecycleManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider>.OnAfterStart()
    UnityEngine.MonoBehaviour.IsInvoking()
    UnityEngine.MonoBehaviour.CancelInvoke()
    UnityEngine.MonoBehaviour.Invoke(System.String, System.Single)
    UnityEngine.MonoBehaviour.InvokeRepeating(System.String, System.Single, System.Single)
    UnityEngine.MonoBehaviour.CancelInvoke(System.String)
    UnityEngine.MonoBehaviour.IsInvoking(System.String)
    UnityEngine.MonoBehaviour.StartCoroutine(System.String)
    UnityEngine.MonoBehaviour.StartCoroutine(System.String, System.Object)
    UnityEngine.MonoBehaviour.StartCoroutine(System.Collections.IEnumerator)
    UnityEngine.MonoBehaviour.StartCoroutine_Auto(System.Collections.IEnumerator)
    UnityEngine.MonoBehaviour.StopCoroutine(System.Collections.IEnumerator)
    UnityEngine.MonoBehaviour.StopCoroutine(UnityEngine.Coroutine)
    UnityEngine.MonoBehaviour.StopCoroutine(System.String)
    UnityEngine.MonoBehaviour.StopAllCoroutines()
    UnityEngine.MonoBehaviour.print(System.Object)
    UnityEngine.MonoBehaviour.useGUILayout
    UnityEngine.MonoBehaviour.runInEditMode
    UnityEngine.Behaviour.enabled
    UnityEngine.Behaviour.isActiveAndEnabled
    UnityEngine.Component.GetComponent(System.Type)
    UnityEngine.Component.GetComponent<T>()
    UnityEngine.Component.TryGetComponent(System.Type, UnityEngine.Component)
    UnityEngine.Component.TryGetComponent<T>(T)
    UnityEngine.Component.GetComponent(System.String)
    UnityEngine.Component.GetComponentInChildren(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentInChildren(System.Type)
    UnityEngine.Component.GetComponentInChildren<T>(System.Boolean)
    UnityEngine.Component.GetComponentInChildren<T>()
    UnityEngine.Component.GetComponentsInChildren(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentsInChildren(System.Type)
    UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean)
    UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean, System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponentsInChildren<T>()
    UnityEngine.Component.GetComponentsInChildren<T>(System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponentInParent(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentInParent(System.Type)
    UnityEngine.Component.GetComponentInParent<T>(System.Boolean)
    UnityEngine.Component.GetComponentInParent<T>()
    UnityEngine.Component.GetComponentsInParent(System.Type, System.Boolean)
    UnityEngine.Component.GetComponentsInParent(System.Type)
    UnityEngine.Component.GetComponentsInParent<T>(System.Boolean)
    UnityEngine.Component.GetComponentsInParent<T>(System.Boolean, System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponentsInParent<T>()
    UnityEngine.Component.GetComponents(System.Type)
    UnityEngine.Component.GetComponents(System.Type, System.Collections.Generic.List<UnityEngine.Component>)
    UnityEngine.Component.GetComponents<T>(System.Collections.Generic.List<T>)
    UnityEngine.Component.GetComponents<T>()
    UnityEngine.Component.CompareTag(System.String)
    UnityEngine.Component.SendMessageUpwards(System.String, System.Object, UnityEngine.SendMessageOptions)
    UnityEngine.Component.SendMessageUpwards(System.String, System.Object)
    UnityEngine.Component.SendMessageUpwards(System.String)
    UnityEngine.Component.SendMessageUpwards(System.String, UnityEngine.SendMessageOptions)
    UnityEngine.Component.SendMessage(System.String, System.Object)
    UnityEngine.Component.SendMessage(System.String)
    UnityEngine.Component.SendMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
    UnityEngine.Component.SendMessage(System.String, UnityEngine.SendMessageOptions)
    UnityEngine.Component.BroadcastMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
    UnityEngine.Component.BroadcastMessage(System.String, System.Object)
    UnityEngine.Component.BroadcastMessage(System.String)
    UnityEngine.Component.BroadcastMessage(System.String, UnityEngine.SendMessageOptions)
    UnityEngine.Component.transform
    UnityEngine.Component.gameObject
    UnityEngine.Component.tag
    UnityEngine.Object.GetInstanceID()
    UnityEngine.Object.GetHashCode()
    UnityEngine.Object.Equals(System.Object)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform)
    UnityEngine.Object.Instantiate(UnityEngine.Object)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform)
    UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform, System.Boolean)
    UnityEngine.Object.Instantiate<T>(T)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Vector3, UnityEngine.Quaternion)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Transform)
    UnityEngine.Object.Instantiate<T>(T, UnityEngine.Transform, System.Boolean)
    UnityEngine.Object.Destroy(UnityEngine.Object, System.Single)
    UnityEngine.Object.Destroy(UnityEngine.Object)
    UnityEngine.Object.DestroyImmediate(UnityEngine.Object, System.Boolean)
    UnityEngine.Object.DestroyImmediate(UnityEngine.Object)
    UnityEngine.Object.FindObjectsOfType(System.Type)
    UnityEngine.Object.FindObjectsOfType(System.Type, System.Boolean)
    UnityEngine.Object.DontDestroyOnLoad(UnityEngine.Object)
    UnityEngine.Object.DestroyObject(UnityEngine.Object, System.Single)
    UnityEngine.Object.DestroyObject(UnityEngine.Object)
    UnityEngine.Object.FindSceneObjectsOfType(System.Type)
    UnityEngine.Object.FindObjectsOfTypeIncludingAssets(System.Type)
    UnityEngine.Object.FindObjectsOfType<T>()
    UnityEngine.Object.FindObjectsOfType<T>(System.Boolean)
    UnityEngine.Object.FindObjectOfType<T>()
    UnityEngine.Object.FindObjectOfType<T>(System.Boolean)
    UnityEngine.Object.FindObjectsOfTypeAll(System.Type)
    UnityEngine.Object.FindObjectOfType(System.Type)
    UnityEngine.Object.FindObjectOfType(System.Type, System.Boolean)
    UnityEngine.Object.ToString()
    UnityEngine.Object.name
    UnityEngine.Object.hideFlags
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: UnityEngine.XR.ARFoundation
    Syntax
    [RequireComponent(typeof(XROrigin))]
    [DisallowMultipleComponent]
    [DefaultExecutionOrder(-2147483647)]
    public sealed class ARFaceManager : ARTrackableManager<XRFaceSubsystem, XRFaceSubsystemDescriptor, XRFaceSubsystem.Provider, XRFace, ARFace>
    Remarks

    When enabled, this component subscribes to facesChanged event to update face data. If this component is disabled, and there are no other subscribers to those events, face detection will be disabled on the device.

    Properties

    currentMaximumFaceCount

    Get the maximum number of faces to track simultaneously.

    Declaration
    public int currentMaximumFaceCount { get; }
    Property Value
    Type Description
    Int32

    facePrefab

    Getter/setter for the Face Prefab.

    Declaration
    public GameObject facePrefab { get; set; }
    Property Value
    Type Description
    UnityEngine.GameObject

    gameObjectName

    The name assigned to each GameObject belonging to each ARFace.

    Declaration
    protected override string gameObjectName { get; }
    Property Value
    Type Description
    String
    Overrides
    UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRFaceSubsystem, UnityEngine.XR.ARSubsystems.XRFaceSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRFaceSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRFace, UnityEngine.XR.ARFoundation.ARFace>.gameObjectName

    maximumFaceCount

    Get or set the maximum number of faces to track simultaneously. This method is obsolete. Use currentMaximumFaceCount or requestedMaximumFaceCount instead.

    Declaration
    [Obsolete("Use requestedMaximumFaceCount or currentMaximumFaceCount instead. (2020-01-14)")]
    public int maximumFaceCount { get; set; }
    Property Value
    Type Description
    Int32

    requestedMaximumFaceCount

    Get or set the requested maximum number of faces to track simultaneously

    Declaration
    public int requestedMaximumFaceCount { get; set; }
    Property Value
    Type Description
    Int32

    supportedFaceCount

    Get the supported number of faces that can be tracked simultaneously. This value might change when the configuration changes.

    Declaration
    public int supportedFaceCount { get; }
    Property Value
    Type Description
    Int32

    Methods

    GetPrefab()

    Get the Prefab that will be instantiated for each ARFace. Can be null.

    Declaration
    protected override GameObject GetPrefab()
    Returns
    Type Description
    UnityEngine.GameObject

    The prefab that will be instantiated for each ARFace.

    Overrides
    UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRFaceSubsystem, UnityEngine.XR.ARSubsystems.XRFaceSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRFaceSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRFace, UnityEngine.XR.ARFoundation.ARFace>.GetPrefab()

    OnAfterSetSessionRelativeData(ARFace, XRFace)

    Invoked just after a ARFace has been updated.

    Declaration
    protected override void OnAfterSetSessionRelativeData(ARFace face, XRFace sessionRelativeData)
    Parameters
    Type Name Description
    ARFace face
    XRFace sessionRelativeData
    Overrides
    UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRFaceSubsystem, UnityEngine.XR.ARSubsystems.XRFaceSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRFaceSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRFace, UnityEngine.XR.ARFoundation.ARFace>.OnAfterSetSessionRelativeData(UnityEngine.XR.ARFoundation.ARFace, UnityEngine.XR.ARSubsystems.XRFace)

    OnBeforeStart()

    Invoked just before calling Start on the Subsystem. Used to set the requestedMaximumFaceCount on the subsystem.

    Declaration
    protected override void OnBeforeStart()
    Overrides
    UnityEngine.XR.ARFoundation.SubsystemLifecycleManager<UnityEngine.XR.ARSubsystems.XRFaceSubsystem, UnityEngine.XR.ARSubsystems.XRFaceSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRFaceSubsystem.Provider>.OnBeforeStart()

    OnTrackablesChanged(List<ARFace>, List<ARFace>, List<ARFace>)

    Invoked when the base class detects trackable changes.

    Declaration
    protected override void OnTrackablesChanged(List<ARFace> added, List<ARFace> updated, List<ARFace> removed)
    Parameters
    Type Name Description
    List<ARFace> added

    The list of added ARFaces.

    List<ARFace> updated

    The list of updated ARFaces.

    List<ARFace> removed

    The list of removed ARFaces.

    Overrides
    UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRFaceSubsystem, UnityEngine.XR.ARSubsystems.XRFaceSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRFaceSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRFace, UnityEngine.XR.ARFoundation.ARFace>.OnTrackablesChanged(System.Collections.Generic.List<UnityEngine.XR.ARFoundation.ARFace>, System.Collections.Generic.List<UnityEngine.XR.ARFoundation.ARFace>, System.Collections.Generic.List<UnityEngine.XR.ARFoundation.ARFace>)

    TryGetFace(TrackableId)

    Attempts to retrieve an ARFace.

    Declaration
    public ARFace TryGetFace(TrackableId faceId)
    Parameters
    Type Name Description
    TrackableId faceId

    The TrackableId associated with the ARFace.

    Returns
    Type Description
    ARFace

    The ARFaceif found. null otherwise.

    Events

    facesChanged

    Raised for each new ARFace detected in the environment.

    Declaration
    public event Action<ARFacesChangedEventArgs> facesChanged
    Event Type
    Type Description
    Action<ARFacesChangedEventArgs>
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023