ノード一覧に戻る

時間差

stagger

N個の要素それぞれに「ずらしフレーム」と「ずらし済み進行度」を配ります。list_map と組み合わせて、草が順番に揺れる・パーツが遅れて追従する等の時間差アニメーションを量産します。

確認済み
解説あり

入力ポート

名前説明
要素数
count_in
Int
要素数の上書き入力(リストの長さ等)

出力ポート

名前説明
ずらし列
offsets
List<Float>
要素ごとのずらしフレーム [0, w, 2w, ...] — motion の「ずらし(フレーム)」へ
進行度列
progress
List<Float>
現在フレームでの要素ごとのループ進行度(0〜1) — motion の入力へ
要素数
count
Int
解決済みの要素数

パラメータ

名前既定値範囲説明・選択肢
要素数
count
Int
41–256

時間差を配る要素の数

ずらし幅(フレーム)
shift_frames
Float
1-120–120 / step 0.5

隣り合う要素の間のフレーム差

重なり
edge
Enum
None

ずらしの分布カーブ(そのまま = 等間隔)。要素の重なり具合を変えます

  • そのままNone
  • 先頭を密にEaseIn
  • 末尾を密にEaseOut
  • 中央を疎にEaseInOut

概要

複数の要素に「時間差」を配るノード。N個ぶんの「ずらしフレーム列」と 「ずらし済み進行度列」を出力し、同じ動きを要素ごとに少しずつ遅らせる。 草が順番に揺れる・コインが順に跳ねる・パーツが遅れて追従する(follow-through)等、 時間差があるだけで素材が一気に有機的になる。

使い方のポイント

  • **offsets 出力 → motion の「ずらし(フレーム)」**が基本の使い方。list_map で 要素ごとに配れば、同じモーションが1要素ずつずらし幅フレーム遅れて動く
  • progress 出力 → motion の入力に繋ぐと、各要素の「ずらし済みループ進行度 (0〜1)」を直接駆動できる(上級用途)
  • 要素数は入力ピンでリストの長さと連動させられる
  • 重なりで分布を変えられる: 「先頭を密に」なら最初の要素たちがほぼ同時に動き、 後半ほど間隔が開く(等間隔=そのまま)

よくある失敗

  • 全部同時に動く: offsets を配らず全要素に同じモーションを繋いでいる。 list_map で要素ごとに対応する offsets の値を渡すこと
  • ループの継ぎ目でズレる: ずらし幅×要素数が総フレーム数を超えると、 進行度が1周して見た目の順番が入れ替わる。ずらし幅を小さくするか総フレームを増やす

関連ノード

  • motion — ずらしを受け取って実際の動きを作る
  • list_map — 要素ごとにずらしを配って一括適用する
  • sprite_motion — 画像1枚をずらし付きで動かす(「ずらし(フレーム)」パラメータ)
ノード一覧に戻る
時間差 — PixPipeline ノード解説