4 / 4 容量・表示範囲と完成状態
Capacityによる数の上限と、Boundsによるシステム全体の表示判定を区別します。
Capacityの比較
前のステップで原点へ戻したVfxPractice一つだけを有効にします。Lifetimeは2、Visual EffectのSpawnRateは10です。同時生存数はおおよそ発生数/秒 × 寿命で見積もれます。
- SpawnRateを
100へ変えます。必要な生存数は約200個です。 - GraphのInitializeのCapacityを
512 → 64へ変え、保存して再生し直します。要求した数に対して上限が足りない状態を観察します。 - Capacityを
512へ戻し、保存して再生し直します。 - SpawnRateを
10へ戻します。
Capacityを増やすだけでは発生数は増えません。Capacityは確保する上限、SpawnRateは発生の要求です。値の変更直後は粒子の入れ替わりがあるため、寿命以上の時間を待って比較します。
Boundsの比較
Boundsはシステム全体がカメラから見えるかを判定する箱です。個々の粒子を箱の端で消す機能ではありません。ManualのBoundsを粒子の移動範囲より小さくすると、粒子が本来見える位置でもシステム全体がカリングされる場合があります。
- Main Cameraの位置と回転を記録します。基準はPosition
(0, 0, -10)、Rotation(0, 0, 0)です。 - InitializeのBounds ModeをManual、Centerを
(0, 0, 0)にし、Sizeを(8, 12, 8)から(0.1, 0.1, 0.1)へ変えます。 - Play中にMain CameraのXを少しずつ動かします。原点の小さな箱が画面外になったとき、まだ見えそうな粒子までまとめて消えないか観察します。カリング時のシミュレーション動作はGraphの設定にも依存します。
- Playを終了し、カメラを基準へ、BoundsのSizeを
(8, 12, 8)へ戻します。再生し直して全体が表示されることを確認します。
必要なBoundsは発生位置・速度・寿命で変わります。問題が出たから無制限に広げるのではなく、粒子が届く範囲を含む値を選びます。
課題と保存
比較元のParticle Systemを有効にし、VFX Graphと交互に再生します。今回は同じ見た目の完全再現より、どの処理がどのContextへ移ったかを確認します。発生、寿命、初速、色のうち3つを選び、Moduleとの対応を説明してください。
採用したVFX Graphを保存し、GameObjectをPrefabへ保存します。SpawnRate 10、Lifetime 2、Capacity 512、適切なBoundsを基準としてSceneへ残します。比較用の複製は無効にし、後でどれを再生するか名前で分かる状態にします。
基本課題の後は、SpawnをBurstへ変える、発生位置をSphereへ変える、Flipbookを使う、といった調整を一つ選べます。GPU EventやSDFなどの接続は後期で扱います。追加の機能を今回の完成条件には含めません。
- ModuleとContextの対応を3つ説明できる。
- 公開値の異なる二つの表示を比較できた。
- CapacityとBoundsを基準へ戻し、Sceneを開き直して再生できる。
- 比較画像または短い動画と、設定の役割・変更理由を提出できる。