Vector3Curve

Show Deprecated

Represents a 3D vector curve, grouping three FloatCurve instances. Each child FloatCurve can be accessed via the Vector3Curve:X(), Vector3Curve:Y(), and Vector3Curve:Z() methods. The three axes can be sampled simultaneously via the method Vector3Curve:GetValueAtTime().

Code Samples

Creating a Vector3Curve

--- Vector3Curve
local function createVector3Curve()
local vectorCurve = Instance.new("Vector3Curve")
local curveX = vectorCurve:X() -- creates and returns a FloatCurve animating the X channel
local curveY = vectorCurve:Y() -- creates and returns a FloatCurve animating the Y channel
-- Not setting the Z channel will leave the Z channel not animated.
-- A missing curve or a curve with no keys don't participate in the animation
local key = FloatCurveKey.new(0, 1) -- creates a key at time 0 and with value 1
curveX:InsertKey(key)
curveY:InsertKey(key)
local key2 = FloatCurveKey.new(1, 2) -- creates a key at time 1 and with value 2
curveX:InsertKey(key2)
curveY:InsertKey(key2)
return vectorCurve
end
local function testVector3Curve()
local curve = createVector3Curve()
-- sampling the curve at a given time (returns a vector3)
print(curve:GetValueAtTime(0)) -- returns 1, 1, void
print(curve:GetValueAtTime(0.5)) -- returns 1.5, 1.5, void (result of cubic interpolation with auto tangents)
curve:X():RemoveKeyAtIndex(1)
curve:X():RemoveKeyAtIndex(1)
print(curve:X().Length) -- number of keys = 0
print(curve:GetValueAtTime(0.5)) -- returns void, 1.5, void
end
testVector3Curve()

Summary

Methods

Properties

Methods

GetValueAtTime

Returns the three FloatCurves (X, Y, Z) at the passed time argument as an array of three numbers. If a channel curve is missing or no key is found in the curve, the channel is evaluated as nil.

Parameters

time: number

Time at which to get the value.


Returns

The three FloatCurves (X, Y, Z) at the passed time argument.

Returns the FloatCurve controlling the X channel (the first child instance of type FloatCurve named X). If none is found, an empty FloatCurve is created.


Returns

Returns the FloatCurve controlling the Y channel (the first child instance of type FloatCurve named Y). If none is found, an empty FloatCurve is created.


Returns

Returns the FloatCurve controlling the Z channel (the first child instance of type FloatCurve named Z). If none is found, an empty FloatCurve is created.


Returns

Events