連休3日目:Booth販売モデルをMetasequoia4EXで編集しVRCHATで使用する方法(Mishe編)
目的
Booth販売モデル(今回はミーシェ”Mishe”)をMetasequoiaでfbx形式にエクスポートしてVRCHATで使用したい。
使用ソフト
(2021/1/11現在)
ざっくり手順
Metasequoia
・ボーンにArmatureを追加
・オブジェクト扱いのボーンを削除
・fbxエクスポート
Unity
・fbxのinspector->ModelよりConvertUnitsのチェックを外す
・fbxのinspector->ModelよりBlend Shape NormalsをIMPORTに変更
・fbxのinspector->RigよりAnimation TypeをHumanoidに変更
・Applyをクリック
・fbxファイルをヒエラルキーへD&D
・全てのメッシュのScaleを1x1x1に変更
解説
メタセコ
ボーンにArmatureを追加
ルートボーンのArmatureが消えているのでHipsを再度Armatureボーンに載せないといけません。
Armatureボーン作成と親子関係の設定です。
オブジェクト扱いのボーンを削除
オブジェクトビュー上にボーンと同名のオブジェクトが作成されています。
Metasequoiaでは必要なく、本物のボーンオブジェクトと名前が重複してしまうので削除を行います。
fbxエクスポート
※ミーシェの場合は拡大率1 x -3桁にすること!!
これをしないとUnityでスケールが1000倍になります。
恐らくアバター製作者がfbxを書き出した時の設定に因るもので、モデル毎にここの値は変動します。
Unity
ここからはUnity上です。
Unityにfbxを持ってきてfbxを選択した状態でinspectorを表示してください。
fbxのinspector->ModelよりConvertUnitsのチェックを外す
fbxのinspector->ModelよりBlend Shape NormalsをIMPORTに変更
convert unitsのチェックを外さないとスケールが狂います。
BlendShape NormalsはIMPORTに。
Upload時にAutoFIXを促されますがそれをするとShapeKey(表情とか)が壊れます。
fbxのinspector->RigよりAnimation TypeをHumanoidに変更
これしないとTポーズのまま動かないです。
fbxファイルをヒエラルキーへD&D
ここまで正しく操作されていれば等倍のミーシェが表示されているはずです。(スケール比較用にAvatarかCubeなどを置きましょう)
この手順ではマテリアル等の設定はしていないので見かけはStandardシェーダーなどになっているとは思います。
全てのメッシュのScaleを1x1x1に変更
HierarchyのMeshObjectのScaleを見ると全て1000になっていますので1に変更します。
Meshの形はボーンに支配されているのでMeshのスケールを操作しても1/1000に縮小することは有りません。
最後は任意に修正
materialを付け替えたりコンポーネントを移行したり仕上げを行ってください。
既存プレハブからのコンポーネントの移行はPumkin's Avatar Toolsが便利です。
Pumkin's Avatar Tools - Pumkin's Store - BOOTH
fbxの互換性について
相対スケールのコンポーネント(例えばダイナミックボーンコライダー)を使用していると、Unity上で1/1000スケールにするとコンポーネントまで縮小されて効果がなくなってしまいます。
ミーシェはおそらく3Dモデル上で1/1000スケール作成されてUnity用に1000倍でExportされたものだと思います。
シャオマオ等の他のアバターではスケール操作の必要はありませんでした。
Unity上でfbxのMeshに1000という値が入っている以上、fbxファイルにその情報が書かれているはずですがメタセコからそれを見る方法はわかりませんでした。
Blenderとメタセコ両方からASCII形式のfbxで書き出してDIFFすれば差分がわかるかもしれないけど、そもそもAutodesk製じゃない以上fbxをどこまで実装しているかもソフトに依るだろうしそれを知ってもメタセコで操作できないのなら知っても仕方ないかなって思いました。
2.3万円程度のソフトだからfbx互換だけに本気出してもしょうがないし、これ以上互換性を求めるならMAYA買えって話なんでしょう。
3Dモデルの基本は全てメタセコで出来るはずだしもっとソフトの使い方よりも共通的な基礎を学びたい。
誰かメタセコの先生してくれんかな。