第01回 GPU粒子の配置と群れの変形
後期は、VFX Graphによる多数の粒子の制御と、表現の拡張を学びます。この回では、粒子ごとに最初の位置を保存し、空間に広がった粒子群を球殻状の配置へ変形させます。
前期のVFX Graph入門では、基本のContextと粒子の発生・移動を扱いました。今回は、その構成を短く確認したうえで、粒子ごとのデータと共通の操作値を組み合わせます。
配布プロジェクト
この回に対応する配布プロジェクトは準備中です。配布状況は配布ファイルに掲載します。本文は、Unity 6.5とVisual Effect Graph 17.5.0の構成を対象とします。
本文にはGraphの構成と操作手順を掲載しています。対応する開始環境は準備中です。数値例の読み取りを先に行い、実機で制作する際は開始Scene・Graphと描画結果が確認された環境を使います。
この回のゴール
数千〜数万個を目安とする粒子群を用意し、ひとつの操作値で群れ全体の配置を変えます。粒子ごとに保存した元の位置を使うため、変形を戻すと元の配置へ戻ります。実際に扱う粒子数は、授業環境で動作を確認して調整してください。
- 共通のPropertyと、粒子ごとのAttributeを区別できます。
- Initializeで決めた位置をCustom Attributeへ保存できます。
- 保存した位置から二つの配置を求め、連続的に切り替えられます。
今回のポイント
粒子が自分の基準位置を持ちます
各粒子は、homeという名前のデータに最初の位置を保存します。共通の操作値を変えても、粒子はそれぞれ異なるhomeを参照するため、群れの中で異なる場所へ移動します。
大量の粒子へ同じ規則を適用します
VFX Graphは、粒子ごとの位置計算をGPUで処理できます。この回では、一個ずつGameObjectを作って操作する構成を用いず、同じ計算規則を粒子群へ適用します。
GPUの利用によって処理できる粒子数が増えても、描画の重なりによる負荷は残ります。粒子数を増やす前に、群れの形と奥行きを読める表示を作ります。