下記のように修正したアニメーションを作成することで改善しますが、今度は移動時のモーションが床を滑るようなものになってしまいます。
諸々解決するにはきちんと歩行モーションを作成しないといけないようです。
(2021.11.29 追記)
修正したアニメーションを用意しました。こちらからダウンロードできます。
自然なアニメーションではないと思いますが、修正アニメーションの作成が面倒な方はご利用ください。
(2021.11.29 追記ここまで)
はじめに
どうも。「バーチャルためにならない改変お姉さん」の水無月せきなです。
今回はVRChat のアバター、特にフルトラ(フルボディトラッキング)時において顕在化する問題への対応についてです。
環境
VRChat : VRChat 2021.3.4p2
SDK : VRCSDK3-AVATAR-2021.09.03.09.25_Public
Unity : 2019.4.30f1
OS : Windows 10 ( 20H2 )
フルトラで床に座っているとつま先が上に折れ曲がる
下の写真をご覧ください。
つま先がありえないくらいに折れ曲がっています。
Twitterでも同様の呟きを見ることができるかと思います。また、回避策として、移動モーションをフルトラ時に再生しないようにするような方法が紹介されていたのを見た記憶があります。
しかし、移動モーションを再生しなければ発生しないのであれば、移動モーションに問題があるのでは? と引っかかりました。
対応
結論から言えば、やはり移動モーションが原因でした1。
こちらは VRChat のデフォルト移動モーションの一つ、proxy_low_crawl_Still というアニメーションのプレビューです。
見事に左足のつま先が曲がっています。
おそらく、つま先が地面に接している状態の表現(つまり本来は自然なモーション)だと思うのですが、修正します。
アニメーション内の Left Toes Up-Down
の値を 0
にすれば、曲がらなくなります。
厄介なのは、修正するアニメーションは proxy_low_crawl_Still
だけではありません2。
移動モーションはブレンドツリーになっており、他のモーションでも Left Toes Up-Down
は使われています。Crouching
だけでなく Prone
で使われているアニメーションもです。
また、左右の移動はミラーで実装されているため、右足側も設定し直しておいた方が良いかと思います。
という訳で、対象アニメーションは
- proxy_crouch_still
- proxy_crouch_walk_forward
- proxy_crouch_walk_right
- proxy_crouch_walk_right_45
- proxy_crouch_walk_right_135
- proxy_low_crawl_still
- proxy_low_crawl_forward
- proxy_low_crawl_right
対象プロパティ(値を0に設定)は上記のアニメーション内の
- Left Toes Up-Down
- Right Toes Up-Down
です。修正したものを設定すれば完了です。
これでフルトラでしゃがんでもつま先が曲がりません3!
おわりに
既に他の方が言われているような気がするのですが、パッと見た限りでは見つからなかったので書きました。
修正した Animator Controller を配布しようかとも思ったのですが、VRChat のデフォルトから変える箇所が少なく、配布にあたって問題が無いか確信がありませんでしたので、記事で述べるにとどめておきます。