そういうのがいいブログ

アプリ個人開発 まるブログ

アプリ開発覚え書き

【Unity】ランタイムロードしたVRM1.0のボーンがおかしくなる問題はRuntime Control Rigが生成されるまで待てば解決した話

要件

UniVRM:v0.113.0
Unity: 2021.3.27f1

はじめに

VRM1.0をランタイムロードした後、アニメーターを割り付けると
ポーズがやばいことになっていました。
(膝が変な方に曲がっている・・・)

原因

原因は、モデルをインポート時に生成されるRuntime Control Rig
こちらが生成される前にモデルの回転をしていたことでした。


モデルのインポート直後にY軸を180度回転させていたのですが、
モデルのインスペクターを見てみると次のようになっていました。

・親オブジェクト 回転Y-180


・Runtime Control Rig 回転Y 180

このRuntime Control Rig の回転Y は本来0になっているべきものです。
Runtime Control Rig が生成される前に角度を変更したことによって
あるべき設定値になっていないようでした。

対策

対策は簡単で モデルのインポート後、モデルを回転させる前に
一定時間(約0.1秒)待機処理を入れることで回避できました。

おわりに

原因がわかるまで数時間かかったため少しでも参考になれば幸いです。

本書きました

marumaro7.hatenablog.com