FAnimNode_Fabrik

Controller which implements the FABRIK IK approximation algorithm - see [http://www.academia.edu/9165835/FABRIK_A_fast_iterative_solver_for_the_Inverse_Kinematics_problem](http://www.academia.edu/9165835/FABRIK_A_fast_iterative_solver_for_the_Inverse_Kinematics_problem) for details

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

AnimGraphRuntime

Header

/Engine/Source/Runtime/AnimGraphRuntime/Public/BoneControllers/AnimNode_Fabrik.h

Include

#include "BoneControllers/AnimNode_Fabrik.h"

Syntax

struct FAnimNode_Fabrik : public FAnimNode_SkeletalControlBase

Remarks

Controller which implements the FABRIK IK approximation algorithm - see http://www.academia.edu/9165835/FABRIK_A_fast_iterative_solver_for_the_Inverse_Kinematics_problem for details

Variables

Name Description

Public variable

bool

 

bEnableDebugDraw

Toggle drawing of axes to debug joint rotation

Public variable

TEnumAsByte< en...

 

EffectorRotationSource

Public variable

FBoneSocketTarg...

 

EffectorTarget

If EffectorTransformSpace is a bone, this is the bone to use.

Public variable

FTransform

 

EffectorTransform

Coordinates for target location of tip bone - if EffectorLocationSpace is bone, this is the offset from Target Bone to use as target location

Public variable

TEnumAsByte< en...

 

EffectorTransformSpace

Reference frame of Effector Transform.

Public variable

int32

 

MaxIterations

Maximum number of iterations allowed, to control performance.

Public variable

float

 

Precision

Tolerance for final tip location delta from EffectorLocation

Public variable

FBoneReference

 

RootBone

Name of the root bone

Public variable

FBoneReference

 

TipBone

Name of tip bone

Constructors

Name Description

Public function

FAnimNode_Fabrik()

Functions

Name Description

Public function Virtual Const

void

 

ConditionalDebugDraw

(
    FPrimitiveDrawInterface* PDI,
    USkeletalMeshComponent* Previe...
)

Overridden from FAnimNode_SkeletalControlBase

Name Description

Public function Virtual

void

 

EvaluateSkeletalControl_AnyThread

(
    FComponentSpacePoseContext& Output,
    TArray< FBoneTransform >& OutBoneT...
)

Evaluate the new component-space transforms for the affected bones.

Public function Virtual

bool

 

IsValidToEvaluate

(
    const USkeleton* Skeleton,
    const FBoneContainer& RequiredBone...
)

Return true if it is valid to Evaluate

Overridden from FAnimNode_Base

Name Description

Public function Virtual

void

 

GatherDebugData

(
    FNodeDebugData& DebugData
)

Called to gather on-screen debug data. This is called on the game thread.

Public function Virtual

void

 

Initialize_AnyThread

(
    const FAnimationInitializeContext&...
)

Called when the node first runs.

Deprecated Variables

Name Description

Public variable

FBoneReference

 

EffectorTransformBone_DEPRECATED

If EffectorTransformSpace is a bone, this is the bone to use.

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