Phase 10 の公式ワークフロー。3Dパラメータをアニメーションさせ、透明背景のスプライトシートとしてベイクする。
目的
Solid は Solid Render で画像化してから、既存の Animation Render / Batch Render に渡せます。
この時に重要なのは、各フレームの出力サイズと中心を固定することです。
ターンテーブルの基本構成
Time Source.progress
-> Sawtooth Wave.input
-> Solid Transform.rotate_z
-> Solid Render.image
-> Animation Render.image
推奨設定:
| ノード | パラメータ | 値 |
|---|---|---|
Sawtooth Wave |
amplitude |
180 |
Sawtooth Wave |
offset |
180 |
Solid Transform |
rotation_snap |
45 または 0 |
Solid Render |
frame_mode |
FixedCanvas |
Solid Render |
fixed_canvas_width / fixed_canvas_height |
例: 64 / 64 |
Solid Render |
frame_world_width / frame_world_depth / frame_world_height |
対象が全フレームで入る大きさ |
Animation Render |
total_frames |
例: 8 |
Animation Render |
columns |
例: 8 |
rotation_snap は値を指定した時だけ丸めます。なめらかに回したい時は 0、8方向風にしたい時は 45 が基本です。
固定キャンバスを使う理由
Solid Render の既定は自動フィットです。静止画では便利ですが、回転アニメーションではフレームごとにバウンディングが変わり、スプライトがガタつく原因になります。
アニメーション素材では frame_mode = FixedCanvas を使います。
fixed_canvas_width/fixed_canvas_height: 出力される1フレームのピクセルサイズframe_center_x/y/z: 画面中心に置きたいワールド座標frame_world_width/depth/height: レイの深度・高さ正規化に使う固定ワールド範囲
この設定はビューアの市松模様やライトギズモを焼き込みません。出力されるのは通常の透明背景画像です。
8方向素材
8方向素材は、まず専用ノードを増やさず既存の Variant Range + Batch Render で作ります。
Variant Range.variants
-> Batch Render.items
Solid Render.image
-> Batch Render.image
設定:
| ノード | パラメータ | 値 |
|---|---|---|
Variant Range |
key |
render:azimuth |
Variant Range |
start |
0 |
Variant Range |
end |
315 |
Variant Range |
count |
8 |
Variant Range |
value_type |
Float |
Solid Render |
camera_angle_snap |
45 |
Solid Render |
frame_mode |
FixedCanvas |
Batch Render |
columns |
8 |
Batch Render の snapshot key は nodeId:paramId 形式で直接パラメータに当てられます。
上の例では Solid Render ノードIDを render にして、render:azimuth を8方向の角度として流します。
サンプル
solid_turntable_phase10.ppl(このフォルダ内)に、ターンテーブル用の最小サンプルがあります。
確認手順:
- サンプルを開く
Animation Renderを選ぶ- プレビューに4フレームのスプライトシートが出ることを確認
Solid Renderのfixed_canvas_width/fixed_canvas_heightを変えて、各フレームサイズが揃うことを確認
注意
Solid Render.surfaceはGバッファです。ライトやアウトラインを使う場合はsurface側を後処理し、最後に画像へ戻してAnimation Renderへつなぎます。- 市松模様はプレビュー背景です。画像保存やスプライトシートには含まれません。
- 影やディザを使う後処理ノードでは、seed を固定するか、意図して
Time Sourceから動かしてください。