![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <AnimNode_DeadBlending.h>
Inheritance diagram for FAnimNode_DeadBlending:Public Attributes | |
| FPoseLink | Source |
Friends | |
| class | UAnimGraphNode_DeadBlending |
Additional Inherited Members | |
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 int32 | GetLODThreshold () const |
| virtual ENGINE_API void | OnInitializeAnimInstance (const FAnimInstanceProxy *InProxy, const UAnimInstance *InAnimInstance) |
Dead Blending Node
Dead blending is an alternative method of inertialization that extrapolates the animation being transitioned from forward in time and then performs a normal cross-fade blend between this extrapolated animation and the new animation being transitioned to.
For more background see: https://theorangeduck.com/page/dead-blending
This node works by extrapolating forward the animation being transition from using the animation's velocities at the point of transition, with an exponential decay which reduces those velocities over time to avoid the pose becoming invalid.
The rate of this decay is set automatically based on how much the velocities of the animation being transitioned from are moving toward the pose of the animation being transitioned to. If they are moving in the wrong direction or too quickly they will have a larger decay rate, while if they are in the correct direction and moving slowly relative to the difference they will have a smaller decay rate.
These decay rates can be controlled by the ExtrapolationHalfLife, ExtrapolationHalfLifeMin and ExtrapolationHalfLifeMax parameters, which specify the approximate average, min, and max decay periods. More specifically they specify the "half-life" - or how it takes for the velocities to be decayed by half.
| FAnimNode_DeadBlending::FAnimNode_DeadBlending | ( | ) |
|
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.
| Context | Context structure providing access to relevant data |
Reimplemented from FAnimNode_Base.
|
overridevirtual |
Called to evaluate local-space bones transforms according to the weights set up in Update(). You should implement either Evaluate or EvaluateComponentSpace, but not both of these. This can be called on any thread.
| Output | Output structure to write pose or curve data to. Also provides access to relevant data as a context. |
Reimplemented from FAnimNode_Base.
|
overridevirtual |
Called to gather on-screen debug data. This is called on the game thread.
| DebugData | Debug data structure used to output any relevant data |
Reimplemented from FAnimNode_Base.
|
override |
|
inline |
|
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.
| Context | Context structure providing access to relevant data |
Reimplemented from FAnimNode_Base.
|
overridevirtual |
For nodes that implement some kind of simulation, return true here so ResetDynamics() gets called when things like teleports, time skips etc. occur that might require special handling. Note that this is called at load on the UAnimInstance CDO to avoid needing to call this at runtime. This is called on the game thread.
Reimplemented from FAnimNode_Base.
|
virtual |
Request to activate inertialization. If multiple requests are made on the same inertialization node, the request with the minimum blend time will be used.
|
overridevirtual |
Called to update the state of the graph relative to this node. Generally this should configure any weights (etc.) that could affect the poses that will need to be evaluated. This function is what usually executes EvaluateGraphExposedInputs. This can be called on any thread.
| Context | Context structure providing access to relevant data |
Reimplemented from FAnimNode_Base.
|
friend |
| FPoseLink FAnimNode_DeadBlending::Source |