Q. VFX Graphで大きな爆発や雷のエフェクトを作りました。画面中央で再生している間は綺麗に見えますが、カメラを少し左右に振って発生源が画面端に寄ると、まだエフェクトが残っているのに突然すべて消えてしまいます。原因は何ですか?

A. これは、VFXの描画判定を行う「バウンディングボックス(Bounds)」のサイズがパーティクルの広がる範囲に対して小さすぎるために発生する、カメラ視錐台カリングFrustum Culling)のバグです。

解決手順と設定項目

  1. 境界ボックスの可視化: シーンビュー上部のコントロールパネルから「Visual Effect Helper」のBounds表示を有効化するか、対象のVFXオブジェクトを選択して、シーンビュー内に緑色のボックス線が表示されるのを確認します。
  2. Bounds設定ノードの調整: VFX Graphエディタを開き、左上の VFX Property Sheet 内にある Bounds 設定を探します。または、出力ノード群の親にあたるコンテキストに「Set Bounds」プロパティを設定します。
  3. サイズの手動拡大: デフォルトのサイズ(1m x 1m x 1m等)から、エフェクトが実際に拡散する広さに合わせて、Sizeを大きく(例:10m x 10m x 10m)します。Centerも必要に応じて、パーティクルが飛んでいく方向へずらします。
  4. 確認: 設定後、発生源がカメラ視界のギリギリ外になっても、緑色の境界ボックスが少しでも画角内に残っていればパーティクルが消えずに描画され続けるようになります。