NumberSequence

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Data NumberSequence jenis mewakili serangkaian nilai angka dari 0 ke 1 . Angka-angka ini diungkapkan menggunakan jenis 1> Datatype.NumberSequensKeypoint1> . Jenis ini digunak

Kesamaan

Dua objek NumberSequence hanya bernilai jika nilai dari masing-masing dari mereka NumberSequenceKeypoint sama, bahkan jika keduanya akan muncul dalam grafik serupa.

평가

Jenis NumberSequence tidak memiliki metode bawaan untuk mendapatkan nilai pada waktu/pon tertentu karena keypoin dapat memiliki envelop acak. Namun, mengingat nilai envelop keypoin Anda semua 0, Anda dapat menggunakan fungsi berikut untuk mengevaluasi pada waktu tertentu.


local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Jika waktu adalah 0 atau 1, maka kembalikan nilai pertama atau terakhir
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- Jika tidak, lompat melalui setiap pasangan keypoin secara berurutan
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
-- Hitung seberapa jauh alpha berada di antara titik
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Kembalikan nilai antara poin menggunakan alfa
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

Rangkuman

Konstruktor

Properti

Konstruktor

new

Mengembalikan NumberSequence dengan nilai awal dan akhir yang ditetapkan ke pengaturan n yang diberikan.


local numberSequence = NumberSequence.new(n)
-- Setara dengan
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n),
NumberSequenceKeypoint.new(1, n)
}

Parameter

new

Mengembalikan NumberSequence dari dua keypoin dengan n0 sebagai nilai awal dan n1 sebagai nilai akhir.


local numberSequence = NumberSequence.new(n0, n1)
-- Setara dengan
local numberSequence = NumberSequence.new{
NumberSequenceKeypoint.new(0, n0),
NumberSequenceKeypoint.new(1, n1)
}

Parameter

n0: number
n1: number

new

Mengembalikan NumberSequence dari matriksi NumberSequenceKeypoints . Keypoints harus diberikan dalam urutan waktu yang tidak menurun. Setidaknya dua keypoints harus diberikan, dan mereka harus memiliki nilai waktu 0 (pertama) dan 1>


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

Parameter

Keypoints: Array

Properti

Keypoints

Sebuah matriksi berisi NumberSequenceKeypoint nilai untuk NumberSequence .