Choose your operating system:
Windows
macOS
Linux
| FAnimNode_Base
|
Module |
|
Header |
/Engine/Source/Runtime/AnimGraphRuntime/Public/BoneControllers/AnimNode_RigidBody.h |
Include |
#include "BoneControllers/AnimNode_RigidBody.h" |
struct FAnimNode_RigidBody : public FAnimNode_SkeletalControlBase
Controller that simulates physics based on the physics asset of the skeletal mesh component
Name | Description | ||
---|---|---|---|
|
BaseBoneRef |
Matters if SimulationSpace is BaseBone |
|
|
uint8: 1 |
bClampLinearTranslationLimitToRefPose |
Correct for linear tearing on bodies with all axes Locked. |
|
uint8: 1 |
bEnableWorldGeometry |
|
|
bForceDisableCollisionBetweenConstraintBodies |
Whether to allow collisions between two bodies joined by a constraint |
|
|
uint8: 1 |
bFreezeIncomingPoseOnStart |
When simulation starts, freeze incoming pose. |
|
uint8: 1 |
bOverrideWorldGravity |
|
|
uint8: 1 |
bTransferBoneVelocities |
When simulation starts, transfer previous bone velocities (from animation) to make transition into simulation seamless. |
|
float |
CachedBoundsScale |
Scale of cached bounds (vs. actual bounds). |
|
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. |
|
|
float |
EvaluationResetTime |
If the node is not evaluated for this amount of time (seconds), either because a lower LOD was in use for a while or the component was not visible, reset the simulation to the default pose on the next evaluation. |
|
ExternalForce |
Applies a uniform external force in world space. |
|
|
TEnumAsByte< EC... |
OverlapChannel |
The channel we use to find static geometry to collide with |
|
TObjectPtr< UPh... |
OverridePhysicsAsset |
Physics asset to use. If empty use the skeletal mesh's default physics asset |
|
OverrideWorldGravity |
Override gravity |
|
|
SimSpaceSettings |
Settings for the system which passes motion of the simulation's space into the simulation. |
|
|
SimulationSpace |
What space to simulate the bodies in. This affects how velocities are generated |
|
|
float |
WorldSpaceMinimumScale |
For world-space simulations, if the magnitude of the component's 3D scale is less than WorldSpaceMinimumScale, do not update the node. |
Name | Description | |
---|---|---|
|
FAnimNode_RigidBody() |
Name | Description | |
---|---|---|
|
~FAnimNode_RigidBody() |
Name | Description | ||
---|---|---|---|
|
AddImpulseAtLocation |
||
|
ImmediatePhy... |
GetSimulation() |
TEMP: Exposed for use in PhAt as a quick way to get drag handles working with Chaos. |
|
PostSerialize ( |
Name | Description | ||
---|---|---|---|
|
EvaluateComponentPose_AnyThread ( |
Evaluate incoming component pose. |
|
|
EvaluateSkeletalControl_AnyThread ( |
Evaluate the new component-space transforms for the affected bones. |
|
|
IsValidToEvaluate ( |
Return true if it is valid to Evaluate |
|
|
UpdateComponentPose_AnyThread ( |
Update incoming component pose. |
|
|
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. |
|
|
NeedsDynamicReset() |
For nodes that implement some kind of simulation, return true here so ResetDynamics() gets called when things like teleports, time skips etc. |
|
|
NeedsOnInitializeAnimInstance() |
For nodes that need some kind of initialization that is not dependent on node relevancy (i.e. it is insufficient or inefficient to use Initialize_AnyThread), return true here. |
|
|
OnInitializeAnimInstance ( |
Called once, from game thread as the parent anim instance is created |
|
|
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 |