NumberSequence
非推奨を表示
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
Datatype.NumberSequencer データタイプは、0 から 1 までの数値のシリーズを表示します。1>Datatype.NumberSequencerKeypoint1> タイプを使用して、4>Class.ParticleEmitter.Size4>
平等
Two NumberSequence オブジェクトは、その NumberSequenceKeypoint の値が等しい場合にのみ等しいオブジェクトです。Even if both would result in similar graphs。
評価
Datatype.NumberSequencer タイプには、キーポイントがランダムな封筒を持つことがあるため、特定の時間/ポイントに値を取得するための内蔵メソッドはありません。ただし、キーポイントの 0 のすべての値が Datatype.Number であることを仮定して、次の関数を使用して特定の時間
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