概要
方法
GetValueAtTime(time: number):{any} |
X():FloatCurve |
Y():FloatCurve |
Z():FloatCurve |
代码示例
创建一个 Vector3Curve
--- Vector3Curve
local function createVector3Curve()
local vectorCurve = Instance.new("Vector3Curve")
local curveX = vectorCurve:X() -- 创建并返回一个动画 X 通道的 FloatCurve
local curveY = vectorCurve:Y() -- 创建并返回一个动画 Y 通道的 FloatCurve
-- 不设置 Z 通道将导致 Z 通道不动画。
-- 缺失曲线或没有关键帧的曲线不会参与动画
local key = FloatCurveKey.new(0, 1) -- 在时间 0 创造一个值为 1 的关键帧
curveX:InsertKey(key)
curveY:InsertKey(key)
local key2 = FloatCurveKey.new(1, 2) -- 在时间 1 创建一个值为 2 的关键帧
curveX:InsertKey(key2)
curveY:InsertKey(key2)
return vectorCurve
end
local function testVector3Curve()
local curve = createVector3Curve()
-- 在给定时间对曲线进行采样 (返回一个 vector3)
print(curve:GetValueAtTime(0)) -- 返回 1, 1, void
print(curve:GetValueAtTime(0.5)) -- 返回 1.5, 1.5, void (自动切线的立方插值结果)
curve:X():RemoveKeyAtIndex(1)
curve:X():RemoveKeyAtIndex(1)
print(curve:X().Length) -- 关键帧数量 = 0
print(curve:GetValueAtTime(0.5)) -- 返回 void, 1.5, void
end
testVector3Curve()API 参考
方法