UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FAnimNode_BoneDrivenController Struct Reference

#include <AnimNode_BoneDrivenController.h>

+ Inheritance diagram for FAnimNode_BoneDrivenController:

Public Member Functions

ANIMGRAPHRUNTIME_API FAnimNode_BoneDrivenController ()
 
virtual ANIMGRAPHRUNTIME_API void GatherDebugData (FNodeDebugData &DebugData) override
 
virtual ANIMGRAPHRUNTIME_API void EvaluateSkeletalControl_AnyThread (FComponentSpacePoseContext &Output, TArray< FBoneTransform > &OutBoneTransforms) override
 
virtual ANIMGRAPHRUNTIME_API void EvaluateComponentSpaceInternal (FComponentSpacePoseContext &Context)
 
virtual ANIMGRAPHRUNTIME_API bool IsValidToEvaluate (const USkeleton *Skeleton, const FBoneContainer &RequiredBones) override
 
- Public Member Functions inherited from FAnimNode_SkeletalControlBase
 FAnimNode_SkeletalControlBase ()
 
virtual ~FAnimNode_SkeletalControlBase ()
 
virtual ANIMGRAPHRUNTIME_API void Initialize_AnyThread (const FAnimationInitializeContext &Context) override
 
virtual ANIMGRAPHRUNTIME_API void CacheBones_AnyThread (const FAnimationCacheBonesContext &Context) override
 
virtual ANIMGRAPHRUNTIME_API void Update_AnyThread (const FAnimationUpdateContext &Context) final
 
virtual ANIMGRAPHRUNTIME_API void EvaluateComponentSpace_AnyThread (FComponentSpacePoseContext &Output) final
 
virtual int32 GetLODThreshold () const override
 
ANIMGRAPHRUNTIME_API void SetAlpha (float InAlpha)
 
ANIMGRAPHRUNTIME_API float GetAlpha () const
 
ANIMGRAPHRUNTIME_API void InitializeAndValidateBoneRef (FBoneReference &BoneRef, const FBoneContainer &RequiredBones)
 
- Public Member Functions inherited from FAnimNode_Base
virtual ENGINE_API void Evaluate_AnyThread (FPoseContext &Output)
 
virtual bool CanUpdateInWorkerThread () const
 
virtual bool HasPreUpdate () const
 
virtual void PreUpdate (const UAnimInstance *InAnimInstance)
 
virtual bool NeedsDynamicReset () const
 
virtual ENGINE_API void ResetDynamics (ETeleportType InTeleportType)
 
virtual void PostCompile (const class USkeleton *InSkeleton)
 
virtual bool NeedsOnInitializeAnimInstance () const
 
virtual ~FAnimNode_Base ()
 
virtual void ResetDynamics ()
 
virtual bool WantsSkippedUpdates () const
 
virtual void OnUpdatesSkipped (TArrayView< const FAnimationUpdateContext * > SkippedUpdateContexts)
 
virtual void OverrideAsset (class UAnimationAsset *NewAsset)
 
ENGINE_API const FExposedValueHandlerGetEvaluateGraphExposedInputs () const
 
void SetExposedValueHandler (const FExposedValueHandler *Handler)
 
int32 GetNodeIndex () const
 
const IAnimClassInterfaceGetAnimClassInterface () const
 

Public Attributes

FBoneReference SourceBone
 
TObjectPtr< UCurveFloatDrivingCurve
 
float Multiplier
 
double RangeMin
 
double RangeMax
 
double RemappedMin
 
double RemappedMax
 
FName ParameterName
 
FBoneReference TargetBone
 
EDrivenDestinationMode DestinationMode
 
EDrivenBoneModificationMode ModificationMode
 
TEnumAsByte< EComponentType::TypeSourceComponent
 
uint8 bUseRange: 1
 
- Public Attributes inherited from FAnimNode_SkeletalControlBase
FComponentSpacePoseLink ComponentPose
 
int32 LODThreshold
 
float ActualAlpha
 
EAnimAlphaInputType AlphaInputType
 
bool bAlphaBoolEnabled
 
float Alpha
 
FInputScaleBias AlphaScaleBias
 
FInputAlphaBoolBlend AlphaBoolBlend
 
FName AlphaCurveName
 
FInputScaleBiasClamp AlphaScaleBiasClamp
 

Protected Member Functions

virtual ANIMGRAPHRUNTIME_API void InitializeBoneReferences (const FBoneContainer &RequiredBones) override
 
ANIMGRAPHRUNTIME_API const double ExtractSourceValue (const FTransform &InCurrentBoneTransform, const FTransform &InRefPoseBoneTransform)
 
- Protected Member Functions inherited from FAnimNode_SkeletalControlBase
virtual ANIMGRAPHRUNTIME_API void UpdateInternal (const FAnimationUpdateContext &Context)
 
virtual ANIMGRAPHRUNTIME_API void UpdateComponentPose_AnyThread (const FAnimationUpdateContext &Context)
 
virtual ANIMGRAPHRUNTIME_API void EvaluateComponentPose_AnyThread (FComponentSpacePoseContext &Output)
 
ANIMGRAPHRUNTIME_API void AddDebugNodeData (FString &OutDebugData)
 
- Protected Member Functions inherited from FAnimNode_Base
template<typename DataType >
const DataType & GetData (UE::Anim::FNodeDataId InId, const UObject *InObject=nullptr) const
 
template<typename DataType >
DataType * GetInstanceDataPtr (UE::Anim::FNodeDataId InId, UObject *InObject=nullptr)
 
ENGINE_API bool IsLODEnabled (FAnimInstanceProxy *AnimInstanceProxy)
 
virtual ENGINE_API void OnInitializeAnimInstance (const FAnimInstanceProxy *InProxy, const UAnimInstance *InAnimInstance)
 

Detailed Description

This is the runtime version of a bone driven controller, which maps part of the state from one bone to another (e.g., 2 * source.x -> target.z)

Constructor & Destructor Documentation

◆ FAnimNode_BoneDrivenController()

FAnimNode_BoneDrivenController::FAnimNode_BoneDrivenController ( )

Member Function Documentation

◆ EvaluateComponentSpaceInternal()

void FAnimNode_BoneDrivenController::EvaluateComponentSpaceInternal ( FComponentSpacePoseContext Context)
virtual

Reimplemented from FAnimNode_SkeletalControlBase.

◆ EvaluateSkeletalControl_AnyThread()

void FAnimNode_BoneDrivenController::EvaluateSkeletalControl_AnyThread ( FComponentSpacePoseContext Output,
TArray< FBoneTransform > &  OutBoneTransforms 
)
overridevirtual

Reimplemented from FAnimNode_SkeletalControlBase.

◆ ExtractSourceValue()

const double FAnimNode_BoneDrivenController::ExtractSourceValue ( const FTransform InCurrentBoneTransform,
const FTransform InRefPoseBoneTransform 
)
protected

Extracts the value used to drive the target bone or parameter

◆ GatherDebugData()

void FAnimNode_BoneDrivenController::GatherDebugData ( FNodeDebugData DebugData)
overridevirtual

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

Parameters
DebugDataDebug data structure used to output any relevant data

Reimplemented from FAnimNode_Base.

◆ InitializeBoneReferences()

void FAnimNode_BoneDrivenController::InitializeBoneReferences ( const FBoneContainer RequiredBones)
overrideprotectedvirtual

Reimplemented from FAnimNode_SkeletalControlBase.

◆ IsValidToEvaluate()

bool FAnimNode_BoneDrivenController::IsValidToEvaluate ( const USkeleton Skeleton,
const FBoneContainer RequiredBones 
)
overridevirtual

Reimplemented from FAnimNode_SkeletalControlBase.

Member Data Documentation

◆ bUseRange

uint8 FAnimNode_BoneDrivenController::bUseRange

◆ DestinationMode

EDrivenDestinationMode FAnimNode_BoneDrivenController::DestinationMode

◆ DrivingCurve

TObjectPtr<UCurveFloat> FAnimNode_BoneDrivenController::DrivingCurve

Curve used to map from the source attribute to the driven attributes if present (otherwise the Multiplier will be used)

◆ ModificationMode

EDrivenBoneModificationMode FAnimNode_BoneDrivenController::ModificationMode

◆ Multiplier

float FAnimNode_BoneDrivenController::Multiplier

◆ ParameterName

FName FAnimNode_BoneDrivenController::ParameterName

Name of Morph Target to drive using the source attribute

◆ RangeMax

double FAnimNode_BoneDrivenController::RangeMax

◆ RangeMin

double FAnimNode_BoneDrivenController::RangeMin

◆ RemappedMax

double FAnimNode_BoneDrivenController::RemappedMax

◆ RemappedMin

double FAnimNode_BoneDrivenController::RemappedMin

◆ SourceBone

FBoneReference FAnimNode_BoneDrivenController::SourceBone

◆ SourceComponent

TEnumAsByte<EComponentType::Type> FAnimNode_BoneDrivenController::SourceComponent

◆ TargetBone

FBoneReference FAnimNode_BoneDrivenController::TargetBone

The documentation for this struct was generated from the following files: