Engine Class
Vector3Curve
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
สรุป
วิธีการ
GetValueAtTime(time: number):{any} |
X():FloatCurve |
Y():FloatCurve |
Z():FloatCurve |
ตัวอย่างโค้ด
การสร้าง Vector3Curve
--- Vector3Curve
local function createVector3Curve()
local vectorCurve = Instance.new("Vector3Curve")
local curveX = vectorCurve:X() -- สร้างและคืนค่า FloatCurve ที่ทำให้ช่อง X เคลื่อนไหว
local curveY = vectorCurve:Y() -- สร้างและคืนค่า FloatCurve ที่ทำให้ช่อง Y เคลื่อนไหว
-- ไม่ตั้งค่าช่อง 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, ไม่มีค่า
print(curve:GetValueAtTime(0.5)) -- คืนค่า 1.5, 1.5, ไม่มีค่า (ผลลัพธ์ของการทำให้เรียบในเชิงลูกบาศก์พร้อมกับแท็งค์อัตโนมัติ)
curve:X():RemoveKeyAtIndex(1)
curve:X():RemoveKeyAtIndex(1)
print(curve:X().Length) -- จำนวนคีย์ = 0
print(curve:GetValueAtTime(0.5)) -- คืนค่า ไม่มีค่า, 1.5, ไม่มีค่า
end
testVector3Curve()เอกสารอ้างอิงเกี่ยวกับ API
วิธีการ