MathUtils

This class provides some math functionality that is useful for 3d maths

Static methods

Method

Description

Damp(current, target, smoothing, deltaTime)

A frame rate independent alternative to damping using Mathf.Lerp()

Damp(current, target, smoothing, deltaTime)

A frame rate independent alternative to damping using Vector3.Lerp()

DampLinear(current, target, smoothing, deltaTime)

A frame rate independent alternative to damping using Quaternion.Lerp()

DampSpherical(current, target, smoothing, deltaTime)

A frame rate independent alternative to damping using Quaternion.Slerp()

LineSegmentVsPointClosest(segmentStart, segmentEnd, point)

Given a line segment S and point P, get the point on S that is closest to P.

LineSegmentVsPointClosestT(segmentStart, segmentEnd, point)

Given a line segment S and point P, get the point on S that is closest to P.

LineVsPointClosest(lineOrigin, lineDirection, point)

Given a line L and point P, get the point on L that is closest to P.

LineVsPointClosestT(lineOrigin, lineDirection, point)

Given a line L and point P, get the point on L that is closest to P.

LookRotationConstrainUp(forward, up)

Returns the look rotation like Quaternion.LookRotation(), but with the up vector being fully constrained instead of the forward vector.

Details

class MathUtils
static float Damp(float current, float target, float smoothing, float deltaTime)

A frame rate independent alternative to damping using Mathf.Lerp()

static Vector3 Damp(Vector3 current, Vector3 target, float smoothing, float deltaTime)

A frame rate independent alternative to damping using Vector3.Lerp()

static Quaternion DampLinear(Quaternion current, Quaternion target, float smoothing, float deltaTime)

A frame rate independent alternative to damping using Quaternion.Lerp()

static Quaternion DampSpherical(Quaternion current, Quaternion target, float smoothing, float deltaTime)

A frame rate independent alternative to damping using Quaternion.Slerp()

static Vector3 LineSegmentVsPointClosest(Vector3 segmentStart, Vector3 segmentEnd, Vector3 point)

Given a line segment S and point P, get the point on S that is closest to P.

static float LineSegmentVsPointClosestT(Vector3 segmentStart, Vector3 segmentEnd, Vector3 point)

Given a line segment S and point P, get the point on S that is closest to P. Returns the point as a value T, where point = Lerp(start(S), end(S), T)

static Vector3 LineVsPointClosest(Vector3 lineOrigin, Vector3 lineDirection, Vector3 point)

Given a line L and point P, get the point on L that is closest to P.

static float LineVsPointClosestT(Vector3 lineOrigin, Vector3 lineDirection, Vector3 point)

Given a line L and point P, get the point on L that is closest to P. Returns the point as a value T, where point = origin(L) + direction(L) * T

static Quaternion LookRotationConstrainUp(Vector3 forward, Vector3 up)

Returns the look rotation like Quaternion.LookRotation(), but with the up vector being fully constrained instead of the forward vector.