ノード一覧に戻る

FXラスタライズ

fx_rasterize

FxState2D を現在フレーム画像へラスタライズし、raw の連続再生用スプライトシートも返します。必要なら粒子の見た目用スタンプ画像も使えます。

下書き
解説あり

入力ポート

名前説明
FX
fx
FxState2D
必須
入力 FX state です
開始色
color_start
Color
初期粒子色のオプション上書きです
終了色
color_end
Color
後期粒子色のオプション上書きです
背景色
background
Color
背景色のオプション上書きです
粒子スタンプ
stamp
Image
任意の粒子シルエット画像です。接続すると、組み込みの pixel/blob 形状の代わりにこのスタンプ画像で粒子を描きます

出力ポート

名前説明
画像
image
Image
現在フレーム 1 枚だけの画像です。Preview Frame または time context で選ばれた単フレームを返します
スプライトシート
spritesheet
SpriteSheet
このラスタライズ結果を downstream の仕上げノードに入る前の段階で、そのまま全フレーム分ベイクした raw スプライトシートです
フレーム数
frame_count
Int
FX state から受け取った総フレーム数です
FPS
fps
Int
FX state から受け取った再生 FPS です
列数
columns
Int
raw preview スプライトシートで使われた列数です
行数
rows
Int
raw preview スプライトシートで使われた行数です
フレーム幅
frame_width
Int
raw preview スプライトシート内の 1 フレーム幅です
フレーム高さ
frame_height
Int
raw preview スプライトシート内の 1 フレーム高さです
配置順
fill_order
Text
raw preview スプライトシートで使われた配置順です
有効粒子数
active_particles
Int
描画したフレームで生きている粒子数です
フレーム
frame
Int
実際にラスタライズしたフレーム番号です
概要
summary
Text
現在ラスタライズしたフレームの短い概要です

パラメータ

名前既定値範囲説明・選択肢
プレビューフレーム
preview_frame
Int
00–4096

プレビューとしてどのフレームを描くかです

描画モード
render_mode
Enum
Pixel

粒子をどの見た目で pixel に落とすかです。スタンプ画像が未接続ならピクセル、ブロブ、トレイルから選びます。スタンプ接続時はそのシルエットを使って描きます

  • ピクセルPixel
    各粒子をくっきりした四角いドットとして描きます。火花、飛沫、硬い輪郭のレトロ FX に向いています
  • ブロブBlob
    各粒子を少しにじんだ柔らかい塊として描きます。炎、煙、発光するもやのような見た目に向いています
  • トレイルTrail
    各粒子の進行方向に短い尾を引いて描きます。筋を引く火花、残像付きの飛沫、速い粒子に向いています
開始色
color_start
Color
[1,0.8399999737739563,0.23999999463558197,1]

粒子の生まれ側で使う色です

終了色
color_end
Color
[0.949999988079071,0.11999999731779099,0.11999999731779099,0]

粒子の寿命が終わる側で使う色です

背景色
background
Color
[0,0,0,0]

FX フレームの背後に敷く背景色です。透明も使えます

サイズ倍率
size_scale
Float
10.1–16 / step 0.1

描画前に粒子サイズ全体へ掛ける倍率です。ピクセルでは四角ドットの大きさ、ブロブやトレイルでは描画半径、スタンプ接続時はスタンプ画像の拡大率として使います

不透明度
opacity
Float
10–1 / step 0.01

フレーム全体の不透明度倍率です

柔らかさ
softness
Float
1.20.1–4 / step 0.1

ブロブとトレイル描画のにじみ具合です。ピクセルモードには影響せず、粒子スタンプ画像が接続されている時も無視されます

トレイル長
trail_length
Float
31–16 / step 0.1

描画モードがトレイルの時だけ、どれだけ尾を引くかです。スタンプ画像が接続されている時は、そのスタンプを軌跡に沿って並べます

まず大事なこと

  • FxRasterize で初めて 画像 が出ます
  • image現在フレーム 1 枚だけ です
  • spritesheetこのノード時点の raw 連続再生プレビュー です
  • 粒子の見た目画像を使いたい時は stamp をつなぎます
  • P11 の FX はここで image に落としてから、
    • PaletteQuantize
    • PixelCleanup
    • Outline へ流すのが基本です

stamp の役割

  • stamp粒子そのものの見た目 を決める画像です
  • 画像の RGB は使わず、alpha / シルエット を基準にします
  • 実際の色は color_start -> color_end の補間色で tint されます
  • size_scaleFxEmitter2D.size_min / size_max で stamp の大きさを変えます

つまり、

  • 発生位置の形を画像で決めたい
    • FxEmitter2D.mask
  • 粒子 1 個の見た目の形を画像で決めたい
    • FxRasterize.stamp

です。

imagespritesheet の違い

  • image
    • 今見ているフレーム 1 枚だけです
    • Preview Frame を変えると、この 1 枚が切り替わります
    • Preview ノードへ直接つなぐと、今選んでいる単フレームだけが見えます
  • spritesheet
    • FxRasterize を全フレーム分 1 回ずつ評価して集めた raw spritesheet です
    • Inspector ではこれを使って連続再生できます
    • ただし、これはまだ FxRasterize 時点の見た目です

つまり、このノードは「フレーム分の画像を 1 本の wire で全部出している」のではなく、

  • image では現在フレーム 1 枚を返し
  • spritesheet では backend 側で全フレームを順番に再評価して集めた結果を返す

という二本立てです。

仕上げノードを入れた時の考え方

  • FxRasterize -> Outline -> Preview
    • Preview では current frame に outline が付いた 1 枚を見ます
  • FxRasterize -> Outline -> FxBakeSpriteSheet
    • 全フレームに outline を付けた状態で spritesheet 化します

なので、

  • FxRasterize.spritesheet
    • raw FX のアニメーション確認用
  • FxBakeSpriteSheet
    • 仕上げ込みの最終 spritesheet 化

と考えるのが自然です。

描画モードの使い分け

  • pixel
    • 一番シャープです
    • 四角いドットとして出ます
    • size_scale を上げると 1 ドットではなく 2x2, 3x3 のような block になります
    • spark や飛沫向きです
  • blob
    • 火や煙向きです
    • size_scalesoftness を使います
  • trail
    • 尾を引く見た目です
    • size_scale, softness, trail_length を使います
    • 軌跡っぽい FX 向きです

基本レーン

FxDomain2D
  -> FxEmitter2D
  -> FxForce
  -> FxRasterize
  -> PaletteQuantize
  -> PixelCleanup
  -> Preview

炎っぽい設定

  • render_mode = blob
  • color_start = 黄
  • color_end = 赤透明
  • size_scale = 1.2
  • softness = 1.4

spark っぽい設定

  • render_mode = pixel
  • color_start = 白
  • color_end = 黄透明
  • size_scale = 1.0

サイズ系の見方

  • FxEmitter2D.size_min / size_max
    • 粒子ごとの基礎サイズです
  • FxRasterize.size_scale
    • その基礎サイズ全体へ掛ける倍率です

たとえば、

  • size_min = size_max = 1, size_scale = 1
    • pixel なら 1 ドット
  • size_min = size_max = 2, size_scale = 1
    • pixel なら 2x2 block に近い見え方
  • size_min = size_max = 1, size_scale = 3
    • pixel なら 3x3 block に近い見え方

注意

  • preview_frame は 0 始まりです
  • color_start / color_end は入力ポートがつながっていればそちら優先です
  • 小さいドット絵にしたい時は、まず pixelblob + 小さめ size から始めるのが安全です
  • FxRasterize.spritesheet は raw preview 用なので、PaletteQuantizeOutline の後の見た目までは含みません
  • 仕上げ込みで全フレームを 1 枚にしたい時は FxBakeSpriteSheet を使います

stamp を使う時の見え方

  • render_mode = pixel
    • stamp をそのまま 1 粒ごとに置きます
  • render_mode = blob
    • blob の代わりに stamp を 1 粒ごとに置きます
  • render_mode = trail
    • stamp を進行方向に沿って並べて尾を作ります

この時、

  • softness
    • 使いません
  • trail_length
    • trail の時だけ、stamp をどれだけ並べるかに使います

例: しずく型 stamp を使う

小さい白シルエット画像
  -> FxRasterize.stamp

設定例:

  • render_mode = pixel
  • size_scale = 2
  • color_start = 水色
  • color_end = 青透明

この場合、粒子は単なる四角ドットではなく、しずく型の stamp を拡大した形で描かれます。

ノード一覧に戻る
FXラスタライズ — PixPipeline ノード解説