Global physics settings which are part of the SimulationConfig. More...
Public Attributes | |
bool | AllowCCD = false |
Allows CCD to be performed if the Physics Body has CCD enabled on its Config flags. More... | |
Boolean | AllowSleeping = false |
Toggles the detection of physics bodies in a sleeping state. If allowed, the simulation will skip forces and velocity integrations and collisions detection on physics bodies while they are asleep. More... | |
FP | AngularSleepToleranceInRad = FP._2 * FP.Deg2Rad |
Amount of angular velocity below which a physics body might be considered as standing still for sleeping detection. More... | |
FP | CCDAngularVelocityThreshold = FP._3 |
If CCD is allowed, it will be performed on all Physics Bodies that have it enabled and have a angular velocity magnitude above this threshold. More... | |
FP | CCDDistanceTolerance = FP.EN3 |
The absolute distance value below which the Physics Bodies under CCD check can be considered as touching. More... | |
FP | CCDLinearVelocityThreshold = FP._3 |
If CCD is allowed, it will be performed on all Physics Bodies that have it enabled and have a linear velocity magnitude above this threshold. More... | |
AssetRefCharacterController2DConfig | DefaultCharacterController2D |
The default CharacterController2DConfig asset used when initializing a CharacterController2D component with no other config specified More... | |
AssetRefCharacterController3DConfig | DefaultCharacterController3D |
The default CharacterController3DConfig asset used when initializing a CharacterController3D component with no other config specified More... | |
AssetRefPhysicsMaterial | DefaultPhysicsMaterial |
The default PhysicsMaterial asset used when initializing a 2D or 3D physics collider component with no other material specified More... | |
FPVector3 | Gravity = new FPVector3(FP._0, -FP._10, FP._0) |
Define the gravity of the physics simulation. For a 2D world set the y-component to zero. More... | |
Int32[] | LayerMatrix |
The collision matrix of the layers recognized by the Quantum simulation. Can be imported from Unity's layer matrix on the editor. More... | |
String[] | Layers |
The collision layer names recognized by the Quantum simulation. Can be imported from Unity layers on the editor. More... | |
FP | LinearSleepTolerance = FP._0_02 |
Amount of linear velocity below which a physics body might be considered as standing still for sleeping detection. More... | |
int | MaxRootFindingIterations = 32 |
The maximum number of iterations performed when computing the point in time when the distance between two Physics Bodies in a given separation axis is below the tolerance. More... | |
int | MaxTimeOfImpactIterations = 16 |
The maximum number of iterations performed by the CCD algorithm when computing the time of impact between two Physics Bodies. More... | |
FP | MinAngularIntegration = 0 |
A physics body's angular velocity component (x, y or z in the 3D Physics and the amount relative to the vertical axis in the 2D Physics) is rounded to 0 if its absolute value is smaller than this minimum angular integration. A small amount can increase the physics simulation stability and improve sleep detection. More... | |
FP | MinLinearIntegration = 0 |
A physics body's linear velocity component (x, y or z, the latter only in the 3D Physics) is rounded to 0 if its absolute value is smaller than this minimum linear integration. A small amount can increase the physics simulation stability and improve sleep detection. More... | |
FP | PenetrationAllowance = FP._0_01 |
Allow a certain degree of penetration to improve the stability of the physics simulation. More... | |
FP | PenetrationCorrection = FP._0_50 |
How much of the exceeding penetration (above allowance) should be corrected in a single frame. 0 = no correction, 1 = full correction. More... | |
Int32 | PositionSolverIterations = 2 |
The physics position constraint solver (used on Joint, for instance) runs in sub-steps to improve quality. More... | |
FP | ShapeCastHardTolerance = FP.EN2 |
A GJK iteration result below this threshold is acceptable as a finishing condition. In general, increasing the hard tolerance decreases the accuracy of the result, but reduces computational cost by requiring less iterations. More... | |
Int32 | ShapeCastMaxIterations = 16 |
The max number of iterations performed by the GJK algorithm while searching for a solution below ShapeCastHardTolerance. More... | |
FP | ShapeCastSoftTolerance = FP._0_05 |
A GJK resolution that fails to find an acceptable result below ShapeCastHardTolerance after ShapeCastMaxIterations will still return positive if the best solution found is below this soft threshold. More... | |
Int32 | SimplexMaxBitShift = 2 |
The GJK Voronoy Simplex space is scaled by progressively by shifting points' raw values up to this max value when the current instance becomes affine dependent, avoiding degenerate cases due to limited precision. More... | |
Int32 | SimplexMinBitShift = 0 |
Scales the GJK Voronoy Simplex space by shifting points' raw values. Consider increasing if working with small-scaled shapes. More... | |
FP | SleepTimeSec = FP._0_50 |
For how many seconds a physics body should stay under the linear and angular velocity sleeping thresholds before being put in a sleeping state. More... | |
Int32 | SolverIterations = 4 |
The physics collision solver runs in sub-steps to improve quality. More... | |
ConstraintsSolverType | SolverType = ConstraintsSolverType.HybridJacobiGaussSeidel |
Defines which solver algorithm will be used by the Physics Engines. More... | |
Boolean | UseAngularVelocity = true |
Lock the angular velocity for dynamic bodies. Disabling this option leads not only to faster but also to more stable physics simulation for games that can use it. More... | |
Boolean | UseJoints = true |
Enable the use of joints in the physics engines. If joints are not used, this can be disabled to reduce overhead. More... | |
Boolean | UseVerticalTransform = true |
Toggle the use of a vertical transform component for 2.5D worlds that have a simplified concept of height. More... | |
Global physics settings which are part of the SimulationConfig.
Define the gravity of the physics simulation. For a 2D world set the y-component to zero.
ConstraintsSolverType Quantum.PhysicsCommon.Config.SolverType = ConstraintsSolverType.HybridJacobiGaussSeidel |
Defines which solver algorithm will be used by the Physics Engines.
Int32 Quantum.PhysicsCommon.Config.SolverIterations = 4 |
The physics collision solver runs in sub-steps to improve quality.
Int32 Quantum.PhysicsCommon.Config.PositionSolverIterations = 2 |
The physics position constraint solver (used on Joint, for instance) runs in sub-steps to improve quality.
Boolean Quantum.PhysicsCommon.Config.UseJoints = true |
Enable the use of joints in the physics engines. If joints are not used, this can be disabled to reduce overhead.
Boolean Quantum.PhysicsCommon.Config.UseAngularVelocity = true |
Lock the angular velocity for dynamic bodies. Disabling this option leads not only to faster but also to more stable physics simulation for games that can use it.
Boolean Quantum.PhysicsCommon.Config.UseVerticalTransform = true |
Toggle the use of a vertical transform component for 2.5D worlds that have a simplified concept of height.
FP Quantum.PhysicsCommon.Config.PenetrationAllowance = FP._0_01 |
Allow a certain degree of penetration to improve the stability of the physics simulation.
FP Quantum.PhysicsCommon.Config.PenetrationCorrection = FP._0_50 |
How much of the exceeding penetration (above allowance) should be corrected in a single frame. 0 = no correction, 1 = full correction.
FP Quantum.PhysicsCommon.Config.MinLinearIntegration = 0 |
A physics body's linear velocity component (x, y or z, the latter only in the 3D Physics) is rounded to 0 if its absolute value is smaller than this minimum linear integration. A small amount can increase the physics simulation stability and improve sleep detection.
FP Quantum.PhysicsCommon.Config.MinAngularIntegration = 0 |
A physics body's angular velocity component (x, y or z in the 3D Physics and the amount relative to the vertical axis in the 2D Physics) is rounded to 0 if its absolute value is smaller than this minimum angular integration. A small amount can increase the physics simulation stability and improve sleep detection.
Int32 Quantum.PhysicsCommon.Config.SimplexMinBitShift = 0 |
Scales the GJK Voronoy Simplex space by shifting points' raw values. Consider increasing if working with small-scaled shapes.
Int32 Quantum.PhysicsCommon.Config.SimplexMaxBitShift = 2 |
The GJK Voronoy Simplex space is scaled by progressively by shifting points' raw values up to this max value when the current instance becomes affine dependent, avoiding degenerate cases due to limited precision.
Int32 Quantum.PhysicsCommon.Config.ShapeCastMaxIterations = 16 |
The max number of iterations performed by the GJK algorithm while searching for a solution below ShapeCastHardTolerance.
FP Quantum.PhysicsCommon.Config.ShapeCastHardTolerance = FP.EN2 |
A GJK iteration result below this threshold is acceptable as a finishing condition. In general, increasing the hard tolerance decreases the accuracy of the result, but reduces computational cost by requiring less iterations.
FP Quantum.PhysicsCommon.Config.ShapeCastSoftTolerance = FP._0_05 |
A GJK resolution that fails to find an acceptable result below ShapeCastHardTolerance after ShapeCastMaxIterations will still return positive if the best solution found is below this soft threshold.
Boolean Quantum.PhysicsCommon.Config.AllowSleeping = false |
Toggles the detection of physics bodies in a sleeping state. If allowed, the simulation will skip forces and velocity integrations and collisions detection on physics bodies while they are asleep.
FP Quantum.PhysicsCommon.Config.SleepTimeSec = FP._0_50 |
For how many seconds a physics body should stay under the linear and angular velocity sleeping thresholds before being put in a sleeping state.
FP Quantum.PhysicsCommon.Config.LinearSleepTolerance = FP._0_02 |
Amount of linear velocity below which a physics body might be considered as standing still for sleeping detection.
FP Quantum.PhysicsCommon.Config.AngularSleepToleranceInRad = FP._2 * FP.Deg2Rad |
Amount of angular velocity below which a physics body might be considered as standing still for sleeping detection.
bool Quantum.PhysicsCommon.Config.AllowCCD = false |
Allows CCD to be performed if the Physics Body has CCD enabled on its Config flags.
FP Quantum.PhysicsCommon.Config.CCDLinearVelocityThreshold = FP._3 |
If CCD is allowed, it will be performed on all Physics Bodies that have it enabled and have a linear velocity magnitude above this threshold.
FP Quantum.PhysicsCommon.Config.CCDAngularVelocityThreshold = FP._3 |
If CCD is allowed, it will be performed on all Physics Bodies that have it enabled and have a angular velocity magnitude above this threshold.
FP Quantum.PhysicsCommon.Config.CCDDistanceTolerance = FP.EN3 |
The absolute distance value below which the Physics Bodies under CCD check can be considered as touching.
int Quantum.PhysicsCommon.Config.MaxTimeOfImpactIterations = 16 |
The maximum number of iterations performed by the CCD algorithm when computing the time of impact between two Physics Bodies.
int Quantum.PhysicsCommon.Config.MaxRootFindingIterations = 32 |
The maximum number of iterations performed when computing the point in time when the distance between two Physics Bodies in a given separation axis is below the tolerance.
AssetRefPhysicsMaterial Quantum.PhysicsCommon.Config.DefaultPhysicsMaterial |
The default PhysicsMaterial asset used when initializing a 2D or 3D physics collider component with no other material specified
AssetRefCharacterController2DConfig Quantum.PhysicsCommon.Config.DefaultCharacterController2D |
The default CharacterController2DConfig asset used when initializing a CharacterController2D component with no other config specified
AssetRefCharacterController3DConfig Quantum.PhysicsCommon.Config.DefaultCharacterController3D |
The default CharacterController3DConfig asset used when initializing a CharacterController3D component with no other config specified
String [] Quantum.PhysicsCommon.Config.Layers |
The collision layer names recognized by the Quantum simulation. Can be imported from Unity layers on the editor.
Int32 [] Quantum.PhysicsCommon.Config.LayerMatrix |
The collision matrix of the layers recognized by the Quantum simulation. Can be imported from Unity's layer matrix on the editor.