FAnimNode_LayeredBoneBlend

Layered blend (per bone); has dynamic number of blendposes that can blend per different bone sets.

Windows
MacOS
Linux

Inheritance Hierarchy

FAnimNode_Base

FAnimNode_LayeredBoneBlend

References

Module

AnimGraphRuntime

Header

/Engine/Source/Runtime/AnimGraphRuntime/Public/AnimNodes/AnimNode_LayeredBoneBlend.h

Include

#include "AnimNodes/AnimNode_LayeredBoneBlend.h"

Syntax

struct FAnimNode_LayeredBoneBlend : public FAnimNode_Base

Remarks

Layered blend (per bone); has dynamic number of blendposes that can blend per different bone sets.

Variables

Name Description

Public variable

FPoseLink

 

BasePose

The source pose

Public variable

bool

 

bBlendRootMotionBasedOnRootBone

Whether to incorporate the per-bone blend weight of the root bone when lending root motion

Public variable

bool

 

bHasRelevantPoses

Public variable

TArray< FPoseLi...

 

BlendPoses

Each layer's blended pose

Public variable

TArray< float >

 

BlendWeights

The weights of each layer

Public variable

bool

 

bMeshSpaceRotationBlend

Whether to blend bone rotations in mesh space or in local space

Public variable

bool

 

bMeshSpaceScaleBlend

Whether to blend bone scales in mesh space or in local space

Protected variable

TArray< FPerBon...

 

CurrentBoneBlendWeights

Public variable

TEnumAsByte< en...

 

CurveBlendOption

How to blend the layers together

Protected variable

TArray< uint8 >

 

CurvePoseSourceIndices

Protected variable

TArray< FPerBon...

 

DesiredBoneBlendWeights

Transient data to handle weight and target weight this array changes based on required bones

Public variable

TArray< FInputB...

 

LayerSetup

Configuration for the parts of the skeleton to blend for each layer.

Public variable

int32

 

LODThreshold

Max LOD that this node is allowed to run For example if you have LODThreadhold to be 2, it will run until LOD 2 (based on 0 index) when the component LOD becomes 3, it will stop update/evaluate currently transition would be issue and that has to be re-visited

Protected variable

TArray< FPerBon...

 

PerBoneBlendWeights

This is buffer to serialize blend weight data for each joints This has to save with the corresponding SkeletopnGuid If not, it will rebuild in run-time

Protected variable

FGuid

 

SkeletonGuid

Protected variable

FGuid

 

VirtualBoneGuid

Constructors

Name Description

Public function

FAnimNode_LayeredBoneBlend()

Functions

Name Description

Public function

void

 

AddPose()

Public function

void

 

ReinitializeBoneBlendWeights

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

Reinitialize bone weights

Public function

void

 

RemovePose

(
    int32 PoseIndex
)

Public function

void

 

ValidateData()

Ideally you don't like to get to situation where it becomes inconsistent, but this happened, and we don't know what caused this.

Overridden from FAnimNode_Base

Name Description

Public function Virtual

void

 

CacheBones_AnyThread

(
    const FAnimationCacheBonesContext&...
)

Called to cache any bones that this node needs to track (e.g. in a FBoneReference).

Public function Virtual

void

 

Evaluate_AnyThread

(
    FPoseContext& Output
)

Called to evaluate local-space bones transforms according to the weights set up in Update().

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

int32

 

GetLODThreshold()

Public function Virtual

void

 

Initialize_AnyThread

(
    const FAnimationInitializeContext&...
)

Called when the node first runs.

Public function Virtual

void

 

PostCompile

(
    const USkeleton* InSkeleton
)

Called after compilation

Public function Virtual

void

 

Update_AnyThread

(
    const FAnimationUpdateContext& Con...
)

Called to update the state of the graph relative to this node.

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