こんにちは、Unityエンジニアのオオバです。
ParticleSystem(Shuriken)では出来なかった事シリーズです。ParticleSystemでは放出したパーティクルをあとからどうこうするということは出来ませんでした。
Visual Effect GraphではUpdate Particle Contextノード
を使って毎フレーム処理を仕込む事ができます。それを使って寿命を永遠にしたパーティクルの向きを放出後に変更するというサンプルを作ってみました。
👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!
LookAt処理をノードで作成
Update Particle ContextノードにSet Angle XYZブロック
をセットして、そのy要素に向かせたい方向をセットするというシンプルなノードです。
Particleの現在座標はGet Attribute Position[Current]ノード
を使い、向かせたい座標(Vector3)はExposed PropertyにしてC#側から代入しています。その2つの値で向かせたいベクトルを使って角度を出しています。
サブグラフにして再利用
最終的に自前のLookAt処理をサブグラフに変換して使い回せるようにしました。依存度のないスタンドアロンな処理はサブグラフにしておくと後々効率を上げてくれるような気がします。
最終的なアウトプット
このような感じで仕上がっています。以下のアセットを使わせていただいております。
アニメーションも入ってて動物もたくさんいて、サンプルを作る際にとても助かっています。
この記事が気に入ったらフォローしよう
オススメ記事
検証環境
- Unity2020.1.6f1
- macOS Catalina 10.15.5
- Visual Effect Graph 8.2.0