Navigation
API > API/Runtime > API/Runtime/AnimGraphRuntime > API/Runtime/AnimGraphRuntime/BoneControllers
Inheritance Hierarchy
- FAnimNode_Base
- FAnimNode_SkeletalControlBase
- FAnimNode_SpringBone
References
| Module | AnimGraphRuntime |
| Header | /Engine/Source/Runtime/AnimGraphRuntime/Public/BoneControllers/AnimNode_SpringBone.h |
| Include | #include "BoneControllers/AnimNode_SpringBone.h" |
Syntax
struct FAnimNode_SpringBone : public FAnimNode_SkeletalControlBase
Remarks
Simple controller that replaces or adds to the translation/rotation of a single bone.
Variables
| Type | Name | Description | |
|---|---|---|---|
| uint8: 1 | bHadValidStrength | Did we have a non-zero ControlStrength last frame. | |
| uint8: 1 | bLimitDisplacement | Limit the amount that a bone can stretch from its ref-pose length. | |
| FVector | BoneLocation | World-space location of the bone. | |
| FVector | BoneVelocity | World-space velocity of the bone. | |
| uint8: 1 | bRotateX | If true take the spring calculation for rotation in X | |
| uint8: 1 | bRotateY | If true take the spring calculation for rotation in Y | |
| uint8: 1 | bRotateZ | If true take the spring calculation for rotation in Z | |
| uint8: 1 | bTranslateX | If true take the spring calculation for translation in X | |
| uint8: 1 | bTranslateY | If true take the spring calculation for translation in Y | |
| uint8: 1 | bTranslateZ | If true take the spring calculation for translation in Z | |
| double | ErrorResetThresh | If spring stretches more than this, reset it. Useful for catching teleports etc | |
| float | FixedTimeStep | Internal use - Current timestep | |
| FVector | LocalBoneTransform | Cache of previous frames local bone transform so that when we cannot simulate (timestep == 0) we can still update bone location | |
| double | MaxDisplacement | If bLimitDisplacement is true, this indicates how long a bone can stretch beyond its length in the ref-pose. | |
| FVector | OwnerVelocity | Velocity of the owning actor | |
| float | RemainingTime | Internal use - Amount of time we need to simulate. | |
| FBoneReference | SpringBone | Name of bone to control. This is the main bone chain to modify from. | |
| double | SpringDamping | Damping of spring | |
| double | SpringStiffness | Stiffness of spring | |
| float | TimeDilation | Internal use - Current time dilation |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Overridden from FAnimNode_SkeletalControlBase
| Type | Name | Description | |
|---|---|---|---|
| void | EvaluateSkeletalControl_AnyThread
(
FComponentSpacePoseContext& Output, |
Evaluate the new component-space transforms for the affected bones. | |
| bool | IsValidToEvaluate
(
const USkeleton* Skeleton, |
Return true if it is valid to Evaluate | |
| void | UpdateInternal
(
const FAnimationUpdateContext& Context |
Interface for derived skeletal controls to implement use this function to update for skeletal control base |
Overridden from FAnimNode_Base
| Type | Name | Description | |
|---|---|---|---|
| void | CacheBones_AnyThread
(
const FAnimationCacheBonesContext& Context |
Called to cache any bones that this node needs to track (e.g. in a FBoneReference). | |
| void | GatherDebugData
(
FNodeDebugData& DebugData |
Called to gather on-screen debug data. This is called on the game thread. | |
| bool | HasPreUpdate () |
Override this to indicate that PreUpdate() should be called on the game thread (usually to gather non-thread safe data) before Update() is called. | |
| void | Initialize_AnyThread
(
const FAnimationInitializeContext& Context |
Called when the node first runs. | |
| void | PreUpdate
(
const UAnimInstance* InAnimInstance |
Override this to perform game-thread work prior to non-game thread Update() being called |
Deprecated Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bNoZSpring_DEPRECATED | If true, Z position is always correct, no spring applied |