Math

Math stuff.

vec2
Used to describe a position in 2D space.

vec2.x: float
vec2.y: float

vec3
Used to describe a position in 3D space.

vec3.x: float
vec3.y: float
vec3.z: float

vec4
Used for any data that needs one extra float, like colors that need an alpha value.

vec4.x: float
vec4.y: float
vec4.z: float
vec4.w: float

quat
Used for rotations.

quat.x: float
quat.y: float
quat.z: float
quat.w: float

setRelativeTo(transform, otherTransform)

Set a transform to be in the local space of another transform. It's as if transform becomes a child of otherTransform. The result is set back into transform itself. arg transform Transform in out: the transform that will be set to be under the space of otherTransform. arg otherTransform: the other transform that will act as parent of transform.

Arguments
transform: Transform
otherTransform:

positionToLocal(point, transform)

Get a position in the local space of a transform.

Arguments
point: vec3
transform: Transform

Return
vec3

orientationToLocal(orientation, transform)

Get an orientation in the local space of a transform.

Arguments
orientation: quat
transform: Transform

Return
quat

mirrorYZ(transform)

Mirror a transform from the YZ plane.

Arguments
transform: Transform

forwardAxis(entityOrTransform)

Get the forward axis vector from a transform.

Arguments
entityOrTransform: Entity or Transform

Return
vec3

upAxis(entityOrTransform)

Get the up axis vector from a transform.

Arguments
entityOrTransform: Entity or Transform

Return
vec3

rightAxis(entityOrTransform)

Get the right axis vector from a transform.

Arguments
entityOrTransform: Entity or Transform

Return
vec3

pitchBy(entityOrTransform, value)

Rotate a transform around its forward axis.

Arguments
entityOrTransform: Entity or Transform
value: number

yawBy(entityOrTransform, value)

Rotate a transform around its up axis.

Arguments
entityOrTransform: Entity or Transform
value: number

rollBy(entityOrTransform, value)

Rotate a transform around its right axis.

Arguments
entityOrTransform: Entity or Transform
value: number

isnan(number)

Check if float is nan.

Arguments
number:

Return
bool

angle(vec1, vec2)

Angle between vectors in radians.

Arguments
vec1: vec3
vec2: vec3

Return
float

angleAxis(value, vec)

Build a quaternion from an angle and an axis.

Arguments
value: number
vec: vec3

Return
quat

eulerAngles(orientation)

Convert a quaternion to euler angles.

Arguments
orientation: quat

Return
vec3

length(vec)

Measures the length of a vector.

Arguments
vec: vec3

Return
float

distance(vec1, vec2)

Measures the distance between two vectors.

Arguments
vec1: vec3
vec2: vec3

Return
float

normalize(vec)

Normalize a vector.

Arguments
vec: vec3

Return
vec3

inverse(vec)

Invert a vector.

Arguments
vec: vec3

Return
vec3

cross(vec1, vec2)

Cross product between vectors.

Arguments
vec1: vec3
vec2: vec3

Return
vec3

dot(vec1, vec2)

Dot product between vectors.

Arguments
vec1: vec3
vec2: vec3

Return
float

mix(vec1, vec2)

Linearly interpolate between two vectors.

Arguments
vec1: vec3
vec2: vec3

Return
vec3

mix(vec1, vec2, t)

Linearly interpolate between two vectors.

Arguments
vec1: vec3
vec2: vec3
t:

Return
vec3

clamp(value, min, max)

Clamp a number between min and max.

Arguments
value: number
min:
max:

Return
float

abs(value)

Returns the positive value.

Arguments
value: number

Return
float

abs(value)

Returns the positive value.

Arguments
value: number

Return
float

sign(value)

Returns 1.0 or -1.0 depending on the sign of value.

Arguments
value: number

Return
float

slerp(orientation1, orientation2)

Spherical linear interpolation between two quaternions.

Arguments
orientation1: quat
orientation2: quat

Return
quat

min(value1, value2)

Min of two numbers.

Arguments
value1: number
value2: number

Return
float

max(value1, value2)

Max of two numbers.

Arguments
value1: number
value2: number

Return
float

radians(value)

Get radians from degrees.

Arguments
value: number

Return
float

degrees(value)

Get degrees from radians.

Arguments
value: number

Return
float

cos(value)



Arguments
value: number

Return
float

sin(value)



Arguments
value: number

Return
float

asin(value)



Arguments
value: number

Return
float

tan(value)



Arguments
value: number

Return
float

atan(value)



Arguments
value: number

Return
float

atan(value)



Arguments
value: number

Return
float

atan2(value)



Arguments
value: number

Return
float

atan2(value)



Arguments
value: number

Return
float

tanh(value)



Arguments
value: number

Return
float

log(value)



Arguments
value: number

Return
float

log2(value)



Arguments
value: number

Return
float

floor(value)



Arguments
value: number

Return
float

ceil(value)



Arguments
value: number

Return
float

exp(value)



Arguments
value: number

Return
float

exp2(value)



Arguments
value: number

Return
float

fract(value)



Arguments
value: number

Return
float

inversesqrt(value)



Arguments
value: number

Return
float

sqrt(value)



Arguments
value: number

Return
float

mod(value)



Arguments
value: number

Return
float

pow(value)



Arguments
value: number

Return
float