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
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
LiveUpdate()
Declaration
public override void LiveUpdate()
Overrides
OnDestroy()
Declaration
protected override void OnDestroy()
Overrides
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
StopRecording()
Declaration
public override sealed void StopRecording()
Overrides
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 |