CFrame
Last updated
Last updated
The CFrame type represents both a position and a rotation matrix in the game world. This library helps perform operations with CFrames.
Function
Description
new(Position: Vector3, Rotation: Vector3)
Constructs a new CFrame
from position and rotation vectors. Takes 2 arguments: Position
(Vector3) and Rotation
(Vector3), returns a CFrame
.
split(CFrame: CFrame)
Splits a CFrame
into its position and rotation components. Requires 1 argument: CFrame
, and returns Position
(Vector3) and Rotation
(Vector3).
lerp(StartCFrame: CFrame, GoalCFrame: CFrame, Alpha: number)
Performs linear interpolation between two CFrame
values. Takes 3 arguments: StartCFrame
, GoalCFrame
, and Alpha
(number), returns the resulting CFrame
.
inverse(CFrame: CFrame)
Returns the inverse of the given CFrame
. Takes 1 argument: CFrame
, and returns the inverted CFrame
.
toObjectSpace(CFrame: CFrame, ObjectCFrame: CFrame)
Converts a CFrame
to object space relative to another CFrame
. Requires 2 arguments: CFrame
and ObjectCFrame
, returns the resulting CFrame
.
toWorldSpace(CFrame: CFrame, ObjectCFrame: CFrame)
Converts a CFrame
to world space relative to another CFrame
. Requires 2 arguments: CFrame
and ObjectCFrame
, returns the resulting CFrame
.
direction(CFrame: CFrame, Direction: string)
Gets the specified direction vector (forward, backward, left, etc.) from the CFrame
. Requires 2 arguments: CFrame
and Direction
(string), returns the direction vector.
Angles(rx: number, ry: number, rz: number)
Constructs a CFrame
using Euler angles. Takes 3 arguments: rx
, ry
, and rz
(rotations around the x, y, and z axes), returns the resulting CFrame
.
toEulerAnglesXYZ(CFrame: CFrame)
Converts a CFrame
to its corresponding Euler angles. Requires 1 argument: CFrame
, returns the rotation angles rx
, ry
, and rz
.
fromMatrix(Position: Vector3, vX: Vector3, vY: Vector3, vZ: Vector3)
Constructs a CFrame
from a position vector and three directional vectors. Takes 4 arguments: Position
, vX
, vY
, and vZ
, returns the resulting CFrame
.
fromAxisAngle(v: Vector3, r: number)
Constructs a CFrame
from an axis and a rotation angle. Takes 2 arguments: v
(axis vector) and r
(rotation angle), returns the resulting CFrame
.