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

#include <AnimNode_HandIKRetargeting.h>

+ Inheritance diagram for FAnimNode_HandIKRetargeting:

Public Member Functions

ANIMGRAPHRUNTIME_API FAnimNode_HandIKRetargeting ()
 
virtual ANIMGRAPHRUNTIME_API void GatherDebugData (FNodeDebugData &DebugData) override
 
virtual ANIMGRAPHRUNTIME_API void EvaluateSkeletalControl_AnyThread (FComponentSpacePoseContext &Output, TArray< FBoneTransform > &OutBoneTransforms) override
 
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 RightHandFK
 
FBoneReference LeftHandFK
 
FBoneReference RightHandIK
 
FBoneReference LeftHandIK
 
TArray< FBoneReferenceIKBonesToMove
 
FVector PerAxisAlpha
 
float HandFKWeight
 
- 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
 

Additional Inherited Members

- 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)
 
virtual ANIMGRAPHRUNTIME_API void EvaluateComponentSpaceInternal (FComponentSpacePoseContext &Context)
 
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

Node to handle re-targeting of Hand IK bone chain. It looks at position in Mesh Space of Left and Right FK bones, and moves Left and Right IK bones to those. based on HandFKWeight. (0 = favor left hand, 1 = favor right hand, 0.5 = equal weight). This is used so characters of different proportions can handle the same props.

Constructor & Destructor Documentation

◆ FAnimNode_HandIKRetargeting()

FAnimNode_HandIKRetargeting::FAnimNode_HandIKRetargeting ( )

Member Function Documentation

◆ EvaluateSkeletalControl_AnyThread()

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

Reimplemented from FAnimNode_SkeletalControlBase.

◆ GatherDebugData()

void FAnimNode_HandIKRetargeting::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.

◆ IsValidToEvaluate()

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

Reimplemented from FAnimNode_SkeletalControlBase.

Member Data Documentation

◆ HandFKWeight

float FAnimNode_HandIKRetargeting::HandFKWeight

Which hand to favor. 0.5 is equal weight for both, 1 = right hand, 0 = left hand.

◆ IKBonesToMove

TArray<FBoneReference> FAnimNode_HandIKRetargeting::IKBonesToMove

IK Bones to move.

◆ LeftHandFK

FBoneReference FAnimNode_HandIKRetargeting::LeftHandFK

Bone for Left Hand FK

◆ LeftHandIK

FBoneReference FAnimNode_HandIKRetargeting::LeftHandIK

Bone for Left Hand IK

◆ PerAxisAlpha

FVector FAnimNode_HandIKRetargeting::PerAxisAlpha

◆ RightHandFK

FBoneReference FAnimNode_HandIKRetargeting::RightHandFK

Bone for Right Hand FK

◆ RightHandIK

FBoneReference FAnimNode_HandIKRetargeting::RightHandIK

Bone for Right Hand IK


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