VRM2PMXという、VRMのモデルデータをPMXデータに変換できる便利ソフトがあります。
Vroidで作ったモデルや自作のVRMモデルを簡単にPMXに変換することができます。
VRM2PMXで自作VRMモデルを読み込んだ時に上手くいかなかったこと、検証したこと、対処法の備忘録記事です。
VRMファイルを読み込ませても何も起こらない・プレビューに表示されない
検証したこと
Vroid製モデルは読み込みができたので、自環境やソフトではなくモデル側に問題があるとみて考えました。
・マテリアルが登録されていないオブジェクトがある
→すべてのオブジェクトにマテリアルを割り当てる(効果なし)
・シェイプキーが1つも登録されていない
→適当なシェイプキーを登録(効果なし)
・マテリアルをMToonにしていない
→マテリアルを全てMToonに設定する(読込できた!)
結果
マテリアルをすべてMToonにすると読み込ませることができました。
が、変換中のまま何十分も次へ進まないので再度検証。
変換中のままずっと処理が終わらない
Vroidモデル製は問題なく変換できました。(約2分)
しかし自作モデルは変換できないのでまたまた検証です。
検証したこと
・エクスポート時にファイル名を指定していない
→ファイル名を指定した状態で変換(効果なし)
・VRMのサムネイル、タイトル、バージョン、作者名を設定していない
→サムネイル、タイトル、バージョン、作者名を適当に指定後、変換(効果なし)
・モディファイアを全て適用していない
→モディファイアを全て適用後に変換(効果なし)
・rootボーンを入れていない
→rootボーンを入れてhipsの親として登録、変換(効果なし)
・VRMオプションボーン(目、指など)を設定していない
→VRMオプションボーンを設定、変換(効果なし)
・ボーン名がVRM基準のものではない
→ボーン名をVRM基準のものに変更、変換(効果なし)
・四角形以上の面(nゴン)が含まれている
→nゴンをすべて三角面に処理、変換(効果なし)
・オブジェクトを全部統合してない
→顔、体、瞳などのオブジェクトをすべて統合し変換(効果なし)
・VRM2PMXファイルのプロパティのセキュリティにチェックを入れてない
→チェックを入れて適用、その後ファイル解凍→「管理者として実行」でソフト起動(効果なし)
・既存配布モVRMモデル(ニコニ立体ちゃん)を試しに変換
→変換できた。やはりソフトに異常があるわけではない・・・
・VRMチェックのエラーが解決できていない
→面を三角面にして変換(効果なし)
・オブジェクト、アーマチュアを全選択してトランスフォームを適用後、変換(効果なし)
・VRM-addon(blenderアドオン)内蔵のアーマチュアで適当なモデルを作成して変換(変換できた❕ 完全自作モデルでも変換可能なことがわかりました)
▲UV球を組み合わせ適当な人型を作り、自動ウェイトをつけ、MToonを適用しただけのテストモデル。
→考えられること
・自分で組んだアーマチュアに異常がある
・自分で作ったモデルの情報に異常がある
・体オブジェクトの頂点に、影響を与えるボーンが5以上ある問題を解決していない
検証第二弾
・体オブジェクトの頂点に、影響を与えるボーンが5以上ある
▲編集モードで頂点をクリックすると、アイテムバーの頂点ウェイト欄に影響を与えるボーン一覧が出ます。
エラーが出ているオブジェクトを選択(ここでは体オブジェクト)、ウェイトペイントモードに入り、ウェイト>合計を制限をクリック
エラーが出ているオブジェクト全てに行います。
→・・・結果、変換できず。効果なしです。
・自分で組んだアーマチュアに異常がある
自分で組んだアーマチュアを複製し、先ほどの適当な人型モデルに組付け。VRMエクスポート、変換。
→変換できました。アーマチュアに異常はないみたいです。
・自分で作ったモデルの情報に異常がある
1.今までサブスタで作ったテクスチャ(なぜかUDIMと書いてある)を全て適当なPNG画像に差し替え。
→変換できず。テクスチャは関係ないようです。
2.自作モデルオブジェクトはそのまま、ボーンをVRM-addon(blenderアドオン)内蔵のアーマチュアに差し替え
(自作モデルのウェイトも転送したかったのですが、ボーン構造が違うのでやり方が分からず諦めました)
→変換できず。どうやらモデルオブジェクト自体に問題がありそう?
3.MToonをノードエディタから入れなおす
→変換できました!しかし一体何故・・・
原因と対処法
結局、テクスチャノードが悪さをしていたようで、いったん全消しして新たに接続しなおすことで解消できました。
しかしコレはあくまでワタシの事例なので、他モデルの不具合もテクスチャノードが影響しているとは限りません。同じことで悩んでいる方、少しでもお役に立てたら嬉しいです。
「変換できたモデルにはあって、変換できないモデルにはないもの」を四六時中考え続けてウエストランドのあるなしネタみたいになってしまいました。作業中に延々とぶちラジを聞いていたせいでもある。
ちなみに変換したモデルをPMXで確認するとこんな感じ。
胸ボーンと目ボーンが変な方向に向いてます。上半身ボーンも角度がおかしい。
動かすと肩回りと太もも付け根のウェイトもおかしくなっていました(変換の影響ではなくもともとの塗りがおかしいのかも)
一体何故ですかね・・・ ぶっちゃけこれくらいならpmx上で直してもいいのですが・・・バグフィックスの道はまだまだ続きそうです。
長くなったので一旦ここまで。