Unity研究所<Unityによるゲーム開発、映像開発>

Unity初心者40代後半中年中間管理職おやじが綴るゲームで小遣い稼ぎできるようになるまでのブログ

Visual Effect GraphでのEffectづくり 3回目 ジェット噴射を作ってみた!!

今回はUnityのVisual Effect Graphを使用して、ジェット機のAfter Burnerというか、ジェット噴射を作ってみたので、作り方を紹介!!

 

Unity Ver. 2019.2.11f

プロジェクトのテンプレート:HDRP

Visual Effect Graph 6.9.1

 

出来上がったもの

f:id:Harukichi:20191103164401g:plain

SpawnRateとは、パーティクルを1秒間に何個出力するか

今回の場合はあまりたくさん出力してみ見た目の変化には限界がある

 

 

◆Visual Effect Graphのエディター画面

f:id:Harukichi:20191103161235p:plain

 ①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をゲームオブジェクトとしてシーンに配置し、これにアタッチしている

 

f:id:Harukichi:20191103164930p:plain


4行目

 Visual Effect Graphを参照できるように設定

 

17行目

 Visual Effect コンポーネントを取得

 

26行目

 キーが押されると、rate変数を+2する

 SetFloat(パラメーター名,値)により、SpawnRateを設定している

 パラメーター名は、Visual Effect GraphエディターでInspectorで使用できるように設定していたものを参照

 

Visual Effect Graphも慣れれば前のパーティクルシステム(Shuriken)よりも直観的に編集できるように感じる

あとは、なんせGPUをうまいこと使ってくれているようで動作が軽いのもよい

ただし、作りたいものをどのように作るかは、やっぱりアイデア、センスがないと・・・

 

あと、ジェット噴射の根本のところにはPoint Lightを配置して、発光の元大本的なのを作っているが・・・

 

今回はここまで