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.

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 thị bằng kiểu 1>

Độ bình đẳng

Hai NumberSequence đối tượng là tương đương nhau chỉ nếu giá trị của họ NumberSequenceKeypoint đều tương đương, ngay cả khi cả hai đều kết thúc bằng các biểu đồ tương tự.

Đánh giá

Loại NumberSequence không có phương thức tích hợp để nhận giá trị vào một thời điểm/điểm nhất định vì keypoints có thể có bao gói ngẫu nhiên. Tuy nhiên, giả sử các giá trị của keypoints của bạn tất cả là 0 , bạ


local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Nếu thời gian là 0 hoặc 1, trả giá trị đầu tiên hoặc cuối cù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, hãy thực hiện mỗi cặp keypoint theo thứ tự
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 toán khoảng cách giữa alphaa và 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

Tham Số

new

Tham Số

n0: number
n1: number

new

Tham Số

Keypoints: Array

Thuộc Tính

Keypoints

Một mat阵 chứa NumberSequenceKeypoint giá trị cho NumberSequence .