Powerlang Docs
  • Welcome!
  • Beginner's Guide
    • Syntax
    • Directives
    • Environment
    • Special types
    • Functions
    • Tables
    • Loops
    • Conditions
    • Events
    • Libraries
    • Comments and Flags
  • Creating a Game
    • Project Introduction: Potato Rush
    • Creating the main game loop
    • Creating potatoes
    • Keeping track of score
  • Libraries
    • Special Types
      • BrickColor
      • CFrame
      • Color3
      • Instance
      • NumberRange
      • UDim2
      • Vector2
      • Vector3
    • Services
      • DataStore
      • Debris
      • Mouse
      • Pathfinding
      • PhysicsService
      • Players
      • Ray
      • TweenService
    • compiler
    • math
    • os
    • string
    • table
    • retrostudio
  • Advanced Information
    • Instance Functions
    • Global Functions
    • Multithreading
    • Compiler Library
Powered by GitBook
On this page
  1. Libraries
  2. Special Types

CFrame

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.

PreviousBrickColorNextColor3

Last updated 7 months ago