FAnimNode_SplineIK

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

AnimGraphRuntime

Header

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

Include

#include "BoneControllers/AnimNode_SplineIK.h"

Syntax

struct FAnimNode_SplineIK : public FAnimNode_SkeletalControlBase

Variables

Name Description

Public variable

bool

 

bAutoCalculateSpline

The number of points in the spline if we are specifying it directly

Public variable

ESplineBoneAxis

 

BoneAxis

Axis of the controlled bone (ie the direction of the spline) to use as the direction for the curve.

Public variable

TArray< FTransf...

 

ControlPoints

Transforms applied to spline points

Public variable

FBoneReference

 

EndBone

Name of bone at the end of the spline chain.

Public variable

float

 

Offset

The distance along the spline from the start from which bones are constrained

Public variable

int32

 

PointCount

The number of points in the spline if we are not auto-calculating

Public variable

float

 

Roll

Overall roll of the spline, applied on top of other rotations along the direction of the spline

Public variable

FBoneReference

 

StartBone

Name of root bone from which the spline extends

Public variable

float

 

Stretch

The maximum stretch allowed when fitting bones to the spline.

Public variable

FAlphaBlend

 

TwistBlend

How to interpolate twist along the length of the spline

Public variable

float

 

TwistEnd

The twist of the end bone. Twist is interpolated along the spline according to Twist Blend.

Public variable

float

 

TwistStart

The twist of the start bone. Twist is interpolated along the spline according to Twist Blend.

Constructors

Name Description

Public function

FAnimNode_SplineIK()

Functions

Name Description

Protected function

void

 

BuildBoneSpline

(
    const FReferenceSkeleton& RefSkele...
)

Build spline from reference pose

Protected function

float

 

FindParamAtFirstSphereIntersection

(
    const FVector& InOrigin,
    float InRadius,
    int32& StartingLinearIndex
)

Use our linear approximation to determine the earliest intersection with a sphere

Public function

void

 

GatherBoneReferences

(
    const FReferenceSkeleton& RefSkele...
)

Build bone references & reallocate transforms from the supplied ref skeleton

Public function Const

FTransform

 

GetControlPoint

(
    int32 TransformIndex
)

Get specified handle transform (in component space) for the spline

Public function Const

int32

 

GetNumControlPoints()

Get the number of spline transforms we are using

Public function Const

const FSplin...

 

GetSplineCurves()

Read-only access to spline curves

Public function Const

const FSplin...

 

GetTransformedSplineCurves()

Read-only access to transformed curves

Public function Const

FTransform

 

GetTransformedSplinePoint

(
    int32 TransformIndex
)

Get transformed spline point (in component space) for the spline

Public function

void

 

SetControlPoint

(
    int32 TransformIndex,
    const FTransform& InTransform
)

Set specified handle transform (in component space) for the spline

Public function

void

 

SetControlPointLocation

(
    int32 TransformIndex,
    const FVector& InLocation
)

Set specified handle location (in component space) for the spline

Public function

void

 

SetControlPointRotation

(
    int32 TransformIndex,
    const FQuat& InRotation
)

Set specified handle rotation (in component space) for the spline

Public function

void

 

SetControlPointScale

(
    int32 TransformIndex,
    const FVector& InScale
)

Set specified handle scale (in component space) for the spline

Protected function

void

 

TransformSpline()

Transform the spline using our control points

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 Const

bool

 

NeedsOnInitializeAnimInstance()

For nodes that need some kind of initialization that is not dependent on node relevancy (i.e. it is insufficent or inefficent to use Initialize_AnyThread), return true here.

Public function Virtual

void

 

OnInitializeAnimInstance

(
    const FAnimInstanceProxy* InPr...,
    const UAnimInstance* InAnimIns...
)

Called once, from game thread as the parent anim instance is created

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