まず大事なこと
FxRasterizeで初めて 画像 が出ますimageは 現在フレーム 1 枚だけ ですspritesheetは このノード時点の raw 連続再生プレビュー です- 粒子の見た目画像を使いたい時は
stampをつなぎます - P11 の FX はここで image に落としてから、
PaletteQuantizePixelCleanupOutlineへ流すのが基本です
stamp の役割
stampは 粒子そのものの見た目 を決める画像です- 画像の RGB は使わず、alpha / シルエット を基準にします
- 実際の色は
color_start -> color_endの補間色で tint されます size_scaleとFxEmitter2D.size_min / size_maxで stamp の大きさを変えます
つまり、
- 発生位置の形を画像で決めたい
FxEmitter2D.mask
- 粒子 1 個の見た目の形を画像で決めたい
FxRasterize.stamp
です。
image と spritesheet の違い
image- 今見ているフレーム 1 枚だけです
Preview Frameを変えると、この 1 枚が切り替わりますPreviewノードへ直接つなぐと、今選んでいる単フレームだけが見えます
spritesheetFxRasterizeを全フレーム分 1 回ずつ評価して集めた raw spritesheet です- Inspector ではこれを使って連続再生できます
- ただし、これはまだ
FxRasterize時点の見た目です
つまり、このノードは「フレーム分の画像を 1 本の wire で全部出している」のではなく、
imageでは現在フレーム 1 枚を返しspritesheetでは backend 側で全フレームを順番に再評価して集めた結果を返す
という二本立てです。
仕上げノードを入れた時の考え方
FxRasterize -> Outline -> PreviewPreviewでは 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_scaleとsoftnessを使います
trail- 尾を引く見た目です
size_scale,softness,trail_lengthを使います- 軌跡っぽい FX 向きです
基本レーン
FxDomain2D
-> FxEmitter2D
-> FxForce
-> FxRasterize
-> PaletteQuantize
-> PixelCleanup
-> Preview
例
炎っぽい設定
render_mode = blobcolor_start = 黄color_end = 赤透明size_scale = 1.2softness = 1.4
spark っぽい設定
render_mode = pixelcolor_start = 白color_end = 黄透明size_scale = 1.0
サイズ系の見方
FxEmitter2D.size_min / size_max- 粒子ごとの基礎サイズです
FxRasterize.size_scale- その基礎サイズ全体へ掛ける倍率です
たとえば、
size_min = size_max = 1,size_scale = 1pixelなら 1 ドット
size_min = size_max = 2,size_scale = 1pixelなら 2x2 block に近い見え方
size_min = size_max = 1,size_scale = 3pixelなら 3x3 block に近い見え方
注意
preview_frameは 0 始まりですcolor_start/color_endは入力ポートがつながっていればそちら優先です- 小さいドット絵にしたい時は、まず
pixelかblob + 小さめ sizeから始めるのが安全です FxRasterize.spritesheetは raw preview 用なので、PaletteQuantizeやOutlineの後の見た目までは含みません- 仕上げ込みで全フレームを 1 枚にしたい時は
FxBakeSpriteSheetを使います
stamp を使う時の見え方
render_mode = pixel- stamp をそのまま 1 粒ごとに置きます
render_mode = blob- blob の代わりに stamp を 1 粒ごとに置きます
render_mode = trail- stamp を進行方向に沿って並べて尾を作ります
この時、
softness- 使いません
trail_lengthtrailの時だけ、stamp をどれだけ並べるかに使います
例: しずく型 stamp を使う
小さい白シルエット画像
-> FxRasterize.stamp
設定例:
render_mode = pixelsize_scale = 2color_start = 水色color_end = 青透明
この場合、粒子は単なる四角ドットではなく、しずく型の stamp を拡大した形で描かれます。