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

#include <AnimNode_LookAt.h>

+ Inheritance diagram for FAnimNode_LookAt:

Public Member Functions

ANIMGRAPHRUNTIME_API FAnimNode_LookAt ()
 
virtual ANIMGRAPHRUNTIME_API void GatherDebugData (FNodeDebugData &DebugData) override
 
virtual ANIMGRAPHRUNTIME_API void UpdateInternal (const FAnimationUpdateContext &Context) override
 
virtual ANIMGRAPHRUNTIME_API void Initialize_AnyThread (const FAnimationInitializeContext &Context) override
 
virtual ANIMGRAPHRUNTIME_API void EvaluateComponentSpaceInternal (FComponentSpacePoseContext &Context) 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
 
FVector GetCachedTargetLocation () const
 
- Public Member Functions inherited from FAnimNode_SkeletalControlBase
 FAnimNode_SkeletalControlBase ()
 
virtual ~FAnimNode_SkeletalControlBase ()
 
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 BoneToModify
 
FBoneSocketTarget LookAtTarget
 
FVector LookAtLocation
 
FAxis LookAt_Axis
 
bool bUseLookUpAxis
 
TEnumAsByte< EInterpolationBlend::TypeInterpolationType
 
FAxis LookUp_Axis
 
float LookAtClamp
 
float InterpolationTime
 
float InterpolationTriggerThreashold
 
- 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 ModifyPoseFromDeltaRotation (FComponentSpacePoseContext &Output, TArray< FBoneTransform > &OutBoneTransforms, FTransform &InOutBoneToModifyTransform, const FQuat &DeltaRotation)
 
- Protected Member Functions inherited from FAnimNode_SkeletalControlBase
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

Simple controller that make a bone to look at the point or another bone

Constructor & Destructor Documentation

◆ FAnimNode_LookAt()

FAnimNode_LookAt::FAnimNode_LookAt ( )

Member Function Documentation

◆ EvaluateComponentSpaceInternal()

void FAnimNode_LookAt::EvaluateComponentSpaceInternal ( FComponentSpacePoseContext Context)
overridevirtual

Reimplemented from FAnimNode_SkeletalControlBase.

◆ EvaluateSkeletalControl_AnyThread()

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

Reimplemented from FAnimNode_SkeletalControlBase.

◆ GatherDebugData()

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

◆ GetCachedTargetLocation()

FVector FAnimNode_LookAt::GetCachedTargetLocation ( ) const
inline

◆ Initialize_AnyThread()

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

◆ IsValidToEvaluate()

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

Reimplemented from FAnimNode_SkeletalControlBase.

◆ ModifyPoseFromDeltaRotation()

void FAnimNode_LookAt::ModifyPoseFromDeltaRotation ( FComponentSpacePoseContext Output,
TArray< FBoneTransform > &  OutBoneTransforms,
FTransform InOutBoneToModifyTransform,
const FQuat DeltaRotation 
)
protectedvirtual

◆ UpdateInternal()

void FAnimNode_LookAt::UpdateInternal ( const FAnimationUpdateContext Context)
overridevirtual

Reimplemented from FAnimNode_SkeletalControlBase.

Member Data Documentation

◆ BoneToModify

FBoneReference FAnimNode_LookAt::BoneToModify

Name of bone to control. This is the main bone chain to modify from.

◆ bUseLookUpAxis

bool FAnimNode_LookAt::bUseLookUpAxis

Whether or not to use Look up axis

◆ InterpolationTime

float FAnimNode_LookAt::InterpolationTime

◆ InterpolationTriggerThreashold

float FAnimNode_LookAt::InterpolationTriggerThreashold

◆ InterpolationType

TEnumAsByte<EInterpolationBlend::Type> FAnimNode_LookAt::InterpolationType

◆ LookAt_Axis

FAxis FAnimNode_LookAt::LookAt_Axis

◆ LookAtClamp

float FAnimNode_LookAt::LookAtClamp

Look at Clamp value in degrees - if your look at axis is Z, only X, Y degree of clamp will be used

◆ LookAtLocation

FVector FAnimNode_LookAt::LookAtLocation

Target Offset. It's in world space if LookAtBone is empty or it is based on LookAtBone or LookAtSocket in their local space

◆ LookAtTarget

FBoneSocketTarget FAnimNode_LookAt::LookAtTarget

Target socket to look at. Used if LookAtBone is empty. - You can use LookAtLocation if you need offset from this point. That location will be used in their local space.

◆ LookUp_Axis

FAxis FAnimNode_LookAt::LookUp_Axis

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