UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimNode_SpringBone.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "BoneContainer.h"
8#include "BonePose.h"
10#include "AnimNode_SpringBone.generated.h"
11
12class UAnimInstance;
13class USkeletalMeshComponent;
14
19USTRUCT(BlueprintInternalUseOnly)
21{
23
24
25 UPROPERTY(EditAnywhere, Category=Spring)
26 FBoneReference SpringBone;
27
29 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Spring, meta=(EditCondition="bLimitDisplacement"))
30 double MaxDisplacement;
31
33 UPROPERTY(EditAnywhere, Category=Spring, meta = (PinHiddenByDefault))
34 double SpringStiffness;
35
37 UPROPERTY(EditAnywhere, Category=Spring, meta = (PinHiddenByDefault))
38 double SpringDamping;
39
41 UPROPERTY(EditAnywhere, Category=Spring)
42 double ErrorResetThresh;
43
45 FVector BoneLocation;
46
48 FVector BoneVelocity;
49
51 FVector OwnerVelocity;
52
55 FVector LocalBoneTransform;
56
58 float RemainingTime;
59
61 float FixedTimeStep;
62
64 float TimeDilation;
65
66#if WITH_EDITORONLY_DATA
68 UPROPERTY()
70#endif
71
73 UPROPERTY(EditAnywhere, Category=Spring)
74 uint8 bLimitDisplacement : 1;
75
77 UPROPERTY(EditAnywhere, Category=FilterChannels)
78 uint8 bTranslateX : 1;
79
81 UPROPERTY(EditAnywhere, Category=FilterChannels)
82 uint8 bTranslateY : 1;
83
85 UPROPERTY(EditAnywhere, Category=FilterChannels)
86 uint8 bTranslateZ : 1;
87
89 UPROPERTY(EditAnywhere, Category=FilterChannels)
90 uint8 bRotateX : 1;
91
93 UPROPERTY(EditAnywhere, Category=FilterChannels)
94 uint8 bRotateY : 1;
95
97 UPROPERTY(EditAnywhere, Category=FilterChannels)
98 uint8 bRotateZ : 1;
99
101 uint8 bHadValidStrength : 1;
102
104 UPROPERTY(EditAnywhere, Category = OwnerVelocity, Meta = (PinHiddenByDefault))
105 uint8 bOverrideOwnerVelocity : 1;
106
107 UPROPERTY(EditAnywhere, Category = OwnerVelocity, Meta = (EditCondition = "bOverrideOwnerVelocity", PinHiddenByDefault))
108 FVector OwnerVelocityOverride;
109
110public:
112
113 // FAnimNode_Base interface
117 ANIMGRAPHRUNTIME_API virtual void GatherDebugData(FNodeDebugData& DebugData) override;
118 virtual bool HasPreUpdate() const override { return true; }
119 ANIMGRAPHRUNTIME_API virtual void PreUpdate(const UAnimInstance* InAnimInstance) override;
120 // End of FAnimNode_Base interface
121
122 // FAnimNode_SkeletalControlBase interface
123 ANIMGRAPHRUNTIME_API virtual void EvaluateSkeletalControl_AnyThread(FComponentSpacePoseContext& Output, TArray<FBoneTransform>& OutBoneTransforms) override;
124 ANIMGRAPHRUNTIME_API virtual bool IsValidToEvaluate(const USkeleton* Skeleton, const FBoneContainer& RequiredBones) override;
125 // End of FAnimNode_SkeletalControlBase interface
126
127private:
128 // FAnimNode_SkeletalControlBase interface
129 ANIMGRAPHRUNTIME_API virtual void InitializeBoneReferences(const FBoneContainer& RequiredBones) override;
130 // End of FAnimNode_SkeletalControlBase interface
131};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Array.h:670
Definition AnimInstance.h:353
Definition Skeleton.h:295
Definition AnimNode_SkeletalControlBase.h:22
Definition AnimNode_SpringBone.h:21
Definition AnimNodeBase.h:337
Definition AnimNodeBase.h:324
Definition AnimNodeBase.h:354
Definition BoneContainer.h:192
Definition BoneReference.h:14
Definition AnimNodeBase.h:600
Definition AnimNodeBase.h:642