Struct MotionSynthesizerHolder | Kinematica | 0.7.0-preview
docs.unity3d.com
    Show / Hide Table of Contents

    Struct MotionSynthesizerHolder

    This struct hold and setup the synthesizer and its dependencies. The synthesizer cannot hold directly its own dependencies because they are managed code and synthesizer need to be unmanaged in order to be used by Burst

    Namespace: Unity.Kinematica
    Syntax
    public struct MotionSynthesizerHolder

    Properties

    Binary

    Allows direct access to the underlying Kinematica runtime asset.

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

    IsValid

    Return true if the synthesizer is initialized and ready to be used, false otherwise

    Declaration
    public bool IsValid { get; }
    Property Value
    Type Description
    Boolean

    Synthesizer

    Allows direct access to the motion synthesizer.

    Declaration
    public MemoryRef<MotionSynthesizer> Synthesizer { get; }
    Property Value
    Type Description
    MemoryRef<MotionSynthesizer>
    Remarks

    Most of Kinematica's API methods can be found in the motion synthesizer. API methods that are specific to the game object wrapper can be found on the Kinematica component directly.

    Methods

    Create(Transform, BinaryReference, Single, Int32)

    Create synthesizer holder

    Declaration
    public static MotionSynthesizerHolder Create(Transform transform, BinaryReference resource, float blendDuration, int capacity = 1024)
    Parameters
    Type Name Description
    Transform transform

    Start root transform

    BinaryReference resource

    Reference to Kinematica binary

    Single blendDuration

    Blend duration between segments in seconds

    Int32 capacity

    Initial alllocated memory in bytes for the task graph data

    Returns
    Type Description
    MotionSynthesizerHolder

    CreateInvalid()

    Create uninitialized synthesizer holder, which can still be checked for validity by checking

    IsValid
    property

    Declaration
    public static MotionSynthesizerHolder CreateInvalid()
    Returns
    Type Description
    MotionSynthesizerHolder

    Dispose()

    Dispose the internal buffers

    Declaration
    public void Dispose()
    Remarks

    This method releases all internally constructed objects and unregisters the Kinematica component from the snapshot debugger.

    OnEarlyUpdate(Boolean)

    To be called during the regular OnEarlyUpdate loop.

    Declaration
    public void OnEarlyUpdate(bool rewind)
    Parameters
    Type Name Description
    Boolean rewind

    OnReadPostProcess(Buffer)

    Perform the SnapshotDebugger OnPostProcess(Buffer buffer) method on the synthesizer.

    Declaration
    public void OnReadPostProcess(Buffer buffer)
    Parameters
    Type Name Description
    Buffer buffer

    OnWritePostProcess(Buffer)

    Perform the SnapshotDebugger OnPostProcess() method on the synthesizer with the provided buffer.

    Declaration
    public void OnWritePostProcess(Buffer buffer)
    Parameters
    Type Name Description
    Buffer buffer

    ReadFromStream(Buffer)

    Forward the SnapshotDebugger ReadFromStream call to the synthesizer

    Declaration
    public void ReadFromStream(Buffer buffer)
    Parameters
    Type Name Description
    Buffer buffer

    Update()

    To be called during the regular game object update loop.

    Declaration
    public void Update()

    WriteToStream(Buffer)

    Forward the SnapshotDebugger WriteToStream call to the synthesizer

    Declaration
    public void WriteToStream(Buffer buffer)
    Parameters
    Type Name Description
    Buffer buffer

    See Also

    MotionSynthesizer
    MotionSynthesizer
    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