G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
FPhysicsAssetSolverSettings Struct Reference

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

Public Member Functions

Functions
FPhysicsAssetSolverSettings & opAssign (FPhysicsAssetSolverSettings Other)

Public Attributes

SolverSettings
int 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.
int 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.
float32 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.
float32 MaxDepenetrationVelocity
 RBAN: When bodies are penetrating, this is the maximum velocity delta that can be applied in one frame.
float32 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.
bool 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.
int 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.

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).

Member Function Documentation

◆ opAssign()

Member Data Documentation

◆ bUseLinearJointSolver

bool 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.

◆ CullDistance

float32 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

float32 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

float32 MaxDepenetrationVelocity

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

◆ PositionIterations

int 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

int 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

int 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.