ノード一覧に戻る

パレットサイクル

palette_cycle

パレットの色を巡回シフトします。水面・炎・溶岩を動かす古典的なドット絵アニメ技法です

確認済み
解説あり

入力ポート

名前説明
パレット
palette
Palette
必須
巡回させるパレットです

出力ポート

名前説明
パレット
palette
Palette
シフト後のパレットです。「インデックス画像にパレット適用」につなぐとアニメになります

パラメータ

名前既定値範囲説明・選択肢
シフト量
shift
Float
0-1000000000000–1000000000000 / step 1

何コマ分ずらすかです。小数は切り捨て、大きな値も選択範囲で巡回するため、長時間入力でも止まりません

範囲の開始
range_start
Int
00–255

巡回させる範囲の最初のスロット番号です

範囲の色数
range_count
Int
00–256

巡回させる色数です。0なら開始スロットから残り全部を巡回します

概要

パレットの色を順送りに回すノードです。絵のピクセルは1ドットも動かさず、 色の割り当てだけを回して水面・炎・滝を動かす——レトロゲームの古典技法 「パレットサイクル」をそのまま再現します。

使い方のポイント

  • 3点セットで機能する: image_to_indexed_image(番号化) → palette_cycle (パレットを回す) → indexed_image_apply_palette(再着色)。 cycle 単体では何も起きない
  • shift を📌入力ピン化して time_source × コマ数をつなぐのが定番。 1ループでちょうど範囲色数ぶん回すと完全ループになる
  • range_start / range_count の部分巡回が実用の鍵: 「水の4色だけ回す」 ようにアニメさせたい色域を限定する
  • 元画像側は「回したい色をグラデ状に並べて塗っておく」と流れがきれいに出る

関連ノード

  • image_to_indexed_image / indexed_image_apply_palette — 必須の前後段
  • time_source — shift の駆動
  • animation_render — アニメのベイク
  • palette_get — 単発の色参照(サイクルしない版)

技術詳細

  • shift = 1 で各色が次のスロットへ1つ進み、末尾は先頭へ戻ります(巡回)
  • シフト量は範囲の色数で自動的にラップします(4色範囲なら shift 5 = shift 1)
  • スライダーは扱いやすい -256〜256 を表示範囲にしますが、入力ピンや数値入力では それを超える値も保持します。257300 のように増え続けても範囲色数でラップし、 長時間アニメーションが256で止まりません。
  • 範囲外のスロットは変更されません。「水の4色だけ回して肌の色は固定」のような部分巡回ができます

使用例

水面アニメ(クラシックなパレットサイクル)

Image → Image to Indexed Image ─→ Indexed Image Apply Palette → 完成アニメ
              └ palette ─→ Palette Cycle ─↑
Time Source → (shift に接続)
  1. 水面の画像を Image to Indexed Image でインデックス化する
  2. パレット出力を Palette Cycle に通し、shiftTime Source をつなぐ
  3. Indexed Image Apply Palette で再着色 → Animation Render でスプライトシート化

部分巡回

16色パレットのうち、水の色がスロット4〜7にある場合: range_start: 4, range_count: 4。 キャラクターの色は動かさず、水だけが流れます。

ノード一覧に戻る
パレットサイクル — PixPipeline ノード解説