概要
FxState2Dへ固定画像の障害物を追加するノードです。流体や物理エンジンを増やさず、屋根を伝う雨、地面で跳ねる火の粉、壁で止まる煙などを、同じseedなら同じ結果になる軽量FXとして作れます。
使い方のポイント
- 定型は
fx_domain_2d → fx_emitter_2d → fx_force → fx_boundary_response → fx_rasterizeです。境界はフォースの後ろへつなぎます。 - マスクはFXキャンバスと同じ幅・高さにすると位置が読みやすくなります。
debug_maskをPreviewへつなぐと、実際に判定へ使う画像を確認できます。 - 火の粉は「跳ね返る」、跳ね返り0.6〜0.8、表面摩擦0.1〜0.3から始めます。雨は「表面を滑る」、摩擦0〜0.2が目安です。
- 容器や洞窟の内側に閉じ込めたい時は「マスク内に閉じ込める」を有効にします。
- 複数の障害物を別の応答にしたい時は、このノードを直列につなぎます。例: 屋根は滑走、床は消滅。
よくある失敗
- 粒子が境界をすり抜ける: 1フレームの速度がマスクの厚さより大きい可能性があります。速度を下げるか、マスクを厚くしてください。初期版は連続衝突判定ではなくフレームごとの画素判定です。
- 半透明の縁で早く反応する:
マスクしきい値を0.7〜0.9へ上げます。 - 端でスタンプが切れる:
fx_domain_2dの「左右をつなぐ」「上下をつなぐ」を必要な軸で有効にします。 - マスクの外へ出られない: 「マスク内に閉じ込める」のオン/オフが用途と逆になっていないか確認します。
関連ノード
fx_domain_2d— キャンバス寸法と周期境界を決めるfx_emitter_2d— 粒子を発生させるfx_force— 重力・風・乱流などを加えるfx_rasterize— 境界応答後の粒子を画像化する