AdamsLair.Duality.Physics by See original project authors

<PackageReference Include="AdamsLair.Duality.Physics" Version="4.0.0-alpha2" />

 Settings

public static class Settings
public const float AABBExtension = 0.1

This is used to fatten AABBs in the dynamic tree. This allows proxies to move by a small amount without triggering a tree adjustment. This is in meters.

public const float AABBMultiplier = 2

This is used to fatten AABBs in the dynamic tree. This is used to predict the future position based on the current displacement. This is a dimensionless multiplier.

public const bool AllowSleep = true

Enable/Disable sleeping

public const float AngularSleepTolerance = 0.03490659

A body cannot sleep if its angular velocity is above this tolerance.

public const float AngularSlop = 0.03490659

A small angle used as a collision and constraint tolerance. Usually it is chosen to be numerically significant, but visually insignificant.

public const float ContactBaumgarte = 0.2

This scale factor controls how fast overlap is resolved. Ideally this would be 1 so that overlap is removed in one time step. However using values close to 1 often lead to overshoot.

public const bool ContinuousPhysics = true

Enable/Disable Continuous Collision Detection (CCD)

public const bool EnableDiagnostics = true

Enabling diagnistics causes the engine to gather timing information. You can see how much time it took to solve the contacts, solve CCD and update the controllers.

public const bool EnableWarmstarting = true

Enable/Disable warmstarting

public const float Epsilon = 1.1920929E-07

public const float LinearSleepTolerance = 0.01

A body cannot sleep if its linear velocity is above this tolerance.

public const float LinearSlop = 0.005

A small length used as a collision and constraint tolerance. Usually it is chosen to be numerically significant, but visually insignificant.

public const float MaxAngularCorrection = 0.13962635

The maximum angular position correction used when solving constraints. This helps to prevent overshoot.

public const float MaxFloat = 3.4028235E+38

public const float MaxLinearCorrection = 0.2

The maximum linear position correction used when solving constraints. This helps to prevent overshoot.

public const int MaxManifoldPoints = 2

The maximum number of contact points between two convex shapes.

public const int MaxPolygonVertices = 8

The maximum number of vertices on a convex polygon.

public const float MaxRotation = 1.5707964

The maximum angular velocity of a body. This limit is very large and is used to prevent numerical problems. You shouldn't need to adjust this.

public const float MaxRotationSquared = 2.4674013

public const int MaxSubSteps = 8

Maximum number of sub-steps per contact in continuous physics simulation.

public const int MaxTOIContacts = 32

Maximum number of contacts to be handled to solve a TOI impact.

public const float MaxTranslation = 2

The maximum linear velocity of a body. This limit is very large and is used to prevent numerical problems. You shouldn't need to adjust this.

public const float MaxTranslationSquared = 4

public const float Pi = 3.1415927

public const float PolygonRadius = 0.0025

The radius of the polygon/edge shape skin. This should not be modified. Making this smaller means polygons will have an insufficient buffer for continuous collision. Making it larger may create artifacts for vertex collision.

public const int PositionIterations = 3

The number of position iterations used in the solver.

public const float TimeToSleep = 0.5

The time that a body must be still before it will go to sleep.

public const int TOIPositionIterations = 20

The number of position iterations in the TOI solver

public const int TOIVelocityIterations = 8

The number of velocity iterations in the TOI solver

public static bool UseFPECollisionCategories

Farseer Physics Engine has a different way of filtering fixtures than Box2d. We have both FPE and Box2D filtering in the engine. If you are upgrading from earlier versions of FPE, set this to true.

public const int VelocityIterations = 8

The number of velocity iterations used in the solver.

public static float VelocityThreshold

A velocity threshold for elastic collisions. Any collision with a relative linear velocity below this threshold will be treated as inelastic.

public static float MixFriction(float friction1, float friction2)

Friction mixing law. Feel free to customize this.

public static float MixRestitution(float restitution1, float restitution2)

Restitution mixing law. Feel free to customize this.