やすけの自由研究帳

ガジェットで試したことや、VRChat関連の備忘録を残しています。

AvatarToolsでうまくいかないときの対処法

 

Published : 2022-03-26

Updated : 2022-08-21

 

AvatarToolsはボーンを結合して服を着せてくれる非常に便利なツールで、私も愛用しています。

 

kurotori.booth.pm

 

そんなAvatarToolsがうまくいかないときの対処法をまとめておきました。

 

 

 

 

「モデルデータではありません」と表示される

f:id:y4suke:20220318152657p:plain

 

このエラーの場合、いくつかの解決方法があります。

 

服にAnimatorを追加する

服に「Add Component」から「Animator」を追加します。

f:id:y4suke:20220319102109p:plain

追加するだけで値を設定する必要はありません。

これだけでエラーが出なくなり、結合できるようになります。

 

 

改変版 AvatarTools VerEx.0.5.1を使用する

AvatarToolsの代わりに改変版 AvatarTools VerEx.0.5.1を使いましょう。

booth.pm

 

こっちを使うとエラーを吐かずに結合できることが多い印象です。

 

 

角度がおかしい・回転して結合される

結合自体はされるけれども、角度がおかしい状態で結合されてしまうことがあります。

 

靴が変な方向を向いている

 

これは服のボーンロールが素体のものと異なるために起こっています。

 

改変版 AvatarTools VerEx.0.5.1を使用しましょう。

booth.pm

ボーンロールの相違があっても修正して結合する機能が追加されているので、問題なく結合できます。

 

 

結合すると服が消える

なんか水色の文字で注意でてるけど結合しちゃえとやってみたら、結合したはずの服が消えてしまう現象です。

 

服のメッシュを選択すると細長くなっていると思います。

f:id:y4suke:20220319103327p:plain

服だったなにか

 

これは服のArmatureのScaleが100になっているせいで、結合する際にアバター側のScale 1に合わされてしまっているために起こっている現象です。

(服が100分の1に圧縮されているような状況)

 

これは、Blenderで服のモデル製作時にfbxをエクスポートするときの設定によるものです。

Blenderでの問題になってくるのでUnityでは修正できません。悲しい。

 

でも、ちょっとしたひと手間で修正できるのでちゃっちゃっとやっちゃいましょう。

手動でボーン移設して着せるより楽です。

 

以下にBlenderで修正したfbxをエクスポートし、Unityにインポートする方法を記載します。なお、使用しているBlenderのバージョンは3.1.0です。

 

Blenderの「ファイル」→「インポート」→「FBX(.fbx)」から修正したいモデルのfbxファイルを選択し、fbxをインポートします。

 

f:id:y4suke:20220326091019p:plain

 

画面右のシーンコレクションにあるCubeを選択し、削除します。

(画面でCubeを選択し、右クリックから削除を選ぶことで削除することも可能です。)

 

f:id:y4suke:20220326091048p:plain

 

キーボードの[A]を押して全選択し、[Ctrl]+[A]で適用ウィンドウを出現させ、「全トランスフォーム」をクリックします。

f:id:y4suke:20220326091107p:plain

 

エクスポートに移ります。

インポートと同様に「ファイル」→「エクスポート」→「FBX(.fbx)」と選んでいき、

f:id:y4suke:20220326091223p:plain

ファイルビューでファイルの出力先およびファイル名を決めたら、エクスポートの設定をしていきます。

 

オブジェクトタイプはアーマチュアとメッシュを選択。

トランスフォームではスケールを適用の欄は「すべてFBX」、前方は「Zが前方」、トランスフォームを適用にチェックを入れます。

アーマチュアでは「リーフボーン追加」のチェックを外します。

この状態でエクスポートを実行をします。

f:id:y4suke:20220326091818p:plain

「すべてFBX」を選択することでArmatureのScaleが1になる

 

さて、修正したfbxファイルが出力されたので、Unityにインポートします。

インポートしたfbxをHierarchiyに入れ、マテリアルを設定します。

元のprefabと同じになるように、マテリアルファイルをSkind Mesh RendererのMaterialsのElement欄にドラッグすればOKです。

f:id:y4suke:20220326092043p:plain

 

このようにしてマテリアルを設定したfbxをprojectのファイルにドラッグ&ドロップするとprefab化されるので、あとはAvatarToolsで着せ替えができるようになるはずです。

(prefab化するときにダイアログが出ますが、特にこだわりがなければ「original prefab」を選んでおけばいいと思います。)

 

あとがき

VRChatは今後Physics Boneに移行していきますが、今のところベータ版での提供(2022年3月現在)でダイナミックボーンが優勢なのはまだ続くと思われます。

AvatarToolsでボーンが過剰に増えてしまうのを防ぎつつ、Physics Boneへの移行に備えていきましょう。