ノード一覧に戻る

アニメーションレンダー

animation_render

上流グラフを各フレームで評価し、スプライトシートとして出力します

確認済み
解説あり

入力ポート

名前説明
画像
image
Image
必須
アニメーションする元画像

出力ポート

名前説明
スプライトシート
spritesheet
SpriteSheet
全フレームを解決済みグリッドに配置したスプライトシート
フレーム数
frame_count
Int
アニメーションの総フレーム数
FPS
fps
Int
1秒あたりのフレーム数
列数
columns
Int
スプライトシート配置で実際に使われた列数
行数
rows
Int
スプライトシート配置で実際に使われた行数
フレーム幅
frame_width
Int
1フレームの幅
フレーム高さ
frame_height
Int
1フレームの高さ
配置順
fill_order
Text
フレームの埋め順

パラメータ

名前既定値範囲説明・選択肢
総フレーム数
total_frames
Int
00–120

レンダリングするフレーム数 (0 = プロジェクト既定に従う)

FPS
fps
Int
00–60

1秒あたりのフレーム数 (0 = プロジェクト既定に従う)

列数
columns
Int
00–32

スプライトシートの列数 (0 = 自動でほぼ正方形に近い配置)

概要

アニメーションの「出口」です。上流グラフを総フレーム数ぶん評価し、全コマを1枚の スプライトシートにまとめます。time_source で動かしたパラメータの結果を、 ゲームエンジンでそのまま使える形にベイクするのが役目です。

使い方のポイント

  • 基本の組み方: time_source(進行度) → 波形ノード(motion(揺れ)等) → 動かしたいパラメータ、 絵を作るグラフの最後にこのノードを置く(→ ガイド「07 アニメーション」)
  • このノードを選択すると、インスペクターで再生プレビュー(再生/停止/コマ送り、 現在フレーム表示)ができる。まずここで動きを確認してから書き出す
  • ループもの(回転・待機など)は、波形ノードのアニメーションが 総フレーム数 で ちょうど一周するように作るとつなぎ目が出ない(ノコギリ波1周=1ループが基本形)
  • columns=0(自動)はほぼ正方形の配置。エンジン側で「横一列」を要求される場合は columns = total_frames を明示する
  • 書き出しは下流の batch_render / 出力系ノードへ。フレーム情報が必要なら メタデータ出力(frame_count / fps / columns等)も一緒に渡せる

よくある失敗

  • 全フレーム同じ絵になる: 動かしたいパラメータに波形がつながっていない (数値を直接入力したまま)。パラメータの入力ポートへの接続を確認する
  • フレーム寸法が途中で変わる: 内容欠落を防ぐためレンダーは明示エラーになる。 上流の solid_render / model_renderframe_mode = FixedCanvasにし、全フレームの 寸法と中心を固定する(下記)
  • シートの並びが想定と違う: columns を確認。0は自動配置なので、並び順が重要なら明示する
  • 動きがカクつく: total_frames が少なすぎるか、緩急がない。フレーム数を増やすか ease_in_out を挟む

技術詳細

  • マルチフレーム評価は evaluate_graph レベルで実施。このノードの process() は単一フレーム評価のフォールバック
  • AnimationRender は P07A 以降、SpriteSheet 専用型を出力します
  • helper metadata pin として frame_count + fps + columns + rows + frame_width + frame_height + fill_order も併せて出します
  • columns=0 のときは自動でほぼ正方形に近い配置を選びます。columns>0 で明示配置です
  • total_frames / fps / columnsをプロモートした場合も、接続先で解決された値を使用します
  • 各フレームの画像寸法は同一である必要があります。不一致時は第1フレームへ黙って cropせず、FixedCanvasを案内するエラーにします
  • 上流の TimeSource ノードと組み合わせて使用する設計

使用例

  1. TimeSource → 各種変換ノード → AnimationRender の順に接続
  2. AnimationRender の出力スプライトシートを Preview で確認しPNG保存

Solidターンテーブル

Solid の回転アニメーションをベイクする場合は、Solid Render 側を FixedCanvas にする。

TimeSource.progress
  -> SawtoothWave.input
  -> SolidTransform.rotate_z
  -> SolidRender.image
  -> AnimationRender.image

Solid RenderAutoFit のままだと、角度によって1フレームのサイズや中心が変わり、スプライトシートでガタつくことがある。

関連ノード

  • time_source — フレーム進行度の供給元(このノードとほぼ常にセット)
  • motion / motion / keyframe_clip — 進行度を動きに変換する
  • sprite_sheet_playback / sprite_sheet_pack — 既存スプライトシートの再生・詰め直し
  • spritesheet_to_aseprite — Asepriteプロジェクトとして書き出したい場合
ノード一覧に戻る
アニメーションレンダー — PixPipeline ノード解説