主にMMDやBlenderの個人的なメモ用です。一部に成人向けの内容を含みます!未成年の方はご覧にならないでください!

VRMモデルの規約(ライセンス)によっては改造や他形式への変換、他ソフトウェアでの利用等が禁止されている物もあります。ご注意ください!!

ボーン構造がhumanoid形式のVroid製ではないVRMモデルをPMXへ変換、設定等を行い、MMDで使えるようにします。
原理的にはhumanoid形式のボーンを持つ.fbxや.unitypackage形式のモデルも一旦VRM化するなどしてPMXへ変換できると思いますがこのページでは扱いません。

このページではニコニ立体ちゃん (VRM)をPMX化してみます。

UnityのAssetを利用するためUnityのインストールが必要ですが、このページではUnityのインストール方法等は解説しません。
”Unity インストール”等で各自検索してください。このページではすでにUnityをインストールしたものとして進めます。

Vroid製のVRMモデルをPMXに変換する場合はVRM2PMXConverterや、Vroid2PmxというToolが使えるようですが、Vroid製でないVRMモデルの場合はUVが崩れる、そもそも変換できないなど不具合があります。

編集予定:
ボーン対応表とモーフ対応表の作成


使うToolやプラグイン、ソフトウェアなど

UnityとAsset

下記のAssetを利用するのに必要です。

  • VRMtoPMXExporter

UnityでVRMモデルをPMX化してエクスポートするAssetです。
上記のツイートではIK化されない、Aスタンスに変更しない、となっていますが後にIK化やAスタンスへの変更機能が追加されました。

UnityでVRMモデルをインポート/エクスポートするAssetです。
最新VerのUniVRMではVRMtoPMXExporterが動作しないので、Ver0.56.2前後を使う必要があります。

PmxEditorのプラグイン

プラグインのインストール方法についてはこちらのページをご覧ください。
標準ボーンチェッカーという名前ですが標準(必須)ボーンの有無をチェックするだけではなく、ボーンの設定を修正したりMMD上で正常に動作しないモデルのチェック/修正機能を持つプラグインです。
VRMモデルをPMXへエクスポートしても例えば、左/右腕ボーンのローカル軸などは設定されないので上記プラグインで修正します。
プラグイン名の通り、モデルへ準標準ボーンを追加するプラグインです。
上記リンク先動画の概要欄に記載されたURLからは現在ダウンロードできないので、動画のコメント欄のURLからダウンロードする必要があります。
(あにまさ式初音ミクVer2を基準とした)標準モーフの有無と表示枠への登録状態がひと目で分かるプラグインです。

Unity上での作業


新規プロジェクトを作成します。


テンプレートから3Dを選択して、プロジェクトを作成します。

UniVRMとVRMtoPMXExporterをUnityへインポート


UniVRM-0.56.2_155a.unitypackageVRMtoPMXExporter_v0.5.6.unitypackageを一つずつ画面下部のAssetsウインドウへD&Dするか、トップバーのAssetsimport packagecustom package...からインポートしてUnityへ追加します。


途中でインポートのウインドウが表示されるのでimportを選択します。

VRMモデルのUnityへの読み込み


VRMモデルをAssetsウインドウへD&DしてUnityにインポートします。


インポートしたVRMモデルを画面左上部のHierarchyウインドウへD&Dします。

VRMtoPMXExporterでPMXとしてエクスポート


Assetsウインドウ内のPMXExporterフォルダを開きます。


中のPMXExporterHierarchyウインドウのVRMモデル上へD&Dします。


HierarchyウインドウのVRMモデルを選択して画面右側のInspectorウインドウをスクロールするとPMX Exporter (Script)という項目が増えるのでここでPMX化するオプションを指定します。
基本的にデフォルトのままで大丈夫です。

下記は付属Readmeからの転載です。



PMX Exporter (Script)の右側のからExportを選択して出力先を指定し、エクスポートします。
出力先に.pmxとtexフォルダが作成されます。

PmxEditor上での調整

VRMtoPMXExporterでエクスポートしただけのモデルでも元のVRMモデルにUnityなどの揺れものボーン用の設定がされていればPMX変換時にPMXの物理に変換され、動くはずです。(揺れものボーン用の設定がされていてもVRMモデルによっては胸が動かない?)
しかし、単純にエクスポートしただけのPMXモデルだと、MMDで.vmdモーションを読み込ませた際に変な動きになったり、表情(モーフ)が変わらなかったりする場合があります。
これは標準(必須)ボーン以外の準標準ボーンと呼ばれるボーンや、一部のモーフが足りないためです。(※.vmdモーションによって必要なボーンやモーフが異なる)
このため変換したPMXに準標準ボーンを追加したり、モーフのリネーム等を行ってMMDとの互換性を高めます。

PMXモデルをPmxEditorへ読み込ませ、標準ボーンチェッカーを実行します。
ダイアログはすべてはいで進めます。(ボーン関連も)

PMXデータの状態検証を行い、Bad!箇所の修正を行います。(不正モーフの削除など)

次に準標準ボーン追加プラグインを実行し、捩ボーン等を追加します。

標準モーフチェッカーを実行し、TransformViewから各モーフを動かしてみて該当するモーフ名へ変更します。(モーフ名の長さに注意)
※参考:アバターのリップシンクの作成/資料(VRChat 日本wiki)

材質名をわかりやすいものに、(透過などに問題がある場合では)材質順の修正

(オプションで)エッジやスフィア、Toonテクスチャの設定

その他

モデルのボーン構造にもよるが、胸の物理(揺れ)などはRGBA式おっぱい剛体と相性が良い
上記リンク先モデルをダウンロードして、すべての材質と不要なボーン(胸物理関係と上半身(+2)以外)を削除して保存し、VRM→PMX化したモデルの胸ボーン名を左/右胸にしてPmxEditorで追加(マージ)すると胸が揺れるはず(要剛体の非衝突グループ設定)
※ただし、RGBA式おっぱい剛体はMikuMikuMovingや、Blenderのmmd_toolsでは動かないので注意(BlenderでレンダリングするならJiggle bone Addonを使ってMMDモデルの胸を揺らすを参考に胸を揺らす)

逆にAH式などの胸揺れ方式とは相性が悪い?(ボーンの位置や構造にもよる?)

BlenderでVRMモデルを扱う場合

BlenderでVRMモデルを読み込むにはVRM Add-on for Blenderが必要

Blenderへ上記Addonを利用してVRMモデルを読み込ませ、mmd_tools変換ボタンでmmd_toolsでエクスポートできる形式に変換してPMXとして出力する事もできるが、ボーン名(&モーフ名)などがhumanoid形式のままなので手動でリネームする必要があるなど、手間がかかる。

Menu

モデル/アクセサリ/素材など

Blender 2.9 LTS


※下記のページは古いものです

エンコード

コーデック

エンコード/動画編集ソフトウェアなど

その他

サウンド編集ソフト

管理人/副管理人のみ編集できます