Class MocapDevice<T>
A type of LiveCaptureDevice that provides the common functionality required to implement support for third-party motion capture devices.
Inherited Members
Namespace: Unity.LiveCapture.Mocap
Syntax
public abstract class MocapDevice<T> : LiveCaptureDevice, IMocapDevice
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 |
FrameRate
The number of data samples per second.
Declaration
protected FrameRate FrameRate { get; set; }
Property Value
| Type | Description |
|---|---|
| FrameRate |
SyncBuffer
The synchronized data buffer.
Declaration
public ITimedDataSource SyncBuffer { get; }
Property Value
| Type | Description |
|---|---|
| ITimedDataSource |
Methods
AddFrame(T, Nullable<FrameTimeWithRate>)
Process a new frame of data.
Declaration
protected void AddFrame(T frame, FrameTimeWithRate? frameTime)
Parameters
| Type | Name | Description |
|---|---|---|
| T | frame | The frame to add. |
| Nullable<FrameTimeWithRate> | frameTime | The timecode of the frame. When null, a timecode will be generated. |
GetInterpolator()
Returns the interpolator to use when presenting values between frame samples.
Declaration
protected virtual IInterpolator<T> GetInterpolator()
Returns
| Type | Description |
|---|---|
| IInterpolator<T> | The interpolator to use when presenting values between frame samples. |
LiveUpdate()
Override this method to update the device during live mode.
Declaration
protected override void LiveUpdate()
Overrides
Remarks
This method is called after the animation system execution and before the script's LateUpdate.
OnDestroy()
This function is called when the behaviour gets destroyed.
Declaration
protected virtual void OnDestroy()
OnDisable()
The device calls this method when the device is about to get disabled.
Declaration
protected override void OnDisable()
Overrides
Remarks
If you override this method, call the base method in your implementation.
OnEnable()
The device calls this method when the device is about to get enabled.
Declaration
protected override void OnEnable()
Overrides
Remarks
If you override this method, call the base method in your implementation.
OnRecordingChanged()
The device calls this method when the recording state changes.
Declaration
protected virtual void OnRecordingChanged()
OnStartRecording()
The device calls this method when a new recording started.
Declaration
protected sealed override void OnStartRecording()
Overrides
OnStopRecording()
The device calls this method when the ongoing recording stopped.
Declaration
protected sealed override void OnStopRecording()
Overrides
OnValidate()
Editor-only function that Unity calls when the script is loaded or a value changes in the Inspector.
Declaration
protected 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, Nullable<Vector3>, Nullable<Quaternion>, Nullable<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. |
| Nullable<Vector3> | position | The position to set. |
| Nullable<Quaternion> | rotation | The rotation to set. |
| Nullable<Vector3> | scale | The scale to set. |
Remarks
The values are not immediately applied and might change due to other devices operating the same transform.
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()
Clears all frames in the synchronization buffer.
Declaration
protected void ResetSyncBuffer()
RestoreLiveProperties()
Restores the transforms previously registered.
Declaration
public void RestoreLiveProperties()
Write(ITakeBuilder)
Stores the recording into a take using a ITakeBuilder.
Declaration
public override void Write(ITakeBuilder takeBuilder)
Parameters
| Type | Name | Description |
|---|---|---|
| ITakeBuilder | takeBuilder | The take builder object. |