FAnimNode_TwoBoneIK

Simple 2 Bone IK Controller.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

AnimGraphRuntime

Header

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

Include

#include "BoneControllers/AnimNode_TwoBoneIK.h"

Syntax

struct FAnimNode_TwoBoneIK : public FAnimNode_SkeletalControlBase

Remarks

Simple 2 Bone IK Controller.

Variables

Name Description

Public variable

uint8: 1

 

bAllowStretching

Should stretching be allowed, to be prevent over extension

Public variable

uint8: 1

 

bAllowTwist

Whether or not to apply twist on the chain of joints.

Public variable

uint8: 1

 

bMaintainEffectorRelRot

Keep local rotation of end bone

Public variable

uint8: 1

 

bTakeRotationFromEffectorSpace

Set end bone to use End Effector rotation

Public variable

FCompactPoseBon...

 

CachedLowerLimbIndex

Cached limb index for lower

Public variable

FCompactPoseBon...

 

CachedUpperLimbIndex

Cached limb index for upper

Public variable

FVector

 

EffectorLocation

Effector Location. Target Location to reach.

Public variable

TEnumAsByte< en...

 

EffectorLocationSpace

Reference frame of Effector Location.

Public variable

FBoneSocketTarg...

 

EffectorTarget

Public variable

FBoneReference

 

IKBone

Name of bone to control. This is the main bone chain to modify from.

Public variable

FBoneSocketTarg...

 

JointTarget

Public variable

FVector

 

JointTargetLocation

Joint Target Location. Location used to orient Joint bone.

Public variable

TEnumAsByte< en...

 

JointTargetLocationSpace

Reference frame of Joint Target Location.

Public variable

float

 

MaxStretchScale

Limits to use if stretching is allowed.

Public variable

float

 

StartStretchRatio

Limits to use if stretching is allowed.

Public variable

FAxis

 

TwistAxis

Specify which axis it's aligned. Used when removing twist

Constructors

Name Description

Public function

FAnimNode_TwoBoneIK()

Functions

Name Description

Public function Const

void

 

ConditionalDebugDraw

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

Public function Static

FTransform

 

GetTargetTransform

(
    const FTransform& InComponentTrans...,
    FCSPose< FCompactPose >& MeshBases,
    FBoneSocketTarget& InTarget,
    EBoneControlSpace Space,
    const FVector& InOffset
)

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

bool

 

bNoTwist_DEPRECATED

Whether or not to apply twist on the chain of joints.

Public variable

FName

 

EffectorSpaceBoneName_DEPRECATED

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

Public variable

FName

 

JointTargetSpaceBoneName_DEPRECATED

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

Public variable

FVector2D

 

StretchLimits_DEPRECATED

Limits to use if stretching is allowed - old property DEPRECATED

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