Navigation
Unreal Engine C++ API Reference > Runtime > AnimGraphRuntime > BoneControllers
Inheritance Hierarchy
- FAnimNode_Base
- FAnimNode_SkeletalControlBase
- FAnimNode_RigidBody
References
Module | AnimGraphRuntime |
Header | /Engine/Source/Runtime/AnimGraphRuntime/Public/BoneControllers/AnimNode_RigidBody.h |
Include | #include "BoneControllers/AnimNode_RigidBody.h" |
Syntax
USTRUCT ()
struct FAnimNode_RigidBody : public FAnimNode_SkeletalControlBase
Remarks
Controller that simulates physics based on the physics asset of the skeletal mesh component
Variables
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
FBoneReference | BaseBoneRef | Matters if SimulationSpace is BaseBone |
![]() ![]() ![]() |
uint8: 1 | bClampLinearTranslationLimitToRefPose | Correct for linear tearing on bodies with all axes Locked. |
![]() ![]() ![]() |
bool | bDefaultToSkeletalMeshPhysicsAsset | Use the skeletal mesh physics asset as default in case set to True. |
![]() ![]() ![]() |
uint8: 1 | bEnableWorldGeometry | |
![]() ![]() ![]() |
bool | 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. |
![]() ![]() ![]() |
bool | bUseExternalClothCollision | If true, kinematic objects will be added to the simulation at runtime to represent any cloth colliders defined for the parent object. |
![]() ![]() ![]() ![]() |
bool | bUseLocalLODThresholdOnly | Enable if you want to ignore the p.RigidBodyLODThreshold CVAR and force the node to solely use the LOD threshold. |
![]() ![]() ![]() |
float | CachedBoundsScale | Scale of cached bounds (vs. actual bounds). |
![]() ![]() ![]() |
FVector | 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. |
![]() ![]() ![]() |
FVector | 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. |
![]() ![]() ![]() |
FVector | 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. |
![]() ![]() ![]() |
FVector | ExternalForce | Applies a uniform external force in world space. |
![]() ![]() ![]() |
TEnumAsByte< ECollisionChannel > | OverlapChannel | The channel we use to find static geometry to collide with |
![]() ![]() ![]() |
TObjectPtr< UPhysicsAsset > | OverridePhysicsAsset | Physics asset to use. |
![]() ![]() ![]() |
FVector | OverrideWorldGravity | Override gravity |
![]() ![]() ![]() |
FSimSpaceSettings | SimSpaceSettings | Settings for the system which passes motion of the simulation's space into the simulation. |
![]() ![]() ![]() |
ESimulationSpace | SimulationSpace | What space to simulate the bodies in. This affects how velocities are generated |
![]() ![]() ![]() |
ESimulationTiming | SimulationTiming | Whether the physics simulation runs synchronously with the node's evaluation or is run in the background until the next frame. |
![]() ![]() ![]() |
float | WorldSpaceMinimumScale | For world-space simulations, if the magnitude of the component's 3D scale is less than WorldSpaceMinimumScale, do not update the node. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | AddImpulseAtLocation
(
FVector Impulse, |
|
![]() ![]() |
void | GatherDebugData
(
FNodeDebugData& DebugData |
|
![]() ![]() |
UPhysicsAsset * | ||
![]() ![]() |
ImmediatePhysics::FSimulation * | TEMP: Exposed for use in PhAt as a quick way to get drag handles working with Chaos. | |
![]() ![]() ![]() |
bool | HasPreUpdate () |
|
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | ||
![]() ![]() |
void | OnInitializeAnimInstance
(
const FAnimInstanceProxy* InProxy, |
|
![]() |
void | PostSerialize
(
const FArchive& Ar |
|
![]() ![]() |
void | PreUpdate
(
const UAnimInstance* InAnimInstance |
|
![]() ![]() |
void | ResetDynamics
(
ETeleportType InTeleportType |
|
![]() |
void | SetOverridePhysicsAsset
(
UPhysicsAsset* PhysicsAsset |
Set the override physics asset. |
Overridden from FAnimNode_SkeletalControlBase
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | EvaluateComponentPose_AnyThread
(
FComponentSpacePoseContext& Output |
Evaluate incoming component pose. |
![]() ![]() |
void | EvaluateSkeletalControl_AnyThread
(
FComponentSpacePoseContext& Output, |
Evaluate the new component-space transforms for the affected bones. |
![]() ![]() ![]() |
int32 | ||
![]() ![]() |
void | Initialize_AnyThread
(
const FAnimationInitializeContext& Context |
|
![]() ![]() |
bool | IsValidToEvaluate
(
const USkeleton* Skeleton, |
Return true if it is valid to Evaluate |
![]() ![]() |
void | UpdateComponentPose_AnyThread
(
const FAnimationUpdateContext& Context |
Update incoming component pose. |
![]() ![]() |
void | UpdateInternal
(
const FAnimationUpdateContext& Context |
Interface for derived skeletal controls to implement use this function to update for skeletal control base |