VRChatアバターにSit判定を設定する[VRChatアバター改変のすすめ その6]
はじめに
こんにちは。
今回はアバターにSit判定を設定して他の人を座らせる方法をご紹介したいと思います。
Sit判定の作成
Sit判定を付与する方法はとても簡単です。以下の2つのステップで簡単に設定できます。
VRC Station 特性をアタッチ
取り出す物に対して、VRC Stationをアタッチします。
Enter,Exitを設定
Create Empty で、取り出す物の中に2つオブジェクトを作成します。
その後、Enter,Exitなどに名前を変更し、VRC Stationに適用します。
こちらをアップロードするとこのような感じで、Cubeをタッチしたときに座るモーションになり、手と頭を動かすことのできる状態になります。
座るモーションの変更
例として立ちアニメーションを設定したアニメーションコントローラーを作成し、アタッチします。
立ちアニメーションに変更されました。
※自由なアニメーションを設定可能ですが、手と頭は動かせてしまいます。
補足
タッチ判定の形
タッチできる形を決めているのはMesh Filterです。無い場合は動かないと思います。
当たり判定だけ表示したい場合は以下の2つの方法があります。
(確認のために前者の方法でいつでも表示できるようにした方がいいかも。後者の場合はマテリアル数が減ります)
座る場所と降りる場所
Enterが座る位置、Exitが降りる位置になります。
Positionを変更することで、簡単に変更可能です。
その他のパラメータ
その4の設置ギミックを使用して、以下の5つの設定を用意して動作確認を行いました。
1. 普通。
2. 1->2には座った状態で座れるが、2->1は座れない。
右が1で左が2の椅子です。
3. 立つ、降りた後に動けなくなる。(不具合?)
- > 他の椅子にSitした場合、再び動けるようになるが、それ以外はワールド入り直さないと動けない(アバター変更じゃ直らない)
4. 他の椅子に移れないため、降りてから他の椅子に座ることで足が動くようになる
2と3が組み合わさった状態。アバターギミックとしては使わないほうが良さそう。
5. 1と全く変わらない。
多分ワールドギミック用の設定なのだろう...
さいごに
以上、VRChatでアバターにSitギミックを設定する方法でした。
簡単に実装できますね。
手と足が動いてしまっても大丈夫なモーションであれば、オリジナルのSit判定がすぐに使えるようになると思います!