VRChat ワールドにいるアバターに水しぶきやコライダーをつけるSmooth Followについて

こんにちは!Klueleです。
VRChatのワールドを作成していると、アバターを中心にいろいろなオブジェクトをつけてみたいと思うことがあります。
例えば、プールに入った瞬間にアバターの周辺に水しぶきを出したいと思ったときに、アバターの持つPlayer Localのコライダーを検出するトリガーをワールド側に大量に配置するのは大変です。そういうときはここで紹介するSmooth Followの機能を使って、アバターを中心に任意のオブジェクトをつけましょう。様々な表現が簡単に実現できます。
・アバターの周辺に水しぶきなどのパーティクルをつける
・足元にLocalなライトをつける
・メニューを開いたときに地図や拡張メニューを前方に表示させる
・Pickupできるオブジェクトをpickupせずに動かす
ここに書いたことは、Unityの Asset>Import Package>Utility にあるSmooth Followコンポーネントを使って実現できます。

(追加予定)

細かい実装が面倒、というときはBOOTHの拡張メニューの購入を検討しましょう。

【VRChat WORLD ギミック】拡張メニュー|れしあのお店
https://booth.pm/ja/items/1376293

このギミックはメニューを開くときに表示されるCanvasですが、この中にあるContents(Front)とPickup_Mirrorオブジェクトをoffにし、Smooth FollowのChildにいろいろなオブジェクトをつけると、ワールドにいるアバターにLocalな効果をなんでもつけることができます。

簡単な実装例として、ワールド「TAIIKUKAN」にあるコライダーの例を出します。TAIIKUKANではアバターにLocalなコライダーをつけています。
このコライダーを使って、ワールドに置いてあるボールをpickupせずに蹴って動かせるようになっています。
なお、ボールにはObject Syncをつけているので、コライダーはLocalだけの実装でも問題なく動作します。

これと同じ要領で、Smooth FollowのChildにParticle Systemをつけてみたり、Lightをつけてみたり、Mesh Filter+Mesh RendererでLocalなオブジェクトを浮かべてみたり、いろいろなことができます。
また、VRC_TriggerからSpawnObjectを指定すると他の人からも見えるエフェクトが実装できます。

(water pool parkの水しぶきの例も追加予定)

ワールドでアバター周辺のエフェクトをいろいろ試してみたい人は、ぜひSmooth Followを試してみてくださいね。それでは、楽しいVRChatライフを!

この記事が気に入ったらサポートをしてみませんか?