ノード一覧に戻る

ベイク / フリーズ

bake_subgraph

上流結果を恒久的なベイク、または一時的なフリーズとして固定します

下書き
解説あり

入力ポート

名前説明
入力
input
Any
固定元になる現在の上流値です

出力ポート

名前説明
出力
output
Any
現在入力、または active 時は固定結果です
保存値
captured
Any
保存済みの固定結果です
保存済み
has_capture
Bool
固定結果が保存されているかです
有効
active
Bool
現在、固定結果を使っているかです
状態
status
Text
ベイクまたはフリーズ状態の要約です

パラメータ

名前既定値範囲説明・選択肢
モード
mode
Enum
Bake

恒久的なベイクか一時的なフリーズかを選びます

  • ベイクBake
    置き換えまたはクリアするまで恒久的なベイク結果として扱います。
  • フリーズFreeze
    評価を一時固定し、解除するとライブ入力へ戻します。
固定結果を使う
active
Bool
false

true の時は現在入力ではなく、保存済みの固定結果を出力します

保存データ
capture_data
CustomData

内部保存用の固定データです

まず大事なこと

  • Bake今の結果を保存して、その後はその保存値を使う ためのものです
  • active の間は、このノードより上流の専用枝を 再評価しません
  • ただし、その上流が他の枝でも使われているなら、そちら側の評価は残ります
  • 一番よく使う場面は、もうあまり触らない重い上流処理を固定して、下流作業を軽くする時です

どういう時に使うか

  • 重い procedural 処理がいったん決まって、以後はその結果を土台にしたい時
  • 中間結果を「ここまでは確定」と決めて、下流だけ触りたい時
  • バリエーション作業や後処理作業の前に、上流の結果を素材として固定したい時
  • 処理結果は残したいが、毎回 upstream を再計算したくない時

どういう時には向かないか

  • 少しの間だけ止めたいだけの時
    • このノードの mode = Freeze が自然です
  • before / after 比較のために保存したい時
    • SnapshotNode の方が自然です
  • 上流の設定値そのものを保存して、あとでその設定に戻したい時
    • これは SnapshotNode の役割ではありません
    • 設定保存は PresetVariant を使う方が筋が良いです

使い方

  1. 重い処理の出口に BakeSubgraph を置き、modeBake または Freeze にします
  2. Inspector でモードに対応する Bake / Freeze を押します
  3. 保存値を使う の状態にすると、以後は live 入力ではなく保存値を返します
  4. upstream を更新した後に反映し直したい時は 再Bake を押します
  5. もう一度 live で見たい時は Liveに戻す を押します

  • PixelCanvas -> Brightness -> Outline -> BakeSubgraph -> Preview

この状態で Bake すると、Outline のその時点の画像が保存されます。

  • active = on
    • BakeSubgraph.output は保存画像を返します
    • PixelCanvas -> Brightness -> Outline の専用枝は止まります
  • active = off
    • BakeSubgraph.output は live の Outline を返します

もっと実務的な例

  • Noise -> Blur -> Threshold -> PaletteQuantize -> BakeSubgraph -> 後段の仕上げ

この場合、ノイズ生成やぼかしが重くても、形が決まった時点で Bake してしまえば、

  • 後段の色調整
  • 比較
  • export 前の仕上げ

だけを軽く回せます。

何が保存されるか

  • 保存されるのは その時点の出力結果 です
  • 画像なら画像、Path なら Path、数値なら数値が保存されます
  • 上流ノードの各パラメータ設定そのものを保存しているわけではありません

つまり、BakeSubgraph は「状態を保存する」のではなく、結果を固定する ノードです。

Bake / Freeze モード

  • Bake
    • 保存して使い回す前提です
    • 完成済みの中間結果を焼いておく用途です
  • Freeze
    • 作業中の一時固定向けです
    • 後で Liveに戻す で live 評価へ戻す前提です

freeze_node を含むプロジェクトはロード時にこのノードへ移行され、 mode = Freeze が自動注入されます。

注意

  • 保存値は project に入るので、画像を Bake すると .ppl サイズは大きくなります
  • captured は比較用や確認用の出力です
  • 保存値は内部 envelope へ保存しています
  • active にしても、他の枝で同じ upstream を使っていれば、その枝側の評価は止まりません
  • 「重い枝を完全に止めたい」なら、どこを Bake 境界にするかを意識して置く必要があります
ノード一覧に戻る
ベイク / フリーズ — PixPipeline ノード解説