RigLogic

[RigLogic](API\Plugins\RigLogicLib\riglogic\riglogic\RigLogic) calculates rig output values based on input control values. @note A single [RigLogic](API\Plugins\RigLogicLib\riglogic\riglogic\RigLogic) instance can create and drive an arbitrary number of rig instances. Since the rig instance specific data is located on the [RigInstance](API\Plugins\RigLogicLib\riglogic\riglogic\RigInstance) class, [RigLogic](API\Plugins\RigLogicLib\riglogic\riglogic\RigLogic) itself may be considered stateless, and all of it's functions thread-safe.

Windows
MacOS
Linux

References

Module

RigLogicLib

Header

/Engine/Plugins/Animation/RigLogic/Source/RigLogicLib/Public/riglogic/riglogic/RigLogic.h

Include

#include "riglogic/riglogic/RigLogic.h"

Syntax

class RigLogic

Remarks

RigLogic calculates rig output values based on input control values. @note A single RigLogic instance can create and drive an arbitrary number of rig instances. Since the rig instance specific data is located on the RigInstance class, RigLogic itself may be considered stateless, and all of it's functions thread-safe.

Destructors

Name Description

Protected function Virtual

~RigLogic()

Functions

Name Description

Public function Const

void

 

calculate

(
    RigInstance* instance
)

Calculate outputs for joints, blend shapes, and animated maps. @note It performs a complete evaluation of the rig, computing all the output values in the following order:

Public function Const

void

 

calculateAnimatedMaps

(
    RigInstance* instance
)

Calculate only the animated map outputs of the rig. @note This is considered as an advanced usage use case.

Public function Const

void

 

calculateBlendShapes

(
    RigInstance* instance
)

Calculate only the blend shape outputs of the rig. @note This is considered as an advanced usage use case.

Public function Const

void

 

calculateControls

(
    RigInstance* instance
)

Calculate only the input control values of the rig. @note Based on the set or computed raw control values, calculate the PSD outputs as well. The raw control values, followed by the PSD values represent the input values of the rig. @note This is considered as an advanced usage use case.

Public function Const

void

 

calculateJoints

(
    RigInstance* instance
)

Calculate only the joint outputs of the rig. @note This is considered as an advanced usage use case.

Public function Const

void

 

calculateJoints

(
    RigInstance* instance,
    std::uint16_t jointGroupIndex
)

Calculate individual joint groups. @note It's intended to be used in a multi-threaded environment, such that the calculatin of all joint groups is performed by several threads, instead of computing all at once. @note This is considered as an expert usage use case.

Public function Static

RigLogic ...

 

create

(
    const dna::BehaviorReader* rea...,
    CalculationType calculationType,
    MemoryResource* memRes
)

Factory method for the creation of RigLogic.

Public function Static

void

 

destroy

(
    RigLogic* instance
)

Method for freeing RigLogic.

Public function Const

void

 

dump

(
    BoundedIOStream* destination
)

Create a snapshot of an initialized RigLogic instance.

Public function Const

std::uint16_...

 

getJointGroupCount()

Number of joint groups present in the entire joint matrix.

Public function Const

ConstArrayVi...

 

getJointVariableAttributeIndices

(
    std::uint16_t lod
)

All joint output indices concatenated into a single chunk per each LOD.

Public function Const

std::uint16_...

 

getLODCount()

Available levels of detail (e.g. 6 which means the following levels are available: [0,1,2,3,4,5], where 0 is the LOD with the highest details, and 5 is the LOD with lowest details).

Public function Const

Transformati...

 

getNeutralJointValues()

Neutral values for joint transformations. @note A more user-friendly representation that groups values belonging to separate transformations into single units, while providing accessors to the actual values they represent.

Public function Const

ConstArrayVi...

 

getRawNeutralJointValues()

Neutral values of joint transformations. @note These is just a primitive array of floats, providing access to all the values of all transformations.

Public function Const

void

 

mapGUIToRawControls

(
    RigInstance* instance
)

Maps GUI controls to raw controls. @note This method must be called after either RigInstance::setGUIControlValues call or RigInstance::::setGUIControl calls were issued.

Public function Static

RigLogic ...

 

restore

(
    BoundedIOStream* source,
    MemoryResource* memRes
)

Factory method for restoring an instance of RigLogic from a memory dump. @note This form of creation allows faster instantiation of RigLogic, as it doesn't need to go through the storage optimization phase, it just loads an earlier dumped state of a RigLogic instance back into memory.

Typedefs

Name

Description

CalculationType

See Also

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss