NumberSequence
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Typ danych NumberSequence reprezentuje serię wartości liczbowych od 0 do 1. Wartości liczby są wyrażane używając wpisywać2>Datatype.NumberSequencjaKeypoint2>. Ten typ jest używany w właściwościach, takich jak
Równość
Dwa obiekty NumberSequence są równe tylko wtedy, gdy ich wartości NumberSequenceKeypoint są równe, nawet jeśli obie wynikają w podobnych grafikach.
Ocena
Typ NumberSequence nie ma wbudowanego metody dla uzyskania wartości w pewnym czasie/punkcie, ponieważ keypointy mogą mieć losowe pudełka. Zakładając jednak, że wartości pudełek są wszystkie 0, możesz użyć następującej funkcji do oceny w określnym czasie.
local function evalNumberSequence(sequence: NumberSequence, time: number)
-- Jeśli czas to 0 lub 1, zwróć pierwszą lub ostatnią wartość odpowiednio
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- W przeciwnym razie przejdź przez każdą kolejną pary kluczowych
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
-- Oblicz, ile kłamstw alfa jest między punktami
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- Zwróć wartość między punktami używając alfy
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
Podsumowanie
Właściwości
Materiały NumberSequenceKeypoint w porządku rosnąco.