UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPhysicsAssetSolverSettings Struct Reference

#include <PhysicsAsset.h>

Public Member Functions

ENGINE_API FPhysicsAssetSolverSettings ()
 

Public Attributes

int32 PositionIterations
 
int32 VelocityIterations
 
int32 ProjectionIterations
 
float CullDistance
 
float MaxDepenetrationVelocity
 
float FixedTimeStep
 
bool bUseLinearJointSolver
 
bool bUseManifolds
 

Detailed Description

Solver iterations settings for use by RigidBody AnimNode (RBAN) in the Anim Graph. Each RBAN node runs its own solver with these settings.

Note
These settings have no effect when the Physics Asset is used in a world simulation (i.e., as a ragdoll on a SkeletalMeshComponent).

Constructor & Destructor Documentation

◆ FPhysicsAssetSolverSettings()

FPhysicsAssetSolverSettings::FPhysicsAssetSolverSettings ( )

Member Data Documentation

◆ bUseLinearJointSolver

bool FPhysicsAssetSolverSettings::bUseLinearJointSolver

RBAN: Whether to use the linear or non-linear solver for RBAN Joints. The linear solver is significantly cheaper than the non-linear solver when you are running multiple iterations, but is more likely to suffer from jitter. In general you should try to use the linear solver and increase the PositionIterations to improve stability if possible, only using the non-linear solver as a last resort.

◆ bUseManifolds

bool FPhysicsAssetSolverSettings::bUseManifolds

RBAN: It enables the use of multi-point contact manifolds, which are created only once at the start of each tick. When disabled, a single-point contact is generated in each solver iteration which is more expensive.

◆ CullDistance

float FPhysicsAssetSolverSettings::CullDistance

RBAN: The distance at which collisions are ignored. In general you need this to be a bit larger than the typical relative body movement in your simulation, but small enough so that we don't have to speculatively create too many unused collisions.

◆ FixedTimeStep

float FPhysicsAssetSolverSettings::FixedTimeStep

RBAN: The recommended fixed timestep for the RBAN solver. Set to 0 to run with variable timestep (default). NOTE: If this value is non-zero and less than the current frame time, the simulation will step multiple times which increases the cost.

◆ MaxDepenetrationVelocity

float FPhysicsAssetSolverSettings::MaxDepenetrationVelocity

RBAN: When bodies are penetrating, this is the maximum velocity delta that can be applied in one frame.

◆ PositionIterations

int32 FPhysicsAssetSolverSettings::PositionIterations

RBAN: The number of position iterations to run. The position solve is responsible for depenetration. Increasing this will improve simulation stability, but increase the cost.

◆ ProjectionIterations

int32 FPhysicsAssetSolverSettings::ProjectionIterations

RBAN: The number of projection iterations to run. The projection phase is a final pass over the constraints, applying a semi-physical correction to any joint errors remaining after the position and velocity solves. It can be very helpful to stabilize joint chains, but can cause issues with collision response. The projection magnitude can be controlled per-constraint in the constraint settings (assuming ProjectionIteration is not zero). This should be left as 1 in almost all cases.

◆ VelocityIterations

int32 FPhysicsAssetSolverSettings::VelocityIterations

RBAN: The number of velocity iterations to run. The velocity solve is responsible for restitution (bounce) and friction. This should usually be 1, but could be 0 if you don't care about friction and restitution.


The documentation for this struct was generated from the following files: