AvatarToolsでうまくいかないときの対処法
Published : 2022-03-26
Updated : 2022-08-21
AvatarToolsはボーンを結合して服を着せてくれる非常に便利なツールで、私も愛用しています。
そんなAvatarToolsがうまくいかないときの対処法をまとめておきました。
「モデルデータではありません」と表示される
このエラーの場合、いくつかの解決方法があります。
服にAnimatorを追加する
服に「Add Component」から「Animator」を追加します。
追加するだけで値を設定する必要はありません。
これだけでエラーが出なくなり、結合できるようになります。
改変版 AvatarTools VerEx.0.5.1を使用する
AvatarToolsの代わりに改変版 AvatarTools VerEx.0.5.1を使いましょう。
こっちを使うとエラーを吐かずに結合できることが多い印象です。
角度がおかしい・回転して結合される
結合自体はされるけれども、角度がおかしい状態で結合されてしまうことがあります。
これは服のボーンロールが素体のものと異なるために起こっています。
改変版 AvatarTools VerEx.0.5.1を使用しましょう。
ボーンロールの相違があっても修正して結合する機能が追加されているので、問題なく結合できます。
結合すると服が消える
なんか水色の文字で注意でてるけど結合しちゃえとやってみたら、結合したはずの服が消えてしまう現象です。
服のメッシュを選択すると細長くなっていると思います。
これは服のArmatureのScaleが100になっているせいで、結合する際にアバター側のScale 1に合わされてしまっているために起こっている現象です。
(服が100分の1に圧縮されているような状況)
これは、Blenderで服のモデル製作時にfbxをエクスポートするときの設定によるものです。
Blenderでの問題になってくるのでUnityでは修正できません。悲しい。
でも、ちょっとしたひと手間で修正できるのでちゃっちゃっとやっちゃいましょう。
手動でボーン移設して着せるより楽です。
以下にBlenderで修正したfbxをエクスポートし、Unityにインポートする方法を記載します。なお、使用しているBlenderのバージョンは3.1.0です。
Blenderの「ファイル」→「インポート」→「FBX(.fbx)」から修正したいモデルのfbxファイルを選択し、fbxをインポートします。
画面右のシーンコレクションにあるCubeを選択し、削除します。
(画面でCubeを選択し、右クリックから削除を選ぶことで削除することも可能です。)
キーボードの[A]を押して全選択し、[Ctrl]+[A]で適用ウィンドウを出現させ、「全トランスフォーム」をクリックします。
エクスポートに移ります。
インポートと同様に「ファイル」→「エクスポート」→「FBX(.fbx)」と選んでいき、
ファイルビューでファイルの出力先およびファイル名を決めたら、エクスポートの設定をしていきます。
オブジェクトタイプはアーマチュアとメッシュを選択。
トランスフォームではスケールを適用の欄は「すべてFBX」、前方は「Zが前方」、トランスフォームを適用にチェックを入れます。
アーマチュアでは「リーフボーン追加」のチェックを外します。
この状態でエクスポートを実行をします。
さて、修正したfbxファイルが出力されたので、Unityにインポートします。
インポートしたfbxをHierarchiyに入れ、マテリアルを設定します。
元のprefabと同じになるように、マテリアルファイルをSkind Mesh RendererのMaterialsのElement欄にドラッグすればOKです。
このようにしてマテリアルを設定したfbxをprojectのファイルにドラッグ&ドロップするとprefab化されるので、あとはAvatarToolsで着せ替えができるようになるはずです。
(prefab化するときにダイアログが出ますが、特にこだわりがなければ「original prefab」を選んでおけばいいと思います。)
あとがき
VRChatは今後Physics Boneに移行していきますが、今のところベータ版での提供(2022年3月現在)でダイナミックボーンが優勢なのはまだ続くと思われます。
AvatarToolsでボーンが過剰に増えてしまうのを防ぎつつ、Physics Boneへの移行に備えていきましょう。