ネット記事を適当にあさって作ってた結果、数日間沼にハマって出られなくなってたので、備忘としても残しておく。
VRoidStudioで作成したVRMモデルをBlenderに読み込ませるには、Blender側でアドオンをインストールしておく必要がある。
その辺はググって出てくる記事をそのまま参考にしてやればいい。
VRMモデルをUnityに読み込ませる場合も、同様に専用のアドオンをインストールする。
これもググって出てくる記事をそのまま参考に。
で、Blender側でモーションを作って、それをUnityに読み込ませてUnity側のVRMモデルを動かす。
ここで沼った。
結論から言えばBlender側でのモーションの作り方に問題があったっぽい。
誤
「ドープシート」⇒「アクション」からモーションを作成していた。
一応モーションは作れるし、Unity側も読み込み自体は問題無い。
しかしそれで動かした場合、何故かボーンの回転がおかしくなる。
人型モデルでT字状態のままで出力しても、Unity側では両足が一点に重なるようにズレてしまう。
土の字に開脚するように動かしても、大の字程度までしか足が開かない。
また、足首は特に変更してないのに地面を向くようにねじれる、首を90度ほど左に回してもUnity側では右側を向く等、原因不明だが正常ではない状態になる。
正
「ノンリニアアニメーション」からモーション作成。
こちらで作成した場合、Blender側と同じ動きになってくれた。
どうしてそうなるのかさっぱり分からないところが気持ち悪いが、そこに時間をかけても仕方がない。
ネットでググるのも良いけど、ちゃんとした文書も欲しい…。
参考:Blenderで作ったアニメーションをUnityで動かす
https://qiita.com/Akarinnn/items/de377a1096f4ee7de9fe
追記1
モーション作ってFBX出力する際に「トランスフォームを適用」にチェックを入れてなかったからダメだった説ありそう。
あとこの記事を参考にして、複数モーションを一緒に出力できるようになりました。
【Blender】複数のアニメーションを作成してUnityで使う方法
https://ymgsapo.com/2021/01/27/blender-make-several-animation/