概要
メッシュデータから Point Chache(ポイントキャッシュ)
を作成し、頂点データから VFXGraph
のエフェクトを作成するサンプルです。
最終的に球に沿ってパーティクルを発生させて以下のような爆破効果を作ります。
VFXGraphの初期配置に関しては、以下記事を参照してください。
■ Unity 2019.4 で VFXGraph を使ってみる (HDRP)
https://qiita.com/beckyJPN/items/31274d76059b373f2941
環境
OS:Windows 10
Unity:2019.4.0f1
メッシュからPoint Chacheの作成
まずは Point Chache
を作成します。
以前は別途ツールが必要だったらしいですが、現在は標準ツールとして組み込まれているようです。
上記を選択すると、 Point Chache
を作成するツールが表示されます。
対象とするメッシュを選択したいので Mesh
の丸い部分をクリック。
今回は、デフォルトで用意されている Sphere
を選択します。
Save to pCache file...
ボタンをクリックするとファイルを出力できます。
適当に名前を付けて保存してください。
今回の例では Sphere.pcache
としました。
保存を押すと、Assetにpcacheファイルが追加されます。
VFXGraphの設定
次はVFXGraphに出力したpcacheファイルを適用していきます。
まず、何もない部分で右クリックでメニューを表示し、 Create Node
を選択します。
Nodeの追加ウィンドウが開くので、検索バーに point
と入力。
Point Cache が絞り込まれると思うので選択して作成します。
作成すると以下のようなノードが作成されます。
こちらに先ほど作成した Point Chache
のアセットを適用するため、丸い部分をクリックします。
次に、Initialize部分にPointChacheをもとに位置情報を設定できる Set Position from Map
を追加します。
Initialize Particle
の下の方で右クリックメニューを表示。
Create Block
を選択します。
Block追加のメニューが表示されるので setpositionfrom
と検索バーに入力し、 Set Position from Map
を選択しましょう。
Blockが追加されたら、先程作成した Point Cache
の AttributeMap:position
と Set Position from Map
の Attribute Map
を接続します。
これで、パーティクルの位置がメッシュに沿って発生するようになります。
デフォルトの設定だと、 Velocity
の効果により湯気のように上に登っていく状態となるので、 Set Velocity Random
のチェックを外して無効化します。
ブロックごと削除してしまっても構いません。
この状態でシーンを見てみると、パーティクルが球に沿って発生している状態となっています。
ただし、デフォルトのテクスチャだと様子が分かりづらいので変更しましょう。
Output Particle Quad
の Main Texture
を変更します。
もう一度シーンを見てみると、さっきよりはちょっと状況がわかりやすくなったかと思います。
ただ、数が少なすぎて球体感がよくわからないので、パーティクルの数を増やしましょう。
Constant Spawn Rate
の Rate
を 100
、 Initialize Particle
の Capacity
を 1000
としました。
更に爆発感を出すためカラーのクリックします。
Set Color over Life
の Color
を調整しましょう。
HDR Gradient Editor
が表示されるので、まず左下の調節バーを選択して、 HDR
と書かれた部分をクリックします。
HDR Color
設定ウィンドウが表示されます。
以下のように設定しました。
R:255 G:0 B:0
Intensity:3
こちらは以下のように設定しました。
R:255 G:255 B:0
Intensity:1
おわりに
今回の記事は、VFXGraphの設定記事でも参照した、以下動画の最初の部分を参考に記事としたものです。
動画ではBlenderのモデルからPoint Cacheを作成されています。
以下動画も合わせて確認すると、VFXGraphの導入が捗るのではないかと思いますので、ぜひ一度視聴される事をおすすめします!
■ VFX Graph でなんか作る(4月16日号) - Unityステーション
https://youtu.be/6Ff7S4ocNGs?t=1340