Navigation
API > API/Plugins > API/Plugins/RigLogicLib
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.
| Name | RigLogic |
| Type | class |
| Header File | /Engine/Plugins/Animation/RigLogic/Source/RigLogicLib/Public/riglogic/riglogic/RigLogic.h |
| Include Path | #include "riglogic/riglogic/RigLogic.h" |
Syntax
class RigLogic
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~RigLogic() |
riglogic/riglogic/RigLogic.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Configuration | rl4::Configuration | riglogic/riglogic/RigLogic.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void calculate
(
RigInstance* instance |
Calculate outputs for joints, blend shapes, and animated maps. | riglogic/riglogic/RigLogic.h | |
void calculateAnimatedMaps
(
RigInstance* instance |
Calculate only the animated map outputs of the rig. | riglogic/riglogic/RigLogic.h | |
void calculateBlendShapes
(
RigInstance* instance |
Calculate only the blend shape channel weights of the rig. | riglogic/riglogic/RigLogic.h | |
void calculateControls
(
RigInstance* instance |
Calculate only the input control values of the rig. | riglogic/riglogic/RigLogic.h | |
void calculateJoints
(
RigInstance* instance, |
Calculate individual joint groups. | riglogic/riglogic/RigLogic.h | |
void calculateJoints
(
RigInstance* instance |
Calculate only the joint outputs of the rig. | riglogic/riglogic/RigLogic.h | |
void calculateMachineLearnedBehaviorControls
(
RigInstance* instance, |
Calculate controls driving the machine learned behavior of the rig. | riglogic/riglogic/RigLogic.h | |
void calculateMachineLearnedBehaviorControls
(
RigInstance* instance |
Calculate controls driving the machine learned behavior of the rig. | riglogic/riglogic/RigLogic.h | |
void calculateRBFControls
(
RigInstance* instance |
Calculate controls driving the RBF behavior of the of the rig. | riglogic/riglogic/RigLogic.h | |
void calculateRBFControls
(
RigInstance* instance, |
Calculate controls driving the RBF behavior of the rig. | riglogic/riglogic/RigLogic.h | |
void collectCalculationStats
(
const RigInstance* instance, |
Collect stats that summarize the overall amount of data that participate in computation for the current LOD. | riglogic/riglogic/RigLogic.h | |
void dump
(
BoundedIOStream* destination |
Create a snapshot of an initialized RigLogic instance. | riglogic/riglogic/RigLogic.h | |
ConstArrayView< std::uint16_t > getAnimatedMapIndicesForLOD
(
std::uint16_t lod |
List of animated map indices that need to be computed on the specified LOD. | riglogic/riglogic/RigLogic.h | |
ConstArrayView< std::uint16_t > getBlendShapeChannelIndicesForLOD
(
std::uint16_t lod |
List of blend shape channel indices that need to be computed on the specified LOD. | riglogic/riglogic/RigLogic.h | |
const Configuration & getConfiguration() |
Retrieve the configuration that RigLogic was initialized with. | riglogic/riglogic/RigLogic.h | |
std::uint16_t getJointGroupCount () |
Number of joint groups present in the entire joint matrix. | riglogic/riglogic/RigLogic.h | |
ConstArrayView< std::uint16_t > getJointIndicesForLOD
(
std::uint16_t lod |
List of joint indices that need to be computed on the specified LOD. | riglogic/riglogic/RigLogic.h | |
ConstArrayView< std::uint16_t > getJointVariableAttributeIndices
(
std::uint16_t lod |
All joint output indices concatenated into a single chunk per each LOD. | riglogic/riglogic/RigLogic.h | |
std::uint16_t 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). | riglogic/riglogic/RigLogic.h | |
std::uint16_t getMeshCount() |
Number of meshes. | riglogic/riglogic/RigLogic.h | |
std::uint16_t getMeshRegionCount
(
std::uint16_t meshIndex |
Number of regions within the specified mesh. | riglogic/riglogic/RigLogic.h | |
std::uint16_t getNeuralNetworkCount () |
Number of neural networks for driving machine learned behavior. | riglogic/riglogic/RigLogic.h | |
ConstArrayView< std::uint16_t > getNeuralNetworkIndices
(
std::uint16_t meshIndex, |
Map a mesh and region index pair to the neural network indices that drive it. | riglogic/riglogic/RigLogic.h | |
ConstArrayView< std::uint32_t > getNeuralNetworkIndicesForLOD
(
std::uint16_t lod |
List of neural network indices that need to be computed on the specified LOD. | riglogic/riglogic/RigLogic.h | |
ConstArrayView< float > getNeutralJointValues () |
Neutral values of joint transformations. | riglogic/riglogic/RigLogic.h | |
std::uint16_t getRBFSolverCount () |
Number of RBF solvers for driving RBF behavior. | riglogic/riglogic/RigLogic.h | |
ConstArrayView< std::uint16_t > getRBFSolverIndicesForLOD
(
std::uint16_t lod |
List of RBF solver indices that need to be computed on the specified LOD. | riglogic/riglogic/RigLogic.h | |
void mapGUIToRawControls
(
RigInstance* instance |
Maps GUI controls to raw controls. | riglogic/riglogic/RigLogic.h | |
void mapRawToGUIControls
(
RigInstance* instance |
Maps raw controls to GUI controls. | riglogic/riglogic/RigLogic.h |
Protected
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static RigLogic * create
(
const dna::Reader* reader, |
Factory method for the creation of RigLogic. | riglogic/riglogic/RigLogic.h | |
| Method for freeing RigLogic. | riglogic/riglogic/RigLogic.h | ||
static RigLogic * restore
(
BoundedIOStream* source, |
Factory method for restoring an instance of RigLogic from a memory dump. | riglogic/riglogic/RigLogic.h |