docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class MocapDevice<T>

    A type of LiveCaptureDevice that provides the common functionality required to implement support for third-party motion capture devices.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    LiveCaptureDevice
    MocapDevice<T>
    Implements
    ITimedDataSource
    IRegistrable
    Inherited Members
    LiveCaptureDevice.GetTakeRecorder()
    LiveCaptureDevice.UpdateDevice()
    LiveCaptureDevice.IsReady()
    LiveCaptureDevice.Refresh()
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    MonoBehaviour.CancelInvoke(string)
    MonoBehaviour.IsInvoking(string)
    MonoBehaviour.StartCoroutine(string)
    MonoBehaviour.StartCoroutine(string, object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(string)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(object)
    MonoBehaviour.useGUILayout
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.CompareTag(string)
    Component.SendMessageUpwards(string, object, SendMessageOptions)
    Component.SendMessageUpwards(string, object)
    Component.SendMessageUpwards(string)
    Component.SendMessageUpwards(string, SendMessageOptions)
    Component.SendMessage(string, object)
    Component.SendMessage(string)
    Component.SendMessage(string, object, SendMessageOptions)
    Component.SendMessage(string, SendMessageOptions)
    Component.BroadcastMessage(string, object, SendMessageOptions)
    Component.BroadcastMessage(string, object)
    Component.BroadcastMessage(string)
    Component.BroadcastMessage(string, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    Namespace: Unity.LiveCapture.Mocap
    Assembly: Unity.LiveCapture.Mocap.dll
    Syntax
    public abstract class MocapDevice<T> : LiveCaptureDevice, ITimedDataSource, IRegistrable
    Type Parameters
    Name Description
    T

    The type of data the device uses each frame to pose the actor.

    Properties

    Animator

    The Animator component this device operates.

    Declaration
    public Animator Animator { get; set; }
    Property Value
    Type Description
    Animator

    BufferSize

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

    FrameRate

    Declaration
    public FrameRate FrameRate { get; }
    Property Value
    Type Description
    FrameRate

    FriendlyName

    Declaration
    public string FriendlyName { get; protected set; }
    Property Value
    Type Description
    string

    Id

    Declaration
    public string Id { get; }
    Property Value
    Type Description
    string

    IsSynchronized

    Declaration
    public bool IsSynchronized { get; set; }
    Property Value
    Type Description
    bool

    MaxBufferSize

    Declaration
    public int? MaxBufferSize { get; }
    Property Value
    Type Description
    int?

    MinBufferSize

    Declaration
    public int? MinBufferSize { get; }
    Property Value
    Type Description
    int?

    PresentationOffset

    Declaration
    public FrameTime PresentationOffset { get; set; }
    Property Value
    Type Description
    FrameTime

    Synchronizer

    Declaration
    public ISynchronizer Synchronizer { get; set; }
    Property Value
    Type Description
    ISynchronizer

    Methods

    AddFrame(T, Timecode, FrameRate)

    Adds a new frame of data to the process queue.

    Declaration
    protected void AddFrame(T frame, Timecode timecode, FrameRate frameRate)
    Parameters
    Type Name Description
    T frame

    The frame to add.

    Timecode timecode

    The timecode of the frame.

    FrameRate frameRate

    The frame rate the timecode runs into.

    IsRecording()

    Declaration
    public override sealed bool IsRecording()
    Returns
    Type Description
    bool
    Overrides
    LiveCaptureDevice.IsRecording()

    LiveUpdate()

    Declaration
    public override void LiveUpdate()
    Overrides
    LiveCaptureDevice.LiveUpdate()

    OnDestroy()

    Declaration
    protected override void OnDestroy()
    Overrides
    LiveCaptureDevice.OnDestroy()

    OnDisable()

    This function is called when the behaviour becomes disabled.

    Declaration
    protected virtual void OnDisable()

    OnEnable()

    This function is called when the object becomes enabled and active.

    Declaration
    protected virtual void OnEnable()

    OnRecordingChanged()

    The device calls this method when the recording state changes.

    Declaration
    protected virtual void OnRecordingChanged()

    OnValidate()

    Editor-only function that Unity calls when the script is loaded or a value changes in the Inspector.

    Declaration
    public virtual void OnValidate()
    Remarks

    You would usually use this to perform an action after a value changes in the Inspector; for example, making sure that data stays within a certain range.

    Present(Transform, Vector3?, Quaternion?, Vector3?)

    Sets the position, rotation and scale of a specified transform.

    Declaration
    protected void Present(Transform transform, Vector3? position, Quaternion? rotation, Vector3? scale)
    Parameters
    Type Name Description
    Transform transform

    The transform to present the values to.

    Vector3? position

    The position to set.

    Quaternion? rotation

    The rotation to set.

    Vector3? scale

    The scale to set.

    Remarks

    The values are not immediately applied and might change due to other devices operating the same transform.

    PresentAt(Timecode, FrameRate)

    Declaration
    public TimedSampleStatus PresentAt(Timecode timecode, FrameRate frameRate)
    Parameters
    Type Name Description
    Timecode timecode
    FrameRate frameRate
    Returns
    Type Description
    TimedSampleStatus

    ProcessFrame(T)

    Override this method to process the specified frame.

    Declaration
    protected abstract void ProcessFrame(T frame)
    Parameters
    Type Name Description
    T frame

    The frame to add.

    RegisterLiveProperties()

    Registers the animated transforms to prevent Unity from marking Prefabs or the Scene as modified when you preview animations.

    Declaration
    public void RegisterLiveProperties()

    ResetSyncBuffer()

    Invalidates the synchronization frame buffer by clearing any queued frame.

    Declaration
    protected void ResetSyncBuffer()

    RestoreLiveProperties()

    Restores the transforms previously registered.

    Declaration
    public void RestoreLiveProperties()

    StartRecording()

    Declaration
    public override sealed void StartRecording()
    Overrides
    LiveCaptureDevice.StartRecording()

    StopRecording()

    Declaration
    public override sealed void StopRecording()
    Overrides
    LiveCaptureDevice.StopRecording()

    TryGetBufferRange(out FrameTime, out FrameTime)

    Declaration
    public bool TryGetBufferRange(out FrameTime oldestSample, out FrameTime newestSample)
    Parameters
    Type Name Description
    FrameTime oldestSample
    FrameTime newestSample
    Returns
    Type Description
    bool

    Write(ITakeBuilder)

    Declaration
    public override void Write(ITakeBuilder takeBuilder)
    Parameters
    Type Name Description
    ITakeBuilder takeBuilder
    Overrides
    LiveCaptureDevice.Write(ITakeBuilder)

    Implements

    ITimedDataSource
    IRegistrable
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)