Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


PhysicsMath

A set of mathematical operations that are useful for physics. These operations do not form a fully comprehensive mathematics library, they simply provide operations that are usually required when interacting with physics.
Read time 3 minutesLast updated 10 days ago

Definition

public readonly struct PhysicsMath

Static Properties

Property

Description

PIGet the value of PI used internally by the physics system. Using this will help with determinism.
TAUGet the value of tau (2 * PI) used internally by the physics system. Using this will help with determinism.

Static Methods

Method

Description

AngularVelocityToQuaternionCalculate a Quaternion given a 2D angular velocity and a time to integrate over using the selected transform plane.
Atan2Calculate the arc-tangent i.e. the angle of the provided slope y/x. This operates as deterministically as possible across platforms.
CosSinCalculate both the Cosine and Sine of the specified angle.
GetRelativeMatrixGet the relative transformation matrix between the two specified transforms using the specified transform plane.
GetRotationAxesGet the used rotation axes, given the specified transform plane. This is the inverse of PhysicsMath.GetRotationIgnoredAxes.
GetRotationIgnoredAxesGet the ignored rotation axes, given the specified transform plane. This is the inverse of PhysicsMath.GetRotationAxes.
GetTranslationAxesGet the used translation axes, given the specified transform plane. This is the inverse of PhysicsMath.GetTranslationIgnoredAxes.
GetTranslationIgnoredAxesGet the ignored translation axes, given the specified transform plane. This is the inverse of PhysicsMath.GetTranslationAxes.
GetTranslationIgnoredAxisGet the ignored translation axis, given the specified transform plane.
MaxAbsComponentGet the maximum absolute value component from the specified vector.
MinAbsComponentGet the minimum absolute value component from the specified vector.
SpringDamperCalculate a one-dimensional mass-spring-damper simulation which drives towards a zero translation. You can then compute the new position using: "translation += newSpeed * deltaTime;"
SwizzleTransform a Matrix position (with perspective divide) into a Matrix position using the selected transform plane.
ToDegreesConvert radians to degrees. This operates as deterministically as possible across platforms. See PhysicsMath.ToRadians.
ToPhysicsTransformTransform a 3D Transform position and rotation to a 2D PhysicsTransform. Scale is not part of a PhysicsTransform therefore it is ignored.
ToPosition2DTransform a 3D position into a 2D position using the selected transform plane.
ToPosition3DTransform a 2D position into a 3D position using the selected transform plane.
ToRadiansConvert degrees to radians. This operates as deterministically as possible across platforms. See PhysicsMath.ToDegrees.
ToRotation2DTransform a 3D rotation into a 2D angle using the selected transform plane.
ToRotationFast3DTransform a 2D angle into a 3D rotation using the selected transform plane (Fast). The transformation is fast because the rotation is simplified by the fact that only a single axis of rotation is handled. All other axis rotations are reset to zero.
ToRotationSlow3DTransform a 2D angle into a 3D rotation using the selected transform plane (Slow). The transformation is slower because the rotation is more complex due to the fact that changing a single axis of rotation requires it to not affect any other axis rotations.