UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CCDUtilities.cpp File Reference

Namespaces

namespace  Chaos
 
namespace  Chaos::CVars
 

Functions

bool Chaos::CCDConstraintSortPredicate (const FCCDConstraint *Constraint0, const FCCDConstraint *Constraint1)
 

Variables

bool Chaos::CVars::bClearNullCCDConstraintsOnApply = true
 
FAutoConsoleVariableRef Chaos::CVars::CVarClearNullCCDConstraintsOnApply (TEXT("p.Chaos.Collision.CCD.ClearNullConstraints"), bClearNullCCDConstraintsOnApply, TEXT("Remove null constraints encountered during correction application for CCD."))
 
bool Chaos::CVars::bChaosCollisionCCDEnableResweep = true
 
FAutoConsoleVariableRef Chaos::CVars::CVarChaosCollisionCCDEnableResweep (TEXT("p.Chaos.Collision.CCD.EnableResweep"), bChaosCollisionCCDEnableResweep, TEXT("Enable resweep for CCD. Resweeping allows CCD to catch more secondary collisions but also is more costly. Default is true."))
 
bool Chaos::CVars::bChaosCollisionCCDAllowClipping = true
 
FAutoConsoleVariableRef Chaos::CVars::CVarChaosCollisionCCDAllowClipping (TEXT("p.Chaos.Collision.CCD.AllowClipping"), bChaosCollisionCCDAllowClipping, TEXT("This will clip the CCD object at colliding positions when computation budgets run out. Default is true. Turning this option off might cause tunneling."))
 
int32 Chaos::CVars::ChaosCollisionCCDConstraintMaxProcessCount = 1
 
FAutoConsoleVariableRef Chaos::CVars::CVarChaosCollisionCCDConstraintMaxProcessCount (TEXT("p.Chaos.Collision.CCD.ConstraintMaxProcessCount"), ChaosCollisionCCDConstraintMaxProcessCount, TEXT("The max number of times each constraint can be resolved when applying CCD constraints. Default is 2. The larger this number is, the more fully CCD constraints are resolved."))
 
FRealSingle Chaos::CVars::CCDEnableThresholdBoundsScale = 0.4f
 
FAutoConsoleVariableRef Chaos::CVars::CVarCCDEnableThresholdBoundsScale (TEXT("p.Chaos.CCD.EnableThresholdBoundsScale"), CCDEnableThresholdBoundsScale, TEXT("CCD is used when object position is changing > smallest bound's extent * BoundsScale. 0 will always Use CCD. Values < 0 disables CCD."))
 
Chaos::FRealSingle Chaos::CVars::CCDAllowedDepthBoundsScale = 0.2f
 
FAutoConsoleVariableRef Chaos::CVars::CVarCCDAllowedDepthBoundsScale (TEXT("p.Chaos.CCD.AllowedDepthBoundsScale"), CCDAllowedDepthBoundsScale, TEXT("When rolling back to TOI, allow (smallest bound's extent) * AllowedDepthBoundsScale, instead of rolling back to exact TOI w/ penetration = 0."))
 
bool Chaos::CVars::bCCDNewTargetDepthMode = true
 
FAutoConsoleVariableRef Chaos::CVars::CVarCCDNewTargetDepthMode (TEXT("p.Chaos.CCD.NewTargetDepthMode"), bCCDNewTargetDepthMode, TEXT("Find the first contact with that results in a penetration of (CCDAllowedDepthBoundsScale*Size) as opposed to the first contact"))
 
int32 Chaos::CVars::CCDAxisThresholdMode = 2
 
FAutoConsoleVariableRef Chaos::CVars::CVarCCDAxisThresholdMode (TEXT("p.Chaos.CCD.AxisThresholdMode"), CCDAxisThresholdMode, TEXT("Change the mode used to generate CCD axis threshold bounds for particle geometries.\n0: Use object bounds\n1: Find the thinnest object bound on any axis and use it for all CCD axes\n2: On each axis, use the thinnest shape bound on that axis\n3: Find the thinnest shape bound on any axis and use this for all axes"))
 
bool Chaos::CVars::bCCDAxisThresholdUsesProbeShapes = false
 
FAutoConsoleVariableRef Chaos::CVars::CVarCCDAxisThresholdUsesProbeShapes (TEXT("p.Chaos.CCD.CCDAxisThresholdUsesProbeShapes"), bCCDAxisThresholdUsesProbeShapes, TEXT("When true, probe shapes are considered for CCD axis threshold computation, and can generate contacts in the initial CCD phase."))
 
bool Chaos::CVars::bCCDSweepsUseProbeShapes = false
 
FAutoConsoleVariableRef Chaos::CVars::CVarCCDSweepsUseProbeShapes (TEXT("p.Chaos.CCD.CCDSweepsUseProbeShapes"), bCCDSweepsUseProbeShapes, TEXT("When true, probe shapes can be swept for more accurate collision detection."))
 
int32 Chaos::CVars::ChaosCollisionCCDCorrectionIterations = 4
 
FAutoConsoleVariableRef Chaos::CVars::CVarChaosCollisionCCDCorrectionIterations (TEXT("p.Chaos.Collision.CCD.CorrectionIterations"), ChaosCollisionCCDCorrectionIterations, TEXT("The number of post-solve CCD correction ietaryions to run."))
 
FRealSingle Chaos::CVars::ChaosCollisionCCDCorrectionPhiToleranceScale = 0.02f
 
FAutoConsoleVariableRef Chaos::CVars::CVarChaosCollisionCCDCorrectionPhiToleranceScale (TEXT("p.Chaos.Collision.CCD.CorrectionPhiToleranceScale"), ChaosCollisionCCDCorrectionPhiToleranceScale, TEXT("How much penetration we allow during the correction phase (multiplier on shape size)"))
 
int32 Chaos::CVars::ChaosSolverDrawCCDInteractions