一年中こたつ出てる

こたつは最高

【VRChat】Sitting時でもフルトラで動けるようにする

フルトラ中にSitすると視点の位置やトラッキングが色々とズレてしまって、不便なことがあると思います。

これを何とかする方法をメモっておきます。

対策済みのコントローラーをSitting Layerに設定する

一番簡単なのは、対策済みのAnimator ControllerをSitting Layerに設定することです。

ヒグマのねぐら Bear's DenさんのVRChat向けCustom Animator Controllersを使わせていただきます。

pocho.booth.pm

色々入っていますが、Sitting.controllerだけインポートすればOKです。

これをアバターのSitting Layerにセットするだけです。

これだけで、フルトラ中にSitしたとしても立ったり自由に動くことができるようになります。

すでにSitting Layerが設定されている場合

アバターによってはすでにSitting Layerが設定されていることがあります。

Sit時のポーズがアバター用に変えられていて、そのまま使いたい場合、アバターに設定されているものを少しカスタムすればOKです。

変更するイメージとしては、Seated = trueの判定に入るとき、TrackingType = 6(フルトラ中)かどうかで、VRC Animator Tracking Controlを用いたトラッキングの制限をするかしないかをいじります。

例としてサフィーちゃんのSitting Layer用のAnimator Controllerを見てます。

Seated = trueで座りポーズに入り、トラッキングを制限する判定に入るところはここになります。

ここにくると、VRC Animator Tracking Controlで動きがAnimationに設定されているため、フルトラ時に動けません。

ここにフルトラだったら制限しないルートを増やしてあげます。

これでフルトラ時には動けるようになり、3点やデスクトップのときは以前通りモーションで座れるようになります。

ちなみに、TrackingTypeにも色々あるので、トラッキングの状態によって動きを変更することができると思います。

creators.vrchat.com

色々設定するところが多くて大変だとは思いますが、アバター制作者さんにはこのへんも設定してもらえてるとうれしいなと思います…!