데이터 타입 NumberSequence은 0에서 1 까지의 숫자 값 시리즈를 나타냅니다. 숫자 값은 2>Datatype.NumberSequencerKeypoint2> 입력표시됩니다.
평등
두 개의 NumberSequence 개체는 서로 다른 그래프를 생성하더라도 동일하게 해석되지 않습니다.
평가
Datatype.NumberSequencer 형식에는 키포인트가 랜덤 쌍을 가질 수 있기 때문에 특정 시간/점에 값을 가져오는 내장 메서드가 없습니다. 그러나 키포인트의 모든 값이 0인 경우 다음 함수를 사용하여 특정 시간에 평가할 수 있습니다.
local function evalNumberSequence(sequence: NumberSequence, time: number)
-- 시간이 0이거나 1인 경우 각각 첫 번째 또는 마지막 값을 반환합니다.
if time == 0 then
return sequence.Keypoints[1].Value
elseif time == 1 then
return sequence.Keypoints[#sequence.Keypoints].Value
end
-- 그렇지 않으면 각 순차적 쌍의 키포인트를 통과합니다.
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
-- 점 간의 알파 범위 계산
local alpha = (time - currKeypoint.Time) / (nextKeypoint.Time - currKeypoint.Time)
-- 알파를 사용하여 값 사이의 값을 반환
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
요약
생성자
시작 및 종료 값이 NumberSequence로 설정된 반환 n 를 반환합니다.
시작 값으로 n0 및 종료 값으로 n1을 사용하여 키포인트 두 개의 순서를 반환합니다.
Datatype.NumberSequencer|Datatype.NumberSequencer 배열에서 Datatype.NumberSequencer|Datatype.NumberSequencer>를 반환합니다.
생성자
new
시작 및 종료 값이 NumberSequence로 설정된 반환 n 를 반환합니다.
local numberSequence = NumberSequence.new(n)-- 에 상당local numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, n),NumberSequenceKeypoint.new(1, n)}
매개 변수
new
Datatype.NumberSequencer|Datatype.NumberSequencer의 배열에서 키포인트를 반환합니다.Datatype.NumberSequencer의 배열에서 키포인트를 반환해야 합니다. 키포인트는 내림차순으로 제공해야 하며, 최소 두 개의 키포인트를 제공해야 하며, 시작
local numberSequence = NumberSequence.new{NumberSequenceKeypoint.new(0, 0),NumberSequenceKeypoint.new(0.5, 0.5, 0.25),NumberSequenceKeypoint.new(1, 1)}