Skip to main content

Vec3

Client Server

3D vectors and points.

Constructors

Vec3 Vec3(number? xyz)

Vec3 Vec3(number x, number y, number z)

Vec3 Vec3(Vec2 xy, number z)

Vec3 Vec3(number x, Vec2 yz)

Vec3 Vec3(Vec3 vec3)

Vec3 Vec3(Vec4 vec4)

Metamethods

Vec3 __add(Vec3 a, Vec3 b)

Vec3 __add(number a, Vec3 b)

Vec3 __add(Vec3 a, number b)

Vec3 __sub(Vec3 a, Vec3 b)

Vec3 __sub(number a, Vec3 b)

Vec3 __sub(Vec3 a, number b)

Vec3 __mul(Vec3 a, Vec3 b)

Vec3 __mul(number a, Vec3 b)

Vec3 __mul(Vec3 a, number b)

Vec3 __div(Vec3 a, Vec3 b)

Vec3 __div(number a, Vec3 b)

Vec3 __div(Vec3 a, number b)

Vec3 __pow(Vec3 a, Vec3 b)

Vec3 __pow(number a, Vec3 b)

Vec3 __pow(Vec3 a, number b)

Vec3 __mod(Vec3 a, Vec3 b)

Vec3 __mod(number a, Vec3 b)

Vec3 __mod(Vec3 a, number b)

Vec3 __unm(Vec3 a)

boolean __eq(Vec3 a, Vec3 b)

number __index(Vec3 v, integer i)

number __index(Vec3 v, string i)

nil __newindex(Vec3 v, integer i, number value)

nil __newindex(Vec3 v, string i, number value)

string __tostring(Vec3 a)

Methods

number Len()

number LenSqr()

number Length()

number SqrLength()

Vec3 Copy()

boolean IsZero()

boolean IsAnyNaN()

Vec3 GetAbs()

nil Clamp(number|Vec3 min, number|Vec3 max)

number Dot(Vec3|Vec3i vec)

nil Set(number x, number y, number z)

nil SetFrom(Vec3 other)

Vec3 Lerp(Vec3 vec, number t)

nil Normalize()

Vec3 GetNormalized()

nil Ceil()

Vec3 GetCeiled()

nil Floor()

Vec3 GetFloored()

nil Round()

Vec3 GetRounded()

number Min()

number Max()

number DistanceTo(Vec3 point)

number Dist(Vec3 point)

number DistSqr(Vec3 point)

nil ToDeg()

nil ToRad()

Vec3 Cross(Vec3|Vec3i vec)

nil SmoothDamp(Vec3 target, Vec3 outVelocity, number smoothTime, number deltaTime, number? maxSpeed)

Properties

number x

number y

number z

Vec3 zero

Vec3(0,0,0)

Vec3 up

Vec3(0,1,0)

Vec3 right

Vec3(1,0,0)

Vec3 forward

Vec3(0,0,-1)

Vec3 down

Vec3(0,-1,0)

Vec3 left

Vec3(-1,0,0)

Vec3 back

Vec3(0,0,1)