【Unity】衝突したときにエフェクトのイベントを発生させる

投稿者: | 2021-05-12

「VFX Rigid Body Collision Event Binder」コンポーネントを使って、コライダーに衝突したときに、その位置からエフェクトを出してみました。

VFXグラフを作る

VFXグラフは「Single Burst」ブロックを使って、イベントの発生時に一度だけパーティクルが出るようにしています。

また、Initializeコンテキストの「Set Position」ブロックに、「Get Attribute: position」オペレーターを接続し、Locationを「Source」にしているので、positionイベントアトリビュートの値が使われます。

シーンにオブジェクトを配置

このVFXグラフをシーンのVisual Effectオブジェクトにアタッチし、コライダーとリジッドボディの付いたCubeも配置します。

このCubeには、さらに「VFX Rigid Body Collision Event Binder」コンポーネントを付けて、Targetに上のVisual Effectオブジェクトをアタッチし、イベント名を入力します。

すると、他のコライダーとの衝突によって、エフェクトのイベントが発生します。その時に、衝突地点の座標がpositionイベントアトリビュートに使われます。

これで、コライダーの衝突とイベントを簡単に連動させられます。

コメントを残す

メールアドレスが公開されることはありません。