Back to Node List

Motion

motion

All-in-one animation signal: pick a motion (move / ping-pong / rotate / bounce / wobble / blink / float / random), an amount in px or degrees, and a period in frames. Connect the output to a promoted parameter pin.

Reviewed
Guide available
The node name and summary are available in English. Port, parameter, and article details are currently shown in Japanese.

Input Ports

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

Output Ports

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

Parameters

NameTypeDefaultRangeDescription / Options
動き
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

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

Overview

The go-to animation node. Pick how it moves (ping-pong, rotate, bounce, ...), how much (px / degrees), and how many frames per cycle — one node produces a full animation signal. It replaces the old time_source → waveform → remap → ease_in_out chain: connect the output to a promoted parameter pin and that parameter animates.

Usage tips

  • The standard wiring is motion → a promoted parameter pin on the node you want to animate. Example: to make an image bob up and down, promote y on a transform, connect motion(mode=Float, amount=4), then finish with animation_render.
  • Amount is specified directly in px or degrees — enter the visible amount you want on the final spritesheet ("6px swing", "360° per turn").
  • Period (frames) = 0 means one cycle over the whole animation. For two cycles in an 8-frame sheet, set period = 4.
  • Base is the resting position (center of motion). To wobble around y=32, set base=32 and amount=6.
  • Give copies of the same motion different Shift (frames) values for staggered animation (grass swaying in sequence, follow-through on character parts).
  • Loop endpoints are handled automatically: cyclic motions stop the last frame just before wrapping, so looping playback never shows a duplicated pose.
  • time_source is not needed (the node follows animation time when input is unconnected). Only feed input for advanced uses such as phase modulation.

Common pitfalls

  • "Per Frame" does not loop: 2px every frame keeps accumulating, so the sheet will not loop by itself. Outside of scrolling-background style assets, prefer looping motions such as ping-pong or rotate.
  • Nothing moves: the target parameter must be promoted to a pin before you can connect. Use the promote button on the parameter row in the Inspector.
  • Easing has no effect on Blink / Random: easing applies to Move / Ping-Pong only; Bounce ships its own built-in curve.

Related nodes

  • remap — convert the output range to another range when needed
  • ease_in_out — general-purpose easing for any Float signal
  • animation_render — bakes the animated image into a spritesheet
  • keyframe_clip — use keyframes for acting that is hard to express as a rule
  • time_source — advanced access to raw frame numbers and totals
Back to Node List
Motion — PixPipeline Node Reference