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

#include <AnimNode_TwistCorrectiveNode.h>

+ Inheritance diagram for FAnimNode_TwistCorrectiveNode:

Public Member Functions

ANIMGRAPHRUNTIME_API FAnimNode_TwistCorrectiveNode ()
 
virtual ANIMGRAPHRUNTIME_API void GatherDebugData (FNodeDebugData &DebugData) override
 
virtual ANIMGRAPHRUNTIME_API void CacheBones_AnyThread (const FAnimationCacheBonesContext &Context) override
 
virtual ANIMGRAPHRUNTIME_API void Initialize_AnyThread (const FAnimationInitializeContext &Context) override
 
virtual ANIMGRAPHRUNTIME_API void EvaluateComponentSpaceInternal (FComponentSpacePoseContext &Context) override
 
virtual ANIMGRAPHRUNTIME_API bool IsValidToEvaluate (const USkeleton *Skeleton, const FBoneContainer &RequiredBones) override
 
ANIMGRAPHRUNTIME_API bool Serialize (FArchive &Ar)
 
ANIMGRAPHRUNTIME_API void PostSerialize (const FArchive &Ar)
 
- Public Member Functions inherited from FAnimNode_SkeletalControlBase
 FAnimNode_SkeletalControlBase ()
 
virtual ~FAnimNode_SkeletalControlBase ()
 
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

FReferenceBoneFrame BaseFrame
 
FReferenceBoneFrame TwistFrame
 
FAxis TwistPlaneNormalAxis
 
float RangeMax
 
float RemappedMin
 
float RemappedMax
 
FName CurveName
 
- 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
 
- 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 EvaluateSkeletalControl_AnyThread (FComponentSpacePoseContext &Output, TArray< FBoneTransform > &OutBoneTransforms)
 
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 node that apply corrective morphtarget for twist Good example is that if you twist your neck too far right or left, you're going to see odd stretch shape of neck, This node can detect the angle and apply morphtarget curve This isn't the twist control node for bone twist

Constructor & Destructor Documentation

◆ FAnimNode_TwistCorrectiveNode()

FAnimNode_TwistCorrectiveNode::FAnimNode_TwistCorrectiveNode ( )

Member Function Documentation

◆ CacheBones_AnyThread()

void FAnimNode_TwistCorrectiveNode::CacheBones_AnyThread ( const FAnimationCacheBonesContext Context)
overridevirtual

Called to cache any bones that this node needs to track (e.g. in a FBoneReference). This is usually called at startup when LOD switches occur. This can be called on any thread.

Parameters
ContextContext structure providing access to relevant data

Reimplemented from FAnimNode_SkeletalControlBase.

◆ EvaluateComponentSpaceInternal()

void FAnimNode_TwistCorrectiveNode::EvaluateComponentSpaceInternal ( FComponentSpacePoseContext Context)
overridevirtual

Reimplemented from FAnimNode_SkeletalControlBase.

◆ GatherDebugData()

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

◆ Initialize_AnyThread()

void FAnimNode_TwistCorrectiveNode::Initialize_AnyThread ( const FAnimationInitializeContext Context)
overridevirtual

Called when the node first runs. If the node is inside a state machine or cached pose branch then this can be called multiple times. This can be called on any thread.

Parameters
ContextContext structure providing access to relevant data

Reimplemented from FAnimNode_SkeletalControlBase.

◆ InitializeBoneReferences()

void FAnimNode_TwistCorrectiveNode::InitializeBoneReferences ( const FBoneContainer RequiredBones)
overrideprotectedvirtual

Reimplemented from FAnimNode_SkeletalControlBase.

◆ IsValidToEvaluate()

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

Reimplemented from FAnimNode_SkeletalControlBase.

◆ PostSerialize()

void FAnimNode_TwistCorrectiveNode::PostSerialize ( const FArchive Ar)

◆ Serialize()

bool FAnimNode_TwistCorrectiveNode::Serialize ( FArchive Ar)

Member Data Documentation

◆ BaseFrame

FReferenceBoneFrame FAnimNode_TwistCorrectiveNode::BaseFrame

Base Frame of the reference for the twist node

◆ CurveName

FName FAnimNode_TwistCorrectiveNode::CurveName

◆ RangeMax

float FAnimNode_TwistCorrectiveNode::RangeMax

◆ RemappedMax

float FAnimNode_TwistCorrectiveNode::RemappedMax

◆ RemappedMin

float FAnimNode_TwistCorrectiveNode::RemappedMin

◆ TwistFrame

FReferenceBoneFrame FAnimNode_TwistCorrectiveNode::TwistFrame

◆ TwistPlaneNormalAxis

FAxis FAnimNode_TwistCorrectiveNode::TwistPlaneNormalAxis

Normal of the Plane that we'd like to calculate angle calculation from in BaseFrame. Please note we're looking for Normal Axis


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