ノード一覧に戻る

モーション

motion

1ノードで完結するアニメーション信号。動き(移動/往復/回転/バウンド/揺れ/点滅/ふわふわ/ランダム)と量(px/度)、周期(フレーム数)を選ぶだけ。出力をピン化したパラメータに繋いで使います。

確認済み
解説あり

入力ポート

名前説明
入力
input
Float
進行度の上書き入力(0.0〜1.0)。未接続ならアニメーション時間に自動追従します

出力ポート

名前説明
出力
output
Float
このフレームでのモーション値(ピン化したパラメータに接続)

パラメータ

名前既定値範囲説明・選択肢
動き
mode
Enum
PingPong

生成する動きの種類

  • 移動Move
    開始位置から指定量までまっすぐ動く一方向の動き。最終フレームで量に到達。登場・退場・スライドインに
  • 往復PingPong
    行って戻るを等速で繰り返す。左右パトロール・振り子・上下往復に
  • 回転Rotate
    一定速度で回り続ける(360=1周期で1周)。プロペラ・コイン・風車に
  • バウンドBounce
    量の高さから落ちて、跳ねながら着地する。ボール・着地の弾み・ぷるんとした演出に
  • 揺れWobble
    サイン波のようになめらかに揺れる(±量の範囲)。草木のそよぎ・水面の漂いに
  • 点滅Blink
    オン(量)とオフ(0)を切り替える。警告灯・ダメージ点滅・信号に
  • ふわふわFloat
    0から量までゆっくり上がって戻る(常に正方向)。待機モーションの上下・浮遊アイテムに
  • ランダムRandom
    なめらかな乱れを出す(±量の範囲、シードで再現可能)。炎のゆらぎ・画面の揺れに
amount
Float
8-1000–1000 / step 0.5

動きの量(px または 度)。移動=移動量 / 往復・揺れ・ふわふわ=振れ幅 / 回転=角度(360=1周) / バウンド=高さ / 点滅・ランダム=出力の大きさ

周期(フレーム)
period_frames
Int
00–120

何フレームで1回動くか (0 = アニメーション全体で1回)

毎フレーム指定
per_frame
Bool
false

移動・回転のみ: 量を「毎フレームの移動量」として扱います(毎フレーム2px 等)。値は増え続けるため、そのままではループしません(背景スクロール等に)

緩急
easing
Enum
None

移動・往復の速度カーブ(バウンドは専用カーブを内蔵)

  • なしNone
  • だんだん速くEaseIn
  • だんだん遅くEaseOut
  • 両方EaseInOut
ずらし(フレーム)
offset_frames
Float
0-120–120 / step 1

動きを N フレームずらします。同じ動きの複製に別々のずらしを与えると時間差アニメーションになります

基準値
base
Float
0-1000–1000 / step 0.5

出力に足される基準値(動きの中心・静止位置)

点灯割合
duty
Float
0.50.05–0.95 / step 0.05

点滅のみ: 周期のうち点灯している割合

シード
seed
Int
420–999999

ランダムのみ: 決定論的な乱数シード

概要

アニメーションの基本ノード。「どう動くか(往復・回転・バウンド等)」「どれだけ(px/度)」 「何フレームで1回か」を選ぶだけで、1ノードでアニメーション信号を作れる。 旧来の time_source → 波形 → remap → ease_in_out チェーンの置き換えで、 出力をピン化したパラメータに繋げばそのパラメータが動く。

使い方のポイント

  • 定番のつなぎ方は motion → 動かしたいノードのピン化したパラメータ。 例: 画像を上下にふわふわさせるなら transformy をピン化して motion(動き=ふわふわ, 量=4, 周期=0) を接続し、最後に animation_render
  • 量は px か度で直接指定する。「振れ幅6px」「1周360度」のように、 出来上がりのスプライトシートでの見た目の量をそのまま入れる
  • 周期(フレーム)= 0 は「アニメーション全体で1回」。8フレーム中2往復させたいなら周期=4
  • 基準値は動きの中心(静止位置)。y=32 を中心に揺らすなら基準値=32、量=6
  • **ずらし(フレーム)**を複製ノードごとに変えると時間差(stagger)になる。 草が順番に揺れる・パーツが遅れて追従する等に使う
  • ループ端点は自動処理される。くり返す動きは「先頭に戻る直前」で最終フレームが 止まるため、ループ再生してもコマの重複が起きない
  • time_source は不要(未接続でアニメーション時間に自動追従)。位相変調などの 上級用途だけ input に別の Float を入れる

よくある失敗

  • 「毎フレーム指定」がループしない: 毎フレーム2pxは値が増え続けるため、 スプライトシートはそのままではループしない。背景スクロールのような 「繋がって見える素材」以外では、往復や回転などのループする動きを使う
  • 動きが見えない: 出力先のパラメータがピン化(promote)されていないと接続できない。 Inspector のパラメータ行のピン化ボタンを押してから繋ぐ
  • 点滅・ランダムで緩急が効かない: 緩急は移動・往復専用。バウンドは専用カーブを内蔵している

関連ノード

  • remap — 出力レンジを別レンジへ変換したいとき(モーション単体で足りない場合の補助)
  • ease_in_out — 任意の Float 信号に緩急を後掛けする汎用ノード
  • animation_render — モーションで動かした絵をスプライトシートに焼く出口
  • keyframe_clip — 規則で書きにくい「演技」はキーフレームで作る(使い分け)
  • time_source — フレーム番号や総フレーム数を直接使う上級用途
ノード一覧に戻る
モーション — PixPipeline ノード解説