NumberSequence

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Loại dữ liệu NumberSequence đại diện cho một loạt các giá trị số từ 0 đến 1 .Các giá trị số được biểu hiện bằng cách sử dụng kiểu NumberSequenceKeypoint.Loại này được sử dụng trong các tính năng như ParticleEmitter.SizeBeam.Transparency để định nghĩa một thay đổi số theo thời gian.

Bình đẳng

Hai đối tượng NumberSequence chỉ tương đương nếu giá trị của chúng NumberSequenceKeypoint tương đương, ngay cả khi cả hai sẽ dẫn đến các đồ thị tương tự.

Đánh giá

Loại NumberSequence không có phương pháp tích hợp sẵn để lấy giá trị vào một thời điểm/điểm nhất định vì các điểm chìa khóa có thể có phong bì ngẫu nhiên.Tuy nhiên, cho rằng giá trị phong bì của các điểm chính của bạn là tất cả 0, bạn có thể sử dụng chức năng sau để đánh giá vào một thời điểm cụ thể.


local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Nếu thời gian là 0 hoặc 1, trả lại giá trị đầu tiên hoặc cuối cùng tương ứng
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- Nếu không, bước qua mỗi cặp tuần tự của điểm chính
for i = 1, #sequence.Keypoints - 1 do
local currKeypoint = sequence.Keypoints[i]
local nextKeypoint = sequence.Keypoints[i + 1]
if time >= currKeypoint.Time and time < nextKeypoint.Time then
-- Tính xa nhau bao nhiêu alpha giữa các điểm
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Trả giá trị giữa các điểm bằng cách sử dụng alpha
return currKeypoint.Value + (nextKeypoint.Value - currKeypoint.Value) * alpha
end
end
end
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(0.5, 1),
NumberSequenceKeypoint.new(1, 0),
}
print(evalNumberSequence(numberSequence, 0.65)) --> 0.7

Tóm Tắt

Người Tạo

Thuộc Tính

Người Tạo

new

Trả về một NumberSequence với các giá trị bắt đầu và kết thúc được đặt thành n cung cấp.


local numberSequence = NumberSequence.new(n)
-- Tương đương với
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n),
NumberSequenceKeypoint.new(1, n)
}

Tham Số

new

Trả về một NumberSequence của hai điểm chính với n0 là giá trị bắt đầu và n1 là giá trị cuối cùng.


local numberSequence = NumberSequence.new(n0, n1)
-- Tương đương với
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n0),
NumberSequenceKeypoint.new(1, n1)
}

Tham Số

n0: number
n1: number

new

Trả về một NumberSequence từ một mảng của NumberSequenceKeypoints .Các điểm chính phải được cung cấp theo thứ tự giá trị thời gian không xuống dốc.Ít nhất hai điểm chính phải được cung cấp, và chúng phải có giá trị thời gian là 0 (đầu tiên) và 1 (cuối cùng).


local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(0.5, 0.5, 0.25),
NumberSequenceKeypoint.new(1, 1)
}

Tham Số

Keypoints: Array

Thuộc Tính

Keypoints

Một mảng chứa NumberSequenceKeypoint giá trị cho NumberSequence .