|
| CHAOS_API bool | bEnableAsyncInitBody = false |
| |
| FAutoConsoleVariableRef | CVarEnableAsyncInitBody (TEXT("p.Chaos.EnableAsyncInitBody"), bEnableAsyncInitBody, TEXT("[Experimental] Allow body instances to be initialized outside of game thread (default is false)."), ECVF_ReadOnly) |
| |
| bool | bClearNullCCDConstraintsOnApply = true |
| |
| FAutoConsoleVariableRef | CVarClearNullCCDConstraintsOnApply (TEXT("p.Chaos.Collision.CCD.ClearNullConstraints"), bClearNullCCDConstraintsOnApply, TEXT("Remove null constraints encountered during correction application for CCD.")) |
| |
| bool | bChaosCollisionCCDEnableResweep = true |
| |
| FAutoConsoleVariableRef | 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 | bChaosCollisionCCDAllowClipping = true |
| |
| FAutoConsoleVariableRef | 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 | ChaosCollisionCCDConstraintMaxProcessCount = 1 |
| |
| FAutoConsoleVariableRef | 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 | CCDEnableThresholdBoundsScale = 0.4f |
| |
| FAutoConsoleVariableRef | 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 | CCDAllowedDepthBoundsScale = 0.2f |
| |
| FAutoConsoleVariableRef | 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 | bCCDNewTargetDepthMode = true |
| |
| FAutoConsoleVariableRef | 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 | CCDAxisThresholdMode = 2 |
| |
| FAutoConsoleVariableRef | 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 | bCCDAxisThresholdUsesProbeShapes = false |
| |
| FAutoConsoleVariableRef | 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 | bCCDSweepsUseProbeShapes = false |
| |
| FAutoConsoleVariableRef | CVarCCDSweepsUseProbeShapes (TEXT("p.Chaos.CCD.CCDSweepsUseProbeShapes"), bCCDSweepsUseProbeShapes, TEXT("When true, probe shapes can be swept for more accurate collision detection.")) |
| |
| int32 | ChaosCollisionCCDCorrectionIterations = 4 |
| |
| FAutoConsoleVariableRef | CVarChaosCollisionCCDCorrectionIterations (TEXT("p.Chaos.Collision.CCD.CorrectionIterations"), ChaosCollisionCCDCorrectionIterations, TEXT("The number of post-solve CCD correction ietaryions to run.")) |
| |
| FRealSingle | ChaosCollisionCCDCorrectionPhiToleranceScale = 0.02f |
| |
| FAutoConsoleVariableRef | CVarChaosCollisionCCDCorrectionPhiToleranceScale (TEXT("p.Chaos.Collision.CCD.CorrectionPhiToleranceScale"), ChaosCollisionCCDCorrectionPhiToleranceScale, TEXT("How much penetration we allow during the correction phase (multiplier on shape size)")) |
| |
| int32 | ChaosSolverDrawCCDInteractions |
| |
| float | Chaos_CharacterGroundConstraint_InputMovementThreshold = 0.1f |
| |
| FAutoConsoleVariableRef | CVarChaos_CharacterGroundConstraint_InputMovementThreshold (TEXT("p.Chaos.CharacterGroundConstraint.InputMovementThreshold"), Chaos_CharacterGroundConstraint_InputMovementThreshold, TEXT("Minimum per frame input movement distance in cm.")) |
| |
| float | Chaos_CharacterGroundConstraint_ExternalMovementThreshold = 2.0f |
| |
| FAutoConsoleVariableRef | CVarChaos_CharacterGroundConstraint_ExternalMovementThreshold (TEXT("p.Chaos.CharacterGroundConstraint.ExternalMovementThreshold"), Chaos_CharacterGroundConstraint_ExternalMovementThreshold, TEXT("If distance moved is less than this then retain current movement target relative to ground.")) |
| |
| int32 | ChaosSolverDebugDrawMeshContacts |
| |
| bool | bMeshContactGeneratorFixContactNormalFixEnabled = true |
| |
| FAutoConsoleVariableRef | CVarChaosMeshContactGeneratorFixContactNormalFixEnabled (TEXT("p.Chaos.MeshContactGenerator.FixContactNormal.FixEnabled"), bMeshContactGeneratorFixContactNormalFixEnabled, TEXT("Until new code path is well tested")) |
| |
| FRealSingle | Chaos_Collision_CullDistanceScaleInverseSize = 0.01f |
| |
| FRealSingle | Chaos_Collision_MinCullDistanceScale = 1.0f |
| |
| FAutoConsoleVariableRef | CVarChaos_Collision_CullDistanceReferenceSize (TEXT("p.Chaos.Collision.CullDistanceReferenceSize"), Chaos_Collision_CullDistanceScaleInverseSize, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaos_Collision_MinCullDistanecScale (TEXT("p.Chaos.Collision.MinCullDistanceScale"), Chaos_Collision_MinCullDistanceScale, TEXT("")) |
| |
| bool | bChaos_Collision_MidPhase_EnableShapePairs = true |
| |
| int32 | Chaos_Collision_MidPhase_MaxShapePairs = 100 |
| |
| FAutoConsoleVariableRef | CVarChaos_Collision_EnableShapePairs (TEXT("p.Chaos.Collision.EnableShapePairs"), bChaos_Collision_MidPhase_EnableShapePairs, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaos_Collision_MaxShapePairs (TEXT("p.Chaos.Collision.MaxShapePairs"), Chaos_Collision_MidPhase_MaxShapePairs, TEXT("")) |
| |
| bool | bChaosMidPhaseActivateWakingConstraints = true |
| |
| FAutoConsoleVariableRef | CVarChaosMidPhaseActivateWakingConstraints (TEXT("p.Chaos.Bugs.ActivateWakingConstraints"), bChaosMidPhaseActivateWakingConstraints, TEXT("")) |
| |
| bool | bChaosMidPhaseModifierConvexOptimizerFix = true |
| |
| FAutoConsoleVariableRef | CVarChaosMidPhaseModifierConvexOptimizerFix (TEXT("p.Chaos.Bugs.MidPhaseModifierConvexOptimizerFix"), bChaosMidPhaseModifierConvexOptimizerFix, TEXT("")) |
| |
| FRealSingle | ChaosOneWayPairSphereRadiusAlpha = 1.0f |
| |
| FAutoConsoleVariableRef | CVarChaosOneWayPairSphereRadiusAlpha (TEXT("p.Chaos.Solver.OneWayPairSphereRadiusAlpha"), ChaosOneWayPairSphereRadiusAlpha, TEXT("If one-way interactions are treated as spheres, the diameter is lerp(Size.Min, Size.Max, RadiusAlpha)")) |
| |
| int32 | ChaosOneWayInteractionPairCollisionMode = (int32)EOneWayInteractionPairCollisionMode::SphereCollision |
| |
| bool | bChaosForceMACD = false |
| |
| bool | bChaos_PBDCollisionSolver_Position_SolveEnabled = true |
| |
| bool | bChaos_PBDCollisionSolver_Velocity_SolveEnabled = true |
| |
| float | Chaos_PBDCollisionSolver_Position_MinInvMassScale = 0.77f |
| |
| float | Chaos_PBDCollisionSolver_Velocity_MinInvMassScale = Chaos_PBDCollisionSolver_Position_MinInvMassScale |
| |
| FRealSingle | Chaos_PBDCollisionSolver_AutoStiffness_MassRatio1 = 0 |
| |
| FRealSingle | Chaos_PBDCollisionSolver_AutoStiffness_MassRatio2 = 0 |
| |
| FAutoConsoleVariableRef | CVarChaosPBDCollisionSolverAutoStiffnessMassRatio1 (TEXT("p.Chaos.PBDCollisionSolver.AutoStiffness.MassRatio1"), Chaos_PBDCollisionSolver_AutoStiffness_MassRatio1, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaosPBDCollisionSolverAutoStiffnessMassRatio2 (TEXT("p.Chaos.PBDCollisionSolver.AutoStiffness.MassRatio2"), Chaos_PBDCollisionSolver_AutoStiffness_MassRatio2, TEXT("")) |
| |
| FRealSingle | Chaos_PBDCollisionSolver_JacobiStiffness = 0.5f |
| |
| FAutoConsoleVariableRef | CVarChaosPBDCollisionSolverJacobiStiffness (TEXT("p.Chaos.PBDCollisionSolver.JacobiStiffness"), Chaos_PBDCollisionSolver_JacobiStiffness, TEXT("")) |
| |
| FRealSingle | Chaos_PBDCollisionSolver_JacobiPositionTolerance = 1.e-6f |
| |
| FAutoConsoleVariableRef | CVarChaosPBDCollisionSolverJacobiPositionTolerance (TEXT("p.Chaos.PBDCollisionSolver.JacobiPositionTolerance"), Chaos_PBDCollisionSolver_JacobiPositionTolerance, TEXT("")) |
| |
| FRealSingle | Chaos_PBDCollisionSolver_JacobiRotationTolerance = 1.e-8f |
| |
| FAutoConsoleVariableRef | CVarChaosPBDCollisionSolverJacobiRotationTolerance (TEXT("p.Chaos.PBDCollisionSolver.JacobiRotationTolerance"), Chaos_PBDCollisionSolver_JacobiRotationTolerance, TEXT("")) |
| |
| bool | bChaos_Collision_EnableInitialDepenetration = true |
| |
| FAutoConsoleVariableRef | CVarChaosCollisionEnableInitialDepentration (TEXT("p.Chaos.PBDCollisionSolver.EnableInitialDepenetration"), bChaos_Collision_EnableInitialDepenetration, TEXT("")) |
| |
| int32 | Chaos_Collision_MaxSolverManifoldPoints = -1 |
| |
| FAutoConsoleVariableRef | CVarChaosCollisionMaxSolverManifoldPoints (TEXT("p.Chaos.PBDCollisionSolver.MaxManifoldPoints"), Chaos_Collision_MaxSolverManifoldPoints, TEXT("")) |
| |
| bool | bChaos_Collision_EnableSoftCollisions = true |
| |
| FAutoConsoleVariableRef | CVarChaosCollisionEnableSoftCollisions (TEXT("p.Chaos.PBDCollisionSolver.EnableSoftCollisions"), bChaos_Collision_EnableSoftCollisions, TEXT("")) |
| |
| float | Chaos_PBDCollisionSolver_Position_StaticFrictionStiffness = 0.5f |
| |
| FAutoConsoleVariableRef | CVarChaos_PBDCollisionSolver_Position_SolveEnabled (TEXT("p.Chaos.PBDCollisionSolver.Position.SolveEnabled"), bChaos_PBDCollisionSolver_Position_SolveEnabled, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaos_PBDCollisionSolver_Position_MinInvMassScale (TEXT("p.Chaos.PBDCollisionSolver.Position.MinInvMassScale"), Chaos_PBDCollisionSolver_Position_MinInvMassScale, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaos_PBDCollisionSolver_Position_StaticFrictionStiffness (TEXT("p.Chaos.PBDCollisionSolver.Position.StaticFriction.Stiffness"), Chaos_PBDCollisionSolver_Position_StaticFrictionStiffness, TEXT("")) |
| |
| bool | bChaos_PBDCollisionSolver_Velocity_FrictionEnabled = true |
| |
| float | Chaos_PBDCollisionSolver_Velocity_StaticFrictionStiffness = 1.0f |
| |
| bool | bChaos_PBDCollisionSolver_Velocity_AveragePointEnabled = false |
| |
| FAutoConsoleVariableRef | CVarChaos_PBDCollisionSolver_Velocity_SolveEnabled (TEXT("p.Chaos.PBDCollisionSolver.Velocity.SolveEnabled"), bChaos_PBDCollisionSolver_Velocity_SolveEnabled, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaos_PBDCollisionSolver_Velocity_MinInvMassScale (TEXT("p.Chaos.PBDCollisionSolver.Velocity.MinInvMassScale"), Chaos_PBDCollisionSolver_Velocity_MinInvMassScale, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaos_PBDCollisionSolver_Velocity_FrictionEnabled (TEXT("p.Chaos.PBDCollisionSolver.Velocity.FrictionEnabled"), bChaos_PBDCollisionSolver_Velocity_FrictionEnabled, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaos_PBDCollisionSolver_Velocity_StaticFrictionStiffness (TEXT("p.Chaos.PBDCollisionSolver.Velocity.StaticFriction.Stiffness"), Chaos_PBDCollisionSolver_Velocity_StaticFrictionStiffness, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaos_PBDCollisionSolver_Velocity_AveragePointEnabled (TEXT("p.Chaos.PBDCollisionSolver.Velocity.AveragePointEnabled"), bChaos_PBDCollisionSolver_Velocity_AveragePointEnabled, TEXT("")) |
| |
| int32 | NumWorkerCollisionFactor = 2 |
| |
| FAutoConsoleVariableRef | CVarNumWorkerCollisionFactor (TEXT("p.Chaos.NumWorkerCollisionFactor"), NumWorkerCollisionFactor, TEXT("Set the number of tasks created for collision detection per worker.")) |
| |
| CHAOS_API bool | bChaosConvexSimplifyUnion = false |
| |
| FAutoConsoleVariableRef | CVarChaosSimplifyUnion (TEXT("p.Chaos.Convex.SimplifyUnion"), bChaosConvexSimplifyUnion, TEXT("If true replace all the convexes within an implcit hierarchy with a simplified one (kdop18 tribox for now) for collision")) |
| |
| int32 | ChaosConvexKinematicMode = 2 |
| |
| FAutoConsoleVariableRef | CVarChaosConvexKinematicMode (TEXT("p.Chaos.Convex.KinematicMode"), ChaosConvexKinematicMode, TEXT("Simplification mode for the kinematic shapes (0: Single Convex, 1: One convex per children, 2: Merge connected children using the splitting threshold")) |
| |
| int32 | ChaosConvexDynamicMode = 2 |
| |
| FAutoConsoleVariableRef | CVarChaosConvexDynamicMode (TEXT("p.Chaos.Convex.DynamicMode"), ChaosConvexDynamicMode, TEXT("Simplification mode for the dynamic shapes (0: Single Convex, 1: One convex per children, 2: Merge connected children using the splitting threshold)")) |
| |
| float | ChaosConvexSplittingThreshold = 1.0f |
| |
| FAutoConsoleVariableRef | CVarChaosConvexSplittingThreshold (TEXT("p.Chaos.Convex.SplittingThreshold"), ChaosConvexSplittingThreshold, TEXT("Tribox volume / convex hull threshold to trigger a volume splitting during tree construction")) |
| |
| float | ChaosConvexMinVolume = 10000.0f |
| |
| FAutoConsoleVariableRef | CVarChaosConvexMinVolume (TEXT("p.Chaos.Convex.MinVolume"), ChaosConvexMinVolume, TEXT("Min volume of the simplified convexes")) |
| |
| bool | ChaosConvexEnableMerging = true |
| |
| FAutoConsoleVariableRef | CVarChaosConvexEnableMerging (TEXT("p.Chaos.Convex.EnableMerging"), ChaosConvexEnableMerging, TEXT("Boolean to check if we are merging (bottom-up) or splitting (top-bottom) the convexes")) |
| |
| bool | ChaosConvexUseDirectOverlap = true |
| |
| FAutoConsoleVariableRef | CVarChaosConvexUseDirectOverlap (TEXT("p.Chaos.Convex.UseDirectOverlap"), ChaosConvexUseDirectOverlap, TEXT("Boolean to check if we can use direct overlap test against the bounds")) |
| |
| int32 | ChaosUnionBVHMaxDepth = 14 |
| |
| int32 | ChaosUnionBVHMinShapes = 10 |
| |
| FRealSingle | ChaosUnionBVHSplitBias = 0.1f |
| |
| bool | bChaosImplicitBVHOptimizedCountLeafObjects = true |
| |
| bool | bChaosUnionBVHEnabled = true |
| |
| FAutoConsoleVariableRef | CVarChaosUnionBVHEnabled (TEXT("p.Chaos.Collision.UnionBVH.Enabled"), bChaosUnionBVHEnabled, TEXT("Set to false to disable use of BVH during collision detection (without affecting creations and serialization)")) |
| |
| FAutoConsoleVariableRef | CVarChaosUnionBVHMinShapes (TEXT("p.Chaos.Collision.UnionBVH.NumShapes"), ChaosUnionBVHMinShapes, TEXT("If a geometry hierarchy has this many shapes, wrap it in a BVH for collision detection (negative to disable BVH)")) |
| |
| FAutoConsoleVariableRef | CVarChaosUnionBVHMaxDepth (TEXT("p.Chaos.Collision.UnionBVH.MaxDepth"), ChaosUnionBVHMaxDepth, TEXT("The allowed depth of the BVH when used to wrap a shape hiererchy")) |
| |
| FAutoConsoleVariableRef | CVarChaosUnionBVHSplitBias (TEXT("p.Chaos.Collision.UnionBVH.SplitBias"), ChaosUnionBVHSplitBias, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaosImplicitBVHOptimizedCountLeafObjects (TEXT("p.Chaos.Collision.UnionBVH.UseOptimizedCountLeafObjects"), bChaosImplicitBVHOptimizedCountLeafObjects, TEXT("")) |
| |
| int32 | ChaosSolverPositionIterations = -1 |
| |
| int32 | ChaosSolverVelocityIterations = -1 |
| |
| int32 | ChaosSolverProjectionIterations = -1 |
| |
| int32 | GIslandGroupsParallelMode = 2 |
| |
| FAutoConsoleVariableRef | GCVarIslandGroupsParallelMode (TEXT("p.Chaos.Solver.IslandGroups.ParallelMode"), GIslandGroupsParallelMode, TEXT("0: Single-Threaded; 1: Parallel-For; 2: Tasks")) |
| |
| FRealSingle | GIslandGroupsWorkerMultiplier = 1 |
| |
| FAutoConsoleVariableRef | GCVarIslandGroupsWorkerThreadMultiplier (TEXT("p.Chaos.Solver.IslandGroups.WorkerMultiplier"), GIslandGroupsWorkerMultiplier, TEXT("Total number of island groups in the solver will be NumWorkerThreads * WorkerThreadMultiplier. [def:1]")) |
| |
| int32 | GIslandGroupsMaxWorkers = 0 |
| |
| FAutoConsoleVariableRef | GCVarIslandGroupsMaxWorkers (TEXT("p.Chaos.Solver.IslandGroups.MaxWorkers"), GIslandGroupsMaxWorkers, TEXT("The maximum number of worker threads to use (0 means unlimited)")) |
| |
| int32 | GIslandGroupsMinConstraintsPerWorker = 50 |
| |
| FAutoConsoleVariableRef | GCVarIslandGroupsMinConstraintsPerWorker (TEXT("p.Chaos.Solver.IslandGroups.MinConstraintsPerWorker"), GIslandGroupsMinConstraintsPerWorker, TEXT("The minimum number of constraints we want per worker thread")) |
| |
| int32 | GIslandGroupsMinBodiesPerWorker = 50 |
| |
| FAutoConsoleVariableRef | GCVarIslandGroupsMinBodiesPerWorker (TEXT("p.Chaos.Solver.IslandGroups.MinBodiesPerWorker"), GIslandGroupsMinBodiesPerWorker, TEXT("The minimum number of bodies we want per worker thread")) |
| |
| int32 | ChaosSolverCollisionPositionShockPropagationIterations = -1 |
| |
| int32 | ChaosSolverCollisionVelocityShockPropagationIterations = -1 |
| |
| bool | bChaosSolverPersistentGraph = true |
| |
| FRealSingle | SmoothedPositionLerpRate = 0.3f |
| |
| bool | bChaosConstraintGraphValidate = (CHAOS_CONSTRAINTGRAPH_CHECK_ENABLED != 0) |
| |
| FAutoConsoleVariableRef | CVarChaosConstraintGraphValidate (TEXT("p.Chaos.ConstraintGraph.Validate"), bChaosConstraintGraphValidate, TEXT("Enable per-tick ConstraintGraph validation checks/assertions")) |
| |
| bool | bChaosSolverSleepEnabled = true |
| |
| FAutoConsoleVariableRef | CVarChaosSolverSleepEnabled (TEXT("p.Chaos.Solver.Sleep.Enabled"), bChaosSolverSleepEnabled, TEXT("Islands of non - moving particles will be deactivated.")) |
| |
| bool | bChaosSolverPartialIslandSleep = false |
| |
| FAutoConsoleVariableRef | CVarChaosSolverPartialIslandSleep (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep"), bChaosSolverPartialIslandSleep, TEXT("[EXPERIMENTAL] Single non-moving particles in islands will be deactivated even if they are connected to moving particles.")) |
| |
| bool | bChaosSolverPartialIslandWake = true |
| |
| FAutoConsoleVariableRef | CVarChaosSolverPartialIslandWake (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.PartialIslandWake"), bChaosSolverPartialIslandWake, TEXT("[EXPERIMENTAL] Safeguard only: New constraints and particle state changes will trigger partial wake events instead of waking up the entire island.[def:true]")) |
| |
| bool | bChaosSolverForcePartialIslandWake = false |
| |
| FAutoConsoleVariableRef | CVarChaosSolverForcePartialIslandWake (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.ForcePartialIslandWake"), bChaosSolverForcePartialIslandWake, TEXT("[EXPERIMENTAL] Safeguard only: We force partial wake events even if all particles in the island are already awake to guarantee resetting the particle sleep counter.[def:false]")) |
| |
| bool | bChaosSolverWakeOnParticleStateChanged = false |
| |
| FAutoConsoleVariableRef | CVarChaosSolverWakeOnParticleStateChanged (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.WakeOnParticleStateChanged"), bChaosSolverWakeOnParticleStateChanged, TEXT("[EXPERIMENTAL] Safeguard only: State changes of a particle will trigger the island to wake up entirely.[def:false]")) |
| |
| bool | bChaosSolverWakeOnMovingOnly = true |
| |
| FAutoConsoleVariableRef | CVarChaosSolverWakeOnMovingOnly (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.WakeOnMovingOnly"), bChaosSolverWakeOnMovingOnly, TEXT("[EXPERIMENTAL] Safeguard only: Only newly detected constraints connected to a moving particle will trigger wake-up event.[def:true]")) |
| |
| FRealSingle | ChaosSolverPostStepWakeThreshold = 20.0f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverPostStepWakeThreshold (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.PostStepWakeThreshold"), ChaosSolverPostStepWakeThreshold, TEXT("[EXPERIMENTAL] Post-solver waking of sleeping particles: Minimum squared change of velocity induced by the velocity-based collision solver (VBD, 0 to disable).[def:20]")) |
| |
| FRealSingle | ChaosSolverMomentumPropagation = 0.3f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverMomentumPropagation (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.MomentumPropagation"), ChaosSolverMomentumPropagation, TEXT("[EXPERIMENTAL] Ratio of the impact momentum transferred from one sleeping particle to another through a constraint during partial wake event (0 to disable, 1 to propagate without dissipation).[def:0.3]")) |
| |
| bool | bChaosSolverPartialSleepCollisionConstraintsOnly = true |
| |
| FAutoConsoleVariableRef | CVarChaosSolverPartialSleepCollisionConstraintsOnly (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.CollisionConstraintsOnly"), bChaosSolverPartialSleepCollisionConstraintsOnly, TEXT("[EXPERIMENTAL] Safeguard only: Only collision constraints permit partial sleep, i.e. the sleep state of particles connect by other constraint types must match.[def:true]")) |
| |
| bool | bChaosSolverPartialWakePreIntegration = true |
| |
| FAutoConsoleVariableRef | CVarChaosSolverPartialWakePreIntegration (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.PartialWakePreIntegration"), bChaosSolverPartialWakePreIntegration, TEXT("[EXPERIMENTAL] Safeguard only: Partial wake events also happen pre-integration when the user explicilty sets a particle transform or applies external impulses or forces.[def:true]")) |
| |
| FRealSingle | ChaosSolverMinMotionlessRatio = 0.1f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverMinMotionlessRatio (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.MinimumMotionlessRatio"), ChaosSolverMinMotionlessRatio, TEXT("[EXPERIMENTAL] Ratio of the particles which need to be motionless in an island for partial island sleep to become active (0 to always activate partial island sleep).[def:0.1]")) |
| |
| int32 | ChaosSolverSleepModeSwitchThreshold = 10 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverSleepModeSwitchThreshold (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.SleepModeSwitchCounterThreshold"), ChaosSolverSleepModeSwitchThreshold, TEXT("[EXPERIMENTAL] Safeguard only: Number of steps MinimumMotionlessRatio needs to be satisfied before switching the between full and partial island sleep.[def:10]")) |
| |
| FRealSingle | LinearPartialWakeThresholdMultiplier = 10.0f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverLinearWakeThresholdMultiplier (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.LinearWakeThresholdMultiplier"), LinearPartialWakeThresholdMultiplier, TEXT("[EXPERIMENTAL] A multiplier applied to LinearSleepThreshold for particle waking.[def:10]")) |
| |
| FRealSingle | AngularPartialWakeThresholdMultiplier = 10.0f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverAngularWakeThresholdMultiplier (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.AngularWakeThresholdMultiplier"), AngularPartialWakeThresholdMultiplier, TEXT("[EXPERIMENTAL] A multiplier applied to AngularSleepThreshold for particle waking.[def:10]")) |
| |
| bool | bChaosSolverValidateConstraintSleepState = false |
| |
| FAutoConsoleVariableRef | ChaosSolverValidateConstraintSleepState (TEXT("p.Chaos.Solver.Sleep.PartialIslandSleep.ValidateConstraintSleepState"), bChaosSolverValidateConstraintSleepState, TEXT("[EXPERIMENTAL] Debugging only: Enable constraint sleep state validation checks/assertions at the end of the tick.[def:false]")) |
| |
| int32 | ChaosSolverCollisionDefaultSleepCounterThreshold = 20 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionDefaultSleepCounterThreshold (TEXT("p.Chaos.Solver.Sleep.Defaults.SleepCounterThreshold"), ChaosSolverCollisionDefaultSleepCounterThreshold, TEXT("Default counter threshold for sleeping.[def:20]")) |
| |
| FRealSingle | ChaosSolverCollisionDefaultLinearSleepThreshold = 0.001f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionDefaultLinearSleepThreshold (TEXT("p.Chaos.Solver.Sleep.Defaults.LinearSleepThreshold"), ChaosSolverCollisionDefaultLinearSleepThreshold, TEXT("Default linear threshold for sleeping.[def:0.001]")) |
| |
| FRealSingle | ChaosSolverCollisionDefaultAngularSleepThreshold = 0.0087f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionDefaultAngularSleepThreshold (TEXT("p.Chaos.Solver.Sleep.Defaults.AngularSleepThreshold"), ChaosSolverCollisionDefaultAngularSleepThreshold, TEXT("Default angular threshold for sleeping.[def:0.0087]")) |
| |
| FRealSingle | ChaosSolverCollisionAngularSleepThresholdSize = 0 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionAngularSleepThresholdSize (TEXT("p.Chaos.Solver.Sleep.AngularSleepThresholdSize"), ChaosSolverCollisionAngularSleepThresholdSize, TEXT("Scales the angular threshold based on size (0 to disable size based scaling)")) |
| |
| int32 | IsolatedParticleSleepCounterThresholdMultiplier = 1 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverIsolatedParticleSleepCounterThresholdMultiplier (TEXT("p.Chaos.Solver.Sleep.IsolatedParticle.CounterMultiplier"), IsolatedParticleSleepCounterThresholdMultiplier, TEXT("A multiplier applied to SleepCounterThreshold for floating particles")) |
| |
| FRealSingle | IsolatedParticleSleepLinearThresholdMultiplier = 1.0f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverIsolatedParticleSleepLinearThresholdMultiplier (TEXT("p.Chaos.Solver.Sleep.IsolatedParticle.LinearMultiplier"), IsolatedParticleSleepLinearThresholdMultiplier, TEXT("A multiplier applied to SleepLinearThreshold for floating particles")) |
| |
| FRealSingle | IsolatedParticleSleepAngularThresholdMultiplier = 1.0f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverIsolatedParticleSleepAngularThresholdMultiplier (TEXT("p.Chaos.Solver.Sleep.IsolatedParticle.AngularMultiplier"), IsolatedParticleSleepAngularThresholdMultiplier, TEXT("A multiplier applied to SleepAngularThreshold for floating particles")) |
| |
| bool | bChaosSolverComputeIterationSettings = true |
| |
| FAutoConsoleVariableRef | CVarChaosSolverComputeIterationSettingsEnabled (TEXT("p.Chaos.Solver.ComputeIterationSettings.Enabled"), bChaosSolverComputeIterationSettings, TEXT("Recompute iteration settings every time an island is changed")) |
| |
| bool | bChaosRandomizeConstraintOrder = false |
| |
| FAutoConsoleVariableRef | CVarChaosRandomizeConstraintOrder (TEXT("p.Chaos.Solver.RandomizeConstraintOrder"), bChaosRandomizeConstraintOrder, TEXT("Randomize constraint order for testing")) |
| |
| FAutoConsoleVariableRef | CVarForceDeepCopyOnModifyGeometry (TEXT("p.Chaos.Geometry.ForceDeepCopyAccess"), GForceDeepCopyOnModifyGeometry, TEXT("Whether we always use a deep copy when modifying particle geometry")) |
| |
| bool | bChaos_PBDCollisionSolver_UseJacobiPairSolver2 |
| |
| bool | bChaosEnableOverrideSingleParticleTypeToCluster = false |
| |
| bool | bChaos_Solver_TestMode_Enabled = false |
| |
| int32 | Chaos_Solver_TestMode_Step = 0 |
| |
| bool | bChaosUseMACD = true |
| |
| FRealSingle | HackMaxAngularVelocity = 1000.f |
| |
| FAutoConsoleVariableRef | CVarHackMaxAngularVelocity (TEXT("p.HackMaxAngularVelocity"), HackMaxAngularVelocity, TEXT("Max cap on angular velocity: rad/s. This is only a temp solution and should not be relied on as a feature. -1.f to disable")) |
| |
| FRealSingle | HackMaxVelocity = -1.f |
| |
| FAutoConsoleVariableRef | CVarHackMaxVelocity (TEXT("p.HackMaxVelocity2"), HackMaxVelocity, TEXT("Max cap on velocity: cm/s. This is only a temp solution and should not be relied on as a feature. -1.f to disable")) |
| |
| int | DisableThreshold = 5 |
| |
| FAutoConsoleVariableRef | CVarDisableThreshold (TEXT("p.DisableThreshold2"), DisableThreshold, TEXT("Disable threshold frames to transition to sleeping")) |
| |
| int | CollisionDisableCulledContacts = 0 |
| |
| FAutoConsoleVariableRef | CVarDisableCulledContacts (TEXT("p.CollisionDisableCulledContacts"), CollisionDisableCulledContacts, TEXT("Allow the PBDRigidsEvolutionGBF collision constraints to throw out contacts mid solve if they are culled.")) |
| |
| FAutoConsoleVariableRef | CVarSmoothedPositionLerpRate (TEXT("p.Chaos.SmoothedPositionLerpRate"), SmoothedPositionLerpRate, TEXT("The interpolation rate for the smoothed position calculation. Used for sleeping.")) |
| |
| int | DisableParticleUpdateVelocityParallelFor = 0 |
| |
| FAutoConsoleVariableRef | CVarDisableParticleUpdateVelocityParallelFor (TEXT("p.DisableParticleUpdateVelocityParallelFor"), DisableParticleUpdateVelocityParallelFor, TEXT("Disable Particle Update Velocity ParallelFor and run the update on a single thread")) |
| |
| bool | bChaosCollisionCCDUseTightBoundingBox = true |
| |
| FAutoConsoleVariableRef | CVarChaosCollisionCCDUseTightBoundingBox (TEXT("p.Chaos.Collision.CCD.UseTightBoundingBox"), bChaosCollisionCCDUseTightBoundingBox, TEXT("")) |
| |
| int32 | ChaosSolverCollisionSolverType = -1 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionSolverType (TEXT("p.Chaos.Solver.Collision.SolverType"), ChaosSolverCollisionSolverType, TEXT("-1: Use default (Gauss Seidel); 0: Gauss Seidel; 1: Gauss Seidel SOA 2: Partial Jacobi")) |
| |
| int32 | ChaosSolverCollisionPriority = 0 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionPriority (TEXT("p.Chaos.Solver.Collision.Priority"), ChaosSolverCollisionPriority, TEXT("Set constraint priority. Larger values are evaluated later [def:0]")) |
| |
| int32 | ChaosSolverJointPriority = 0 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointPriority (TEXT("p.Chaos.Solver.Joint.Priority"), ChaosSolverJointPriority, TEXT("Set constraint priority. Larger values are evaluated later [def:0]")) |
| |
| int32 | ChaosSolverSuspensionPriority = 0 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverSuspensionPriority (TEXT("p.Chaos.Solver.Suspension.Priority"), ChaosSolverSuspensionPriority, TEXT("Set constraint priority. Larger values are evaluated later [def:0]")) |
| |
| int32 | ChaosSolverCharacterGroundConstraintPriority = 0 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverChaosCharacterGroundConstraintPriority (TEXT("p.Chaos.Solver.CharacterGroundConstraint.Priority"), ChaosSolverCharacterGroundConstraintPriority, TEXT("Set constraint priority. Larger values are evaluated later [def:0]")) |
| |
| bool | DoTransferJointConstraintCollisions = true |
| |
| FAutoConsoleVariableRef | CVarDoTransferJointConstraintCollisions (TEXT("p.Chaos.Solver.Joint.TransferCollisions"), DoTransferJointConstraintCollisions, TEXT("Allows joints to apply collisions to the parent from the child when the Joints TransferCollisionScale is not 0 [def:true]")) |
| |
| int32 | TransferCollisionsLimit = INT_MAX |
| |
| FAutoConsoleVariableRef | CVarTransferCollisionsMultiply (TEXT("p.Chaos.Solver.Joint.TransferCollisionsLimit"), TransferCollisionsLimit, TEXT("Maximum number of constraints that are allowed to transfer to the parent. Lowering this will improve performance but reduce accuracy. [def:INT_MAX]")) |
| |
| FRealSingle | TransferCollisionsKinematicScale = 1.0f |
| |
| FAutoConsoleVariableRef | CVarTransferCollisionsKinematicScale (TEXT("p.Chaos.Solver.Joint.TransferCollisionsKinematicScale"), TransferCollisionsKinematicScale, TEXT("Scale to apply to collision transfers between kinematic bodies [def:1.0]")) |
| |
| FRealSingle | TransferCollisionsStiffnessClamp = 1.0f |
| |
| FAutoConsoleVariableRef | CVarTransferCollisionsStiffnessClamp (TEXT("p.Chaos.Solver.Joint.TransferCollisionsStiffnessClamp"), TransferCollisionsStiffnessClamp, TEXT("Clamp of maximum value of the stiffness clamp[def:1.0]")) |
| |
| bool | TransferCollisionsDebugTestAgainstMaxClamp = false |
| |
| FAutoConsoleVariableRef | CVarTransferCollisionsDebugTestAgainstMaxClamp (TEXT("p.Chaos.Solver.Joint.TransferCollisionsDebugTestAgainstMaxClamp"), TransferCollisionsDebugTestAgainstMaxClamp, TEXT("Force all joint collision constraint settings to max clamp value to validate stability [def:false]")) |
| |
| bool | DoFinalProbeNarrowPhase = true |
| |
| FAutoConsoleVariableRef | CVarDoFinalProbeNarrowPhase (TEXT("p.Chaos.Solver.DoFinalProbeNarrowPhase"), DoFinalProbeNarrowPhase, TEXT("")) |
| |
| int32 | ChaosSolverInertiaConditioningEpoch = 0 |
| |
| FConsoleVariableDelegate | OnInertiaConditioningCVarChangedDelegate = FConsoleVariableDelegate::CreateLambda([](IConsoleVariable*) { ++ChaosSolverInertiaConditioningEpoch; }) |
| |
| bool | bChaosSolverInertiaConditioningEnabled = true |
| |
| FAutoConsoleVariableRef | CVarChaosSolverInertiaConditioningEnabled (TEXT("p.Chaos.Solver.InertiaConditioning.Enabled"), bChaosSolverInertiaConditioningEnabled, TEXT("Enable/Disable constraint stabilization through inertia conditioning"), OnInertiaConditioningCVarChangedDelegate) |
| |
| FRealSingle | ChaosSolverInertiaConditioningDistance = 20 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverInertiaConditioningDistance (TEXT("p.Chaos.Solver.InertiaConditioning.Distance"), ChaosSolverInertiaConditioningDistance, TEXT("An input to inertia conditioning system. The joint distance error which needs to be stable (generate a low rotation)."), OnInertiaConditioningCVarChangedDelegate) |
| |
| FRealSingle | ChaosSolverInertiaConditioningRotationRatio = 2.5f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverInertiaConditioningRotationRatio (TEXT("p.Chaos.Solver.InertiaConditioning.RotationRatio"), ChaosSolverInertiaConditioningRotationRatio, TEXT("An input to inertia conditioning system. The maximum ratio of joint correction from rotation versus translation"), OnInertiaConditioningCVarChangedDelegate) |
| |
| FRealSingle | ChaosSolverMaxInvInertiaComponentRatio = 0 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverInertiaConditioningMaxInvInertiaComponentRatio (TEXT("p.Chaos.Solver.InertiaConditioning.MaxInvInertiaComponentRatio"), ChaosSolverMaxInvInertiaComponentRatio, TEXT("An input to inertia conditioning system. The largest inertia component must be at least least multiple of the smallest component"), OnInertiaConditioningCVarChangedDelegate) |
| |
| FInertiaConditioningTolerances | ChaosInertiaConditioningTolerances = FInertiaConditioningTolerances() |
| |
| bool | bChaosCollisionModiferBeforeCCD = false |
| |
| FAutoConsoleVariableRef | CVarChaosCollisionModiferBeforeCCD (TEXT("p.Chaos.Solver.CollisionModifiersBeforeCCD"), bChaosCollisionModiferBeforeCCD, TEXT("True: run the collision modifiers before CCD rewind is applied; False(default): run modifiers after CCD rewind. See comments in code.")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverPersistentGraph (TEXT("p.Chaos.Solver.PersistentGraph"), bChaosSolverPersistentGraph, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaosIgnoreOneWayPairCollisions (TEXT("p.Chaos.Solver.OneWayPairCollisionMode"), ChaosOneWayInteractionPairCollisionMode, TEXT("How to treat collisions between two one-way interaction particles. See EOneWayInteractionPairCollisionMode (0: Ignore collisions; 1: Collide as normal; 2: Collide as spheres)")) |
| |
| bool | bChaosRigids_UseSimdForJointsSolver = true |
| |
| FAutoConsoleVariableRef | CVarChaosImmPhysUseSimdForLinearSolver (TEXT("p.Chaos.Solver.Joint.UseSimd"), bChaosRigids_UseSimdForJointsSolver, TEXT("Enable/Disable SIMD on the linear joint solver")) |
| |
| int32 | SerializeEvolution = 0 |
| |
| FAutoConsoleVariableRef | CVarSerializeEvolution (TEXT("p.SerializeEvolution"), SerializeEvolution, TEXT("")) |
| |
| bool | bChaos_CollisionStore_Enabled = true |
| |
| FAutoConsoleVariableRef | CVarCollisionStoreEnabled (TEXT("p.Chaos.CollisionStore.Enabled"), bChaos_CollisionStore_Enabled, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverTestModeEnabled (TEXT("p.Chaos.Solver.TestMode.Enabled"), bChaos_Solver_TestMode_Enabled, TEXT("")) |
| |
| bool | bChaos_Solver_TestMode_ShowInitialTransforms = false |
| |
| FAutoConsoleVariableRef | CVarChaosSolverTestModeShowInitialTransforms (TEXT("p.Chaos.Solver.TestMode.ShowInitialTransforms"), bChaos_Solver_TestMode_ShowInitialTransforms, TEXT("")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverTestModeStep (TEXT("p.Chaos.Solver.TestMode.Step"), Chaos_Solver_TestMode_Step, TEXT("")) |
| |
| bool | bChaosSolverCheckParticleViews = false |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCheckParticleViews (TEXT("p.Chaos.Solver.CheckParticleViews"), bChaosSolverCheckParticleViews, TEXT("")) |
| |
| bool | bChaosMidPhaseRedistributionEnabled = false |
| |
| FAutoConsoleVariableRef | CVarChaosSolverMidPhaseRedistributionEnabled (TEXT("p.Chaos.BroadPhase.MidPhaseRedistributionEnabled"), bChaosMidPhaseRedistributionEnabled, TEXT("")) |
| |
| bool | ChaosSolverUseParticlePool = true |
| |
| FAutoConsoleVariableRef | CVarChaosSolverUseParticlePool (TEXT("p.Chaos.Solver.UseParticlePool"), ChaosSolverUseParticlePool, TEXT("Whether or not to use dirty particle pool (Optim)")) |
| |
| int32 | ChaosSolverParticlePoolNumFrameUntilShrink = 30 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverParticlePoolNumFrameUntilShrink (TEXT("p.Chaos.Solver.ParticlePoolNumFrameUntilShrink"), ChaosSolverParticlePoolNumFrameUntilShrink, TEXT("Num Frame until we can potentially shrink the pool")) |
| |
| bool | bChaosSolverCollisionEnabled = true |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionDisable (TEXT("p.Chaos.Solver.Collision.Enabled"), bChaosSolverCollisionEnabled, TEXT("Enable/Disable collisions in the main scene.")) |
| |
| bool | bChaosSolverShrinkArrays = false |
| |
| float | ChaosArrayCollectionMaxSlackFraction = 0.5f |
| |
| int32 | ChaosArrayCollectionMinSlack = 100 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverShrinkArrays (TEXT("p.Chaos.Solver.ShrinkArrays"), bChaosSolverShrinkArrays, TEXT("Enable/Disable particle array shrinking in the main scene")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverArrayCollectionMaxSlackFraction (TEXT("p.Chaos.ArrayCollection.MaxSlackFraction"), ChaosArrayCollectionMaxSlackFraction, TEXT("Shrink particle arrays if the number of slack elements exceeds the number of elements by this fraction")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverArrayCollectionMinSlack (TEXT("p.Chaos.ArrayCollection.MinSlack"), ChaosArrayCollectionMinSlack, TEXT("Do not reduce the size of particle arrays if it would leave less slack than this")) |
| |
| int32 | ChaosSolverCollisionPositionFrictionIterations = -1 |
| |
| int32 | ChaosSolverCollisionVelocityFrictionIterations = -1 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionPositionFrictionIterations (TEXT("p.Chaos.Solver.Collision.PositionFrictionIterations"), ChaosSolverCollisionPositionFrictionIterations, TEXT("Override number of position iterations where friction is applied (if >= 0)")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionVelocityFrictionIterations (TEXT("p.Chaos.Solver.Collision.VelocityFrictionIterations"), ChaosSolverCollisionVelocityFrictionIterations, TEXT("Override number of velocity iterations where friction is applied (if >= 0)")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionPositionShockPropagationIterations (TEXT("p.Chaos.Solver.Collision.PositionShockPropagationIterations"), ChaosSolverCollisionPositionShockPropagationIterations, TEXT("Override number of position iterations where shock propagation is applied (if >= 0)")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionVelocityShockPropagationIterations (TEXT("p.Chaos.Solver.Collision.VelocityShockPropagationIterations"), ChaosSolverCollisionVelocityShockPropagationIterations, TEXT("Override number of velocity iterations where shock propagation is applied (if >= 0)")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverIterations (TEXT("p.Chaos.Solver.Iterations.Position"), ChaosSolverPositionIterations, TEXT("Override number of solver position iterations (-1 to use config)")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverPushOutIterations (TEXT("p.Chaos.Solver.Iterations.Velocity"), ChaosSolverVelocityIterations, TEXT("Override number of solver velocity iterations (-1 to use config)")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverProjectionIterations (TEXT("p.Chaos.Solver.Iterations.Projection"), ChaosSolverProjectionIterations, TEXT("Override number of solver projection iterations (-1 to use config)")) |
| |
| int32 | ChaosSolverDeterministic = -1 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverDeterministic (TEXT("p.Chaos.Solver.Deterministic"), ChaosSolverDeterministic, TEXT("Override determinism. 0: disabled; 1: enabled; -1: use config")) |
| |
| FRealSingle | ChaosSolverJointPositionTolerance = 0.025f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointPositionTolerance (TEXT("p.Chaos.Solver.Joint.PositionTolerance"), ChaosSolverJointPositionTolerance, TEXT("PositionTolerance.")) |
| |
| FRealSingle | ChaosSolverJointAngleTolerance = 0.001f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointAngleTolerance (TEXT("p.Chaos.Solver.Joint.AngleTolerance"), ChaosSolverJointAngleTolerance, TEXT("AngleTolerance.")) |
| |
| FRealSingle | ChaosSolverJointMinParentMassRatio = 0.2f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointMinParentMassRatio (TEXT("p.Chaos.Solver.Joint.MinParentMassRatio"), ChaosSolverJointMinParentMassRatio, TEXT("6Dof joint MinParentMassRatio (if > 0)")) |
| |
| FRealSingle | ChaosSolverJointMaxInertiaRatio = 5.0f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointMaxInertiaRatio (TEXT("p.Chaos.Solver.Joint.MaxInertiaRatio"), ChaosSolverJointMaxInertiaRatio, TEXT("6Dof joint MaxInertiaRatio (if > 0)")) |
| |
| bool | bChaosCollisionConfigChanged = false |
| |
| FConsoleVariableDelegate | OnCollisionConfigCVarChanged = FConsoleVariableDelegate::CreateLambda([](IConsoleVariable* CVar) -> void { bChaosCollisionConfigChanged = true; }) |
| |
| FRealSingle | ChaosSolverCullDistance = -1.0f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCullDistance (TEXT("p.Chaos.Solver.Collision.CullDistance"), ChaosSolverCullDistance, TEXT("Override cull distance (if >= 0)"), OnCollisionConfigCVarChanged) |
| |
| FRealSingle | ChaosSolverVelocityBoundsMultiplier = 1.0f |
| |
| FRealSingle | ChaosSolverMaxVelocityBoundsExpansion = 3.0f |
| |
| FRealSingle | ChaosSolverVelocityBoundsMultiplierMACD = 1.0f |
| |
| FRealSingle | ChaosSolverMaxVelocityBoundsExpansionMACD = 1000.0f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverVelocityBoundsMultiplier (TEXT("p.Chaos.Solver.Collision.VelocityBoundsMultiplier"), ChaosSolverVelocityBoundsMultiplier, TEXT("Override velocity bounds multiplier (if >= 0)"), OnCollisionConfigCVarChanged) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverMaxVelocityBoundsExpansion (TEXT("p.Chaos.Solver.Collision.MaxVelocityBoundsExpansion"), ChaosSolverMaxVelocityBoundsExpansion, TEXT("Override max velocity bounds expansion (if >= 0)"), OnCollisionConfigCVarChanged) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverVelocityBoundsMultiplierMACD (TEXT("p.Chaos.Solver.Collision.VelocityBoundsMultiplierMACD"), ChaosSolverVelocityBoundsMultiplierMACD, TEXT("Override velocity bounds multiplier for MACD (if >= 0)"), OnCollisionConfigCVarChanged) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverMaxVelocityBoundsExpansionMACD (TEXT("p.Chaos.Solver.Collision.MaxVelocityBoundsExpansionMACD"), ChaosSolverMaxVelocityBoundsExpansionMACD, TEXT("Override max velocity bounds expansion for MACD (if >= 0)"), OnCollisionConfigCVarChanged) |
| |
| FRealSingle | ChaosSolverMaxPushOutVelocity = -1.0f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverMaxPushOutVelocity (TEXT("p.Chaos.Solver.Collision.MaxPushOutVelocity"), ChaosSolverMaxPushOutVelocity, TEXT("Override max pushout velocity (if >= 0)"), OnCollisionConfigCVarChanged) |
| |
| FRealSingle | ChaosSolverDepenetrationVelocity = -1.0f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverInitialOverlapDepentrationVelocity (TEXT("p.Chaos.Solver.Collision.DepenetrationVelocity"), ChaosSolverDepenetrationVelocity, TEXT("Override initial overlap depenetration velocity (if >= 0)"), OnCollisionConfigCVarChanged) |
| |
| int32 | ChaosSolverCleanupCommandsOnDestruction = 1 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCleanupCommandsOnDestruction (TEXT("p.Chaos.Solver.CleanupCommandsOnDestruction"), ChaosSolverCleanupCommandsOnDestruction, TEXT("Whether or not to run internal command queue cleanup on solver destruction (0 = no cleanup, >0 = cleanup all commands)")) |
| |
| int32 | ChaosSolverCollisionDeferNarrowPhase = 0 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionDeferNarrowPhase (TEXT("p.Chaos.Solver.Collision.DeferNarrowPhase"), ChaosSolverCollisionDeferNarrowPhase, TEXT("Create contacts for all broadphase pairs, perform NarrowPhase later.")) |
| |
| int32 | ChaosSolverCollisionUseManifolds = 1 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionUseManifolds (TEXT("p.Chaos.Solver.Collision.UseManifolds"), ChaosSolverCollisionUseManifolds, TEXT("Enable/Disable use of manifolds in collision.")) |
| |
| int32 | ChaosSolverCollisionAllowManifoldUpdate = 1 |
| |
| FAutoConsoleVariableRef | CVarChaosSolverCollisionAllowManifoldUpdate (TEXT("p.Chaos.Solver.Collision.AllowManifoldUpdate"), ChaosSolverCollisionAllowManifoldUpdate, TEXT("Enable/Disable reuse of manifolds between ticks (for small movement).")) |
| |
| bool | bChaosUseCCD = true |
| |
| FAutoConsoleVariableRef | CVarChaosUseCCD (TEXT("p.Chaos.Solver.UseCCD"), bChaosUseCCD, TEXT("Global flag to turn CCD on or off. Default is true (on)"), OnCollisionConfigCVarChanged) |
| |
| FAutoConsoleVariableRef | CVarChaos_Collision_UseMACD (TEXT("p.Chaos.Solver.UseMACD"), bChaosUseMACD, TEXT("Global flag to turn Movement-Aware Collision Detection (MACD) on or off. Default is true (on)"), OnCollisionConfigCVarChanged) |
| |
| FAutoConsoleVariableRef | CVarChaos_Collision_ForceMACD (TEXT("p.Chaos.Solver.bChaosForceMACD"), bChaosForceMACD, TEXT("Force all collisions to use MACD for testing"), OnCollisionConfigCVarChanged) |
| |
| float | ChaosSolverJointMinSolverStiffness = 1.0f |
| |
| float | ChaosSolverJointMaxSolverStiffness = 1.0f |
| |
| int32 | ChaosSolverJointNumIterationsAtMaxSolverStiffness = 1 |
| |
| bool | bChaosSolverJointSolvePositionLast = true |
| |
| bool | bChaosSolverJointUsePositionBasedDrives = true |
| |
| int32 | ChaosSolverJointNumShockProagationIterations = 0 |
| |
| FRealSingle | ChaosSolverJointShockPropagation = -1.0f |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointMinSolverStiffness (TEXT("p.Chaos.Solver.Joint.MinSolverStiffness"), ChaosSolverJointMinSolverStiffness, TEXT("Solver stiffness on first iteration, increases each iteration toward MaxSolverStiffness.")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointMaxSolverStiffness (TEXT("p.Chaos.Solver.Joint.MaxSolverStiffness"), ChaosSolverJointMaxSolverStiffness, TEXT("Solver stiffness on last iteration, increases each iteration from MinSolverStiffness.")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointNumIterationsAtMaxSolverStiffness (TEXT("p.Chaos.Solver.Joint.NumIterationsAtMaxSolverStiffness"), ChaosSolverJointNumIterationsAtMaxSolverStiffness, TEXT("How many iterations we want at MaxSolverStiffness.")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointSolvePositionFirst (TEXT("p.Chaos.Solver.Joint.SolvePositionLast"), bChaosSolverJointSolvePositionLast, TEXT("Should we solve joints in position-then-rotation order (false) or rotation-then-position order (true, default)")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointUsePBDVelocityDrives (TEXT("p.Chaos.Solver.Joint.UsePBDDrives"), bChaosSolverJointUsePositionBasedDrives, TEXT("Whether to solve drives in the position or velocity phase of the solver (default true")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointNumShockPropagationIterations (TEXT("p.Chaos.Solver.Joint.NumShockPropagationIterations"), ChaosSolverJointNumShockProagationIterations, TEXT("How many iterations to enable SHockProagation for.")) |
| |
| FAutoConsoleVariableRef | CVarChaosSolverJointShockPropagation (TEXT("p.Chaos.Solver.Joint.ShockPropagation"), ChaosSolverJointShockPropagation, TEXT("6Dof joint shock propagation override (if >= 0).")) |
| |
| int32 | ChaosVisualDebuggerEnable = 1 |
| |
| FAutoConsoleVariableRef | CVarChaosVisualDebuggerEnable (TEXT("p.Chaos.VisualDebuggerEnable"), ChaosVisualDebuggerEnable, TEXT("Enable/Disable pushing/saving data to the visual debugger")) |
| |
| FAutoConsoleVariableRef | CVarChaosEnableOverrideSingleParticleTypeToCluster (TEXT("p.Chaos.EnableOverrideSingleParticleTypeToCluster"), bChaosEnableOverrideSingleParticleTypeToCluster, TEXT("When enabled particles are promoted to cluster type so they may be used with cluster unions")) |
| |
| bool | bRemoveParticleFromMovingKinematicsOnDisable = true |
| |
| FAutoConsoleVariableRef | CVarChaosRemoveParticleFromMovingKinematicsOnDisable (TEXT("p.Chaos.RemoveParticleFromMovingKinematicsOnDisable"), bRemoveParticleFromMovingKinematicsOnDisable, TEXT("")) |
| |
| bool | bSingleThreadPushData = false |
| |
| FAutoConsoleVariableRef | CVarChaosSingleThreadPushData (TEXT("p.Chaos.SingleThreadPushData"), bSingleThreadPushData, TEXT("Run push Data in Single Thread.")) |
| |
| CHAOS_API int32 | ChaosSolverDrawCCDThresholds |
| |