Choose your operating system:
Windows
macOS
Linux
| FAnimNode_Base
|
Module |
|
Header |
/Engine/Source/Runtime/AnimGraphRuntime/Public/BoneControllers/AnimNode_AnimDynamics.h |
Include |
#include "BoneControllers/AnimNode_AnimDynamics.h" |
struct FAnimNode_AnimDynamics : public FAnimNode_SkeletalControlBase
Name | Description | ||
---|---|---|---|
|
float |
AngularBiasOverride |
Overridden angular bias value Angular bias is essentially a twist reduction for chain forces and defaults to a value to keep chains stability in check. |
|
float |
AngularDampingOverride |
Overridden angular damping value. The default is 0.7. Values below 0.7 won't have an effect. |
|
float |
AngularSpringConstant |
Spring constant to use when calculating angular springs, higher values mean a stronger spring. |
|
uint8: 1 |
bAngularSpring |
If true the body will attempt to align itself with the specified angular target |
|
uint8: 1 |
bChain |
Set to true to use the solver to simulate a connected chain |
|
uint8: 1 |
bDoEval |
If true we will perform bone transform evaluation, otherwise skip - allows visualisation of the initial anim state compared to the physics sim |
|
uint8: 1 |
bDoUpdate |
If true we will perform physics update, otherwise skip - allows visualisation of the initial state of the bodies |
|
uint8: 1 |
bEnableWind |
Whether or not wind is enabled for the bodies in this simulation |
|
uint8: 1 |
bGravityOverrideInSimSpace |
If true the gravity override value is defined in simulation space, by default it is in world space |
|
uint8: 1 |
bLinearSpring |
If true the body will attempt to spring back to its initial position |
|
BoundBone |
The bone to attach the physics body to, if bChain is true this is the top of the chain |
|
|
uint8: 1 |
bOverrideAngularBias |
If true, the override value will be used for the angular bias for bodies in this node. |
|
uint8: 1 |
bOverrideAngularDamping |
If true, the override value will be used for angular damping |
|
uint8: 1 |
bOverrideLinearDamping |
If true, the override value will be used for linear damping |
|
BoxExtents |
Extents of the box to use for simulation |
|
|
uint8: 1 |
bUseGravityOverride |
Use gravity override value vs gravity scale |
|
uint8: 1 |
bUsePlanarLimit |
Whether to evaluate planar limits |
|
uint8: 1 |
bUseSphericalLimits |
Whether to evaluate spherical limits |
|
uint8: 1 |
bWindWasEnabled |
|
|
ChainEnd |
If bChain is true this is the bottom of the chain, otherwise ignored |
|
|
CollisionType |
Resolution method for planar limits |
|
|
ComponentAppliedLinearAccClamp |
When using non-world-space sim, this is an overall clamp on acceleration derived from ComponentLinearAccScale and ComponentLinearVelScale, to ensure it is not too large. |
|
|
ComponentLinearAccScale |
When using non-world-space sim, this controls how much of the components world-space acceleration is passed on to the local-space simulation. |
|
|
ComponentLinearVelScale |
When using non-world-space sim, this applies a 'drag' to the bodies in the local space simulation, based on the components world-space velocity. |
|
|
ConstraintSetup |
Data describing the constraints we will apply to the body |
|
|
ExternalForce |
An external force to apply to all bodies in the simulation when ticked, specified in world space |
|
|
GravityOverride |
Gravity Override Value |
|
|
float |
GravityScale |
Scale for gravity, higher values increase forces due to gravity |
|
InitTeleportType |
We can't get clean bone positions unless we are in the evaluate step. |
|
|
LastSimSpace |
Cached sim space that we last used. |
|
|
float |
LinearDampingOverride |
Overridden linear damping value. The default is 0.7. Values below 0.7 won't have an effect. |
|
float |
LinearSpringConstant |
Spring constant to use when calculating linear springs, higher values mean a stronger spring. |
|
LocalJointOffset |
Vector relative to the body being simulated to attach the constraint to |
|
|
NumSolverIterationsPostUpdate |
Number of update passes on the linear and angular limits after we solve the position of the bodies, recommended to be around a quarter of NumSolverIterationsPreUpdate |
|
|
NumSolverIterationsPreUpdate |
Number of update passes on the linear and angular limits before we solve the position of the bodies recommended to be four times the value of NumSolverIterationsPostUpdate |
|
|
PlanarLimits |
List of available planar limits for this node |
|
|
PreviousActorWorldSpaceTM |
||
|
PreviousCompWorldSpaceTM |
Previous component & actor transforms, used to account for teleports. |
|
|
RelativeSpaceBone |
When in BoneRelative sim space, the simulation will use this bone as the origin |
|
|
RetargetingSettings |
The settings for rotation retargeting |
|
|
SimulationSpace |
The space used to run the simulation |
|
|
float |
SphereCollisionRadius |
Radius to use if CollisionType is set to CustomSphere |
|
SphericalLimits |
List of available spherical limits for this node |
|
|
float |
WindScale |
Scale to apply to calculated wind velocities in the solver |
Name | Description | |
---|---|---|
|
FAnimNode_AnimDynamics() |
Name | Description | ||
---|---|---|---|
|
GetBodyLocalJointOffset ( |
Accessors for editor code (mainly for visualization functions) |
|
|
const FBoneR... |
GetBoundBoneReference ( |
Gets the specified bound bone reference. |
|
GetNumBodies() |
||
|
GetNumBoundBones() |
Gets the number of currently bound bones (always 1 unless using a chain) |
|
|
const FAnimP... |
GetPhysBody ( |
|
|
InitPhysics ( |
||
|
IsAnimDynamicsSystemEnabledFor ( |
||
|
RequestInitialise ( |
||
|
TermPhysics() |
||
|
UpdateLimits ( |
Name | Description | ||
---|---|---|---|
|
EvaluateSkeletalControl_AnyThread ( |
Evaluate the new component-space transforms for the affected bones. |
|
|
InitializeBoneReferences ( |
Initialize any bone references you have |
|
|
IsValidToEvaluate ( |
Return true if it is valid to Evaluate |
|
|
UpdateInternal ( |
Interface for derived skeletal controls to implement use this function to update for skeletal control base |
Name | Description | ||
---|---|---|---|
|
GatherDebugData ( |
Called to gather on-screen debug data. This is called on the game thread. |
|
|
GetLODThreshold() |
Get the LOD threshold at which this node is enabled. |
|
|
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. |
|
|
Initialize_AnyThread ( |
Called when the node first runs. |
|
|
NeedsDynamicReset() |
For nodes that implement some kind of simulation, return true here so ResetDynamics() gets called when things like teleports, time skips etc. |
|
|
PreUpdate ( |
Override this to perform game-thread work prior to non-game thread Update() being called |
|
|
ResetDynamics ( |
Called to help dynamics-based updates to recover correctly from large movements/teleports |
Name |
Description |
---|---|
MaxTimeDebt |
Maximum time to consider when accumulating time debt to avoid spiraling. |