今回はUnityのVisual Effect Graphを使用して、ジェット機のAfter Burnerというか、ジェット噴射を作ってみたので、作り方を紹介!!
Unity Ver. 2019.2.11f
プロジェクトのテンプレート:HDRP
Visual Effect Graph 6.9.1
出来上がったもの
SpawnRateとは、パーティクルを1秒間に何個出力するか
今回の場合はあまりたくさん出力してみ見た目の変化には限界がある
◆Visual Effect Graphのエディター画面
①Spawn
1秒間当たりのパーティクルの出力数を設定
なお、Inspectorで数値を変更できるように、パラメーターとして設定している
②Initialize
〇Capacity
最大のパーティクルの数を設定している
ただし、今回のはこんなに要らない
〇Set Size
パーティクルのサイズを1に設定
➂Update
Forceのみ設定
ジェット噴射なので、横方向の力を加えて流れを作っている
➃Lit Quad Output
ライトの影響を受けさせたいので、Litのコンテキストを使用
〇Orient: Face Camera Plane
パーティクル自体は円形の板が出力されているので、これを設定しないとその様子がはっきりわかってしまうので設定(原理はよくわからない)
〇Set Color Over Life
パーティクルの寿命に合わせて色を変化させるためにグラデーション、アルファを設定
気に入った出力となるまで、いろいろいじくるしかない
〇Set Lifetime Over Life
今回ブロックはついているもののグラフは1固定のままなので不要であった
◆Scriptでの制御
今回は左右キーでSpawnRateを操作できるようにしてみた
なお、下記のスクリプトはVisual Effect Graphをゲームオブジェクトとしてシーンに配置し、これにアタッチしている
4行目
Visual Effect Graphを参照できるように設定
17行目
Visual Effect コンポーネントを取得
26行目
キーが押されると、rate変数を+2する
SetFloat(パラメーター名,値)により、SpawnRateを設定している
パラメーター名は、Visual Effect GraphエディターでInspectorで使用できるように設定していたものを参照
Visual Effect Graphも慣れれば前のパーティクルシステム(Shuriken)よりも直観的に編集できるように感じる
あとは、なんせGPUをうまいこと使ってくれているようで動作が軽いのもよい
ただし、作りたいものをどのように作るかは、やっぱりアイデア、センスがないと・・・
あと、ジェット噴射の根本のところにはPoint Lightを配置して、発光の元大本的なのを作っているが・・・
今回はここまで