自駄楽さんの備忘録

バーチャルの世界で生きていくために覚えたこと・やってみたこと+趣味のお話をまとめます。

Mixamoでのリギング+Metasequoiaで調整

リギング(ボーン・ウェイト)、わからん…という迷える子羊たちのための神サービス Mixamo を僕はこういう風に使わせていただきました」という記事です。

※注意点※
ド素人がとりあえずカタチにできたよ!という報告ですので、最適解ではない可能性が非常に高いです。
その点はご留意の上、ご活用いただければ幸いです。
裏返すとド素人でもできました。できるか不安に思っている方も是非ともチャレンジしてください♪

いろいろ覚えたら追記していきます。

1.Mixamoにアップロードするモデルの準備

Mixamoへfbx形式のファイルでアップロードしますので、fbx形式のモデルデータを用意します。(他にも.objなどが利用可能なようです)

Metasequoiaの場合の手順になりますので、お使いのモデリングソフトでのfbx形式での出力方法をご確認ください。

こちらのモデルの場合、手枷の部分が指と誤認されてしまったり、翼や尾が腕や脚に追従してしまったりと意図しないボーンやウェイトの構成になってしまうことがあるので、装飾品を剥いだ状態でfbxに出力します。

出力しない箇所は別オブジェクトにし、オブジェクトを非表示にします。

[ファイル]-[名前をつけて保存]をクリックします。

[ファイルの種類]を[Autodesk FBX(*.fbx)]にして、[保存]をクリックします。

[可視オブジェクトのみ出力]にチェックを入れます。
[バージョン]は[FBX201300]を選択します。
※Mixamo側がこのバージョン以前でないと対応していないようです。少なくとも僕の環境ではより上位のバージョンではやってみてもダメでした。
以上2点を確認して、[OK]をクリックします。

2.Mixamoへのログイン

Mixamoにアクセスし、右上の[Sign up]からAdobe IDの登録を行います。
登録が完了しましたら、[Log in]よりログインします。

3.モデルのアップロード

[UPLOAD CHARACTER]をクリックします。

[select character file]をクリックし、手順1.で出力したfbxファイルを選択します。

テクスチャつきのマテリアルがうまく表示できませんが、今は気にせず、[Next]をクリックします。

4.マーカーを設置

5組のマーカーをドラッグ&ドロップで操作できます。

[CHIN]⇒顎
[WRISTS]⇒手首
[ELBOWS]⇒肘
[KNEES]⇒膝
[GROIN]⇒股
にマーカーを動かし、[Next]をクリックします。

モデルがくるくる回っているのを見つめたり見つめなかったりしながら待ちます。

5.リギングされたモデルをダウンロード

動くモデルに感動しながら、[Next]をクリックします。

左側のアニメーションを選択して、動くモデルに感動します。(※重要)

一応意図した通りにリギングがされてるかチェックしておきましょう。
マーカーの微調整で解決しそうであればやり直しましょう。

アニメーションはつけていない状態で、右上の[Download]をクリックします。

[Download]をクリックします。

6.モデリングソフトで諸々の調整

ダウンロードしたモデルをMetasequioaで開きます。

①テクスチャの修正

テクスチャは選択しなおします。

②分離したオブジェクトの再統合

Metasequoiaをもう一つ立ち上げ、元のモデルを開きます。
リギング前に取り除いておいたオブジェクトのみを選択し、[Ctrl + C]でコピーします。

リギング済みのモデルの方に[Ctrl + V]で貼り付けます。

任意ですが、オブジェクト名など整えておきます。

僕のケースの場合、羽のマテリアルが不足しているので作り直して、割り当てておきます。

[コマンド]-[ボーン]を選択し、ボーンウィンドウの[スキニング]-[ボーン]を選択し、ボーンを動かしてみます。
追加したオブジェクト以外はボーンに合わせて動いていますが、追加したオブジェクトはリギングされていないのでついてきません。

[スキン]をクリックし、追加したオブジェクトにチェックを加え[OK]をクリックします。

自動でウェイトを塗ってくれているので、ボーンに追従するようになりました。

もちろんこの状態では腕に翼がついてきたり、足に尾がついてきたりしています。

[スキニング]-[ウェイト]-[ボーン選択]でウェイトを塗りたいボーンを選びます。

例えば尾はこのボーンに追従してほしいなーというときは、対象のボーンをクリックします。

[スキニング]-[ウェイト]-[頂点]で、尾を選択します。

ここでの頂点の選択方法は、[編集オプション]で[範囲選択]か[投げ縄選択]を選べます。
[Shift]を押しながら選択することで、既に選択状態の範囲+今回選択した範囲を選択状態にできます。
※[オブジェクト]ウィンドウで選択中のオブジェクトのみ選択できます。

[100]を選ぶと、このボーンにのみ追従するようになります。

尾が真っ赤になりました。

足に尾が引っ張られなくなりました。

こんな具合に修正をしていきます。
頂点を選択して数値を選ぶ方法以外にもブラシでウェイトを塗る方法やすでにウェイトを塗られたオブジェクトから転写する方法もあるようです。
あんまりわかってないですが、できるようになったら追記したいと思います。

③Mixamoで自動生成されたオブジェクトの統合

VRChatへアップロードする場合、このままではMesh Renderersのエラーが出てしまいます。

内容としては「オブジェクトの数が多すぎる」というような感じです。

Mixamoでのリギングでは以下の画像のようにボーン毎にオブジェクトが生成されます。

これらのオブジェクトを[mixamorig:Hips]にまとめてしまいましょう。

最後にまとめた[mixamorig:Hips]を[RootNode]にまとめてしまっても大丈夫です。

Mesh RenderersはExcelent判定になっています。
※トータルでの判定はSkinned Mesh Renderersが4でMedium判定です。オブジェクトをすべてまとめてしまえばExcelentになります)