LoginSignup
6

More than 3 years have passed since last update.

【Unity】Visual Effect GraphのPointCacheを使って少しリッチに表現してみる

Last updated at Posted at 2020-10-04

本記事ではVFXGraphを使って馬のメッシュから発生するパーティクル表現を作っていきます。

メッシュを用意

今回は以前Unity Asset Storeで購入していたLowPolyAnimatedAnimalsの中にある馬メッシュを使わせてもらいます。

今回はこの馬のメッシュからパーティクルを発生させていくために、ポイントキャッシュ(PointCache)を使っていきます。

※ポイントキャッシュとは、頂点座標や法線情報が焼き込まれたテクスチャです。

VFXGraph付随のPoint Cache Bake Toolを使用

任意のメッシュからポイントキャッシュを作成するツールはVFXGraphをインストールすると付いてきます。

image

Window > Visual Effects > Utilities > Point Cache Bake ToolからPoint Cache Bake Toolを開きます。

Meshにポイントキャッシュにするメッシュをセットします。

ここで言うメッシュは、画像のようにHorse_Rig.fbxの中のactor:Horseを使います。

そしてSave to PCache file...をクリックしてポイントキャッシュファイルを保存します。

ポイントキャッシュをVFXGraphで使う

VFXGraphエディタ上で右クリックしてCreate NodeからPoint Cacheを選択してPoint Chacheノードを作成します。

もしVFXGraphエディタの開き方が分からない方はこちらを参考にどうぞ
【Unity】そろそろVFXGraphを始めてみる

Assetに先程作成したポイントキャッシュファイルをセットします。
するとノードの接続プロパティが表示されます。

Point CacheノードのAttributeMap:PositionプロパティSet Position from MapAttribute Mapに接続します。

すると、このように馬メッシュ内の各座標が各パーティクルの座標にアサインされ、その座標からパーティクルが発生するようになります。

重要なポイントは今回作られたポイントキャッシュの座標は頂点座標ではないということです。
ポイントキャッシュ作成時に座標が補間される形でベイクされているため今回のようなローポリモデルでもイイ感じになります。これが頂点座標だけだとスカスカな見た目の馬になったでしょう。

という事でポイントキャッシュ凄く便利です。

最後に

一応Update Particle Contextノード以降のキャプチャも貼っておきます。

環境

  • Unity2020.1.6f1
  • macOS Catalina 10.15.5
  • Visual Effect Graph 8.2.0

参考

VFX Graph でなんか作る(4月16日号) - Unityステーション

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6