VRChat, Avatar

【VRChat】揺れ物(PB)がアバターに貫通しないようにする設定方法!

はじめに

こんにちは。りんです。 はじめてのVRC関係の投稿になります。 先日、私の友人がVRChatをはじめまして、私にこのような相談をもらいました。

「アバターにつけたしっぽが後ろ歩きするときに貫通してしまう」

です。

こんな感じでしっぽが前に貫通してしまう。

これってよくあることで皆さん一度は気になったことだと思います。 意外と簡単に対処できるので紹介したいと思います。

環境

Unity:2022.3.22f1(画面レイアウトを変えています。ご注意ください。)

Avatar:シェーナ (https://booth.pm/ja/items/4040235)

Tail:MOFU TAIL (https://booth.pm/ja/items/5772943)

対処法

Hierarchyを右クリックしCreateEmpty

1.Game Objectを作成

まずHierarchyの空の部分を右クリックし「Create Empty」を作成し名前を任意に設定してください。 わたしは「VRC_PB_Coli_Tail」にしました。

2.適切なArmatureの下に置く

貫通させたくない位置を決め、それが追従する箇所においてください。 今回はおなかに貫通させたくないのでHipの下にGame Objectを配置します。 (もし左手に貫通してほしくないなら、Hand.Lの下に配置)

Armatureに置き、Componentを追加

作成したGameObjectをクリックし、Add Componentで「VRC Phys Bone Collider」を追加します。

4.VRC Phys Bone Colliderの設定

Shape TypeをPlaneに設定します。 その後、上記の画像のように貫通させたくない位置に調整して下さい。 今回はしっぽにしましたが、ほかのアクセサリーなどもできると思います。

対象のPBの設定

5.対象(しっぽ)のPBにGameObjectを設定

対象(しっぽ)のBoneを選択し、VRC Phys Boneを探します。 見つけたらCollisionの配下にCollidersがあるので展開、Sizeの値を+1してください。 新規Elementが追加されますのでそこに先ほど作成したGameObjectをドラック&ドロップします。

6.完成

作業はおわりなので各自でテストしてください。 挙動がおかしい場合は適切な位置に配置しているか、設定はあっているかをこの記事を見返して確認してください。

このようになっていれば成功

https://rin0700.com/blog/c8a01153-7dc7-4eaa-b3cd-89dd5070a845