0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【メモ】VFX Graphで入力の影響を受けるパーティクルエフェクトを発生させる

Last updated at Posted at 2022-09-29

0.問題

映像のように、プレイヤー(蝶)に付随してパーティクルを生成するVFXを作った。
蝶のオブジェクトの子にVFXを置いている。
しかしパーティクルがプレイヤーの操作入力の影響を受けないため、プレイヤーの移動と同じだけ平行移動し、自然な印象を受けない。

movie.gif

環境は以下
Unity:2021.3.10f1
VFX Graph 12.1.7
URP 12.1.7

1.原因

ただ単に蝶のオブジェクトの子にVFXオブジェクトを置いていたのが原因。
パーティクルを描画する層がそのまま蝶の動きに合わせて動くため、すべてのパーティクルが蝶の移動に合わせて平行移動することになる。
プレゼンテーション1.png

2.解決法

メニューバー【Component】→【VFX】→【Property Binder】を使う
Property BinderはVFX外のGameObjectの情報を持ってくることができる。

Property Binder は Visual Effect コンポーネント を使ってゲームオブジェクトに取り込める C# 動作です。これらの動作を使って、シーンまたはゲームプレイ値と Visual Effect インスタンスの 開放されたプロパティ を接続することができます。
Property Binder | Visual Effect Graph | 10.7.0

3.実装

パーティクルの作り方は公式等参照してください。
VFX Graph 秋の花火大会とか。

  1. VFX(画像内ではflying)をSceneに配置
    image.png

  2. メニューバー【Component】→【VFX】→【Property Binders】からPosition Binderを追加
    今回はbutterflyのPositionを持ってきたいのでPosition Binderを使う。ほかのも試してみるとよさそう。
    image.png

  3. Property Bindingsリストを編集
    Property BindingsのPositionをクリックするとTargetが選べるようになるのでbutterflyのGameObjectをドラッグ&ドロップ
    image.png

  4. VFX Editor側のBlackboardを開き、Positionを受け取る引数を用意
    PositionなのでVector3型で受け取るために、右上の+をクリックしてVector3を選択。
    用意した引数の名前をPositionに変更する。
    image.png

  5. VFX Editor側で受け取る
    VFX Editorで右クリック→【Create Node】→検索から【Position(Property)】を選択してnode配置→nodeとSet Positionをリンク
    image.png

ポイント
動きを追従したいGameObject(butterfly)と同じ階層にVFXオブジェクトを配置してください。
こうしないと独立した座標系で動かせません。

4.結果

想定通りに動いた
movie.gif
入力と連動して動いてくれないとゲーム性が失われるので、Property Binder活用していきたい。
VFX使いこなせると表現の幅が増えそう。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?