MMD(MikuMikuDance)モデルを使用してBeat SaberやVRChat用のアバターを作成する場合、Unityを起動する前にやらなければならない工程がふたつあります。
ひとつはボーン構造などの最適化、そしてもうひとつはファイル形式の変換です。
BlenderでMMDモデルをUnity用に最適化して、ファイル形式をpmxからfbxに変換する方法を解説します。
必要なもの
Cats Blender Plugin(Blenderプラグイン)
MMDtoors(Blenderプラグイン)
それぞれリンク先からダウンロードします。
※MMDtoorsはCats Blender Pluginに同梱されるようになりました。Cats Blender Pluginを導入する場合、MMDtoorsを単体でダウンロードする必要はありません。
ダウンロードしたBlenderは、インストーラーの指示に従ってインストールしておいてください。
スポンサーリンク
プラグインの導入
Cats Blender Pluginの導入
Blenderを起動します。
情報ウィンドウから「File」をクリックして、表示されたメニューの中から「User Preferences…」を選択します。(ショートカットキーの Ctrl + Alt + U でもOK)
「User Preferences」ウィンドウが開いたらAdd-onsタブが選択されていることを確認して、左下にある「Install Add-on from File…」をクリックしてください。
ファイル選択画面が表示されるので、ファイルの保存先を開いて「cats-blender-plugin-master.zip」を選択します。
そのままファイル名をダブルクリックするか、右上の「Install Add-on from File…」を押してアドオンをインストールします。
あとはアドオン一覧から「3D View: Cats Blender Plugin」にチェックを入れて、左下の「Save User Settings」を押して変更を保存すれば完了です。
MMDtoolsの導入
※「MMDtools」は「Cats Blender Plugins」に同梱されています。
上記手順でCats Blender Pluginをインストール済みの場合、以下の作業は不要です。
ダウンロードしたMMDtoorsを解凍して、中身の「mmd_tools」フォルダをBlenderの「addons」フォルダにコピーしてください。
コピー元
「blender_mmd_tools-dev_test」内の下記フォルダ
- 「mmd_tools」フォルダ
※mmd_tools以外のフォルダやファイルはコピーしないように。
コピー先
Blenderインストール先の下記フォルダ
- 「addons」フォルダ
2.79の部分はバージョンによって異なります。
Blenderを起動して、「File」→「User Preferences…」を選択します。
ユーザー環境設定のウィンドウが表示されたら、以下の順で操作します。
- 「Add-ons」タブをクリック(アドオン一覧が表示されます)
- 左側のCategoriesから「Object」を選択(検索欄にmmd等と入力してもOK)
- 「Object: mmd_tools」にチェックを入れる
「Save User Settings」を押して変更を保存したら完了です。
スポンサーリンク
3Dモデルの編集
プレビュー画面の基本操作
最低限のマウス操作方法のみ書いておきます。
- カメラ操作
- ホイール上下・・・視点を前後に移動
- Shift + ホイールで・・・視点を上下に移動
- Ctrl + ホイール・・・視点を左右に移動
- 細かいカメラ操作
- ホイールドラッグ・・・モデルを中心に視点移動
- Shiftキー + ホイールドラッグ・・・視点を上下左右に移動
- Ctrlキー + ホイールドラッグ・・・視点を前後に移動
- 選択操作
- 右クリック・・・対象を選択
- 右ドラッグ・・・対象を掴む(右クリックで解除)
MMDモデルをインポート
ツールシェルフの「CATS」タブを選択します。
「Import Model」の右側にある「≡」ボタンを押してから、「MMD」を選択してください。
(「File」→「Import」→「MikuMikuDance Model (.pmd, .pmx)」でもOK)
インポート設定
ファイルを開く前に、必ず画面左下のインポート設定を確認してください。
以下の項目が選択されていない場合は設定を変更してください。
- [Mesh]
- [Armatu]
- [Morphs]
- ☑ Clean Model
- ☑ Rename Bones – L / R Suffix
- ☑ use MIP maps for UV textures
Scaleは0.08に指定します。
[Shift]キー+クリックで個別に選択状態を解除してもOK
これらの設定はプリセットに登録しておくと便利です。
「Operator Presets」の右側にある「+」アイコンから、よく使う設定のプリセットを作成しておきましょう。
問題なければMMDモデルデータの.pmxファイルを選択して、ダブルクリックまたは「Import Model File (.pmd, .pmx)」を押します。
こんな感じで3Dモデルが読み込まれていればOKです。
3Dプレビュー画面右上の「+」ボタンを押してプロパティシェルフを開き、「MMD Shading」→「Shadeless」を選択すると色の付いた状態を確認できます。
ボーン(Armatur)等を非表示にしたい場合は、すぐ上にある「MMD Display」の項目を弄ってください。
モデルの最適化
3Dモデルの最適化を行います。
テトラポッドのようなアイコンの3Dモデルデータを選択して、「CATS」タブの「Fix Model」を押してください。
ポリゴン数の削減
VRChat用アバターの場合はモデルのポリゴン数に制限があるので、その編集も必要になります。
モデルをfbxでエクスポート
最後にファイルを変換して保存します。
画面右上のアウトライナーから
- Armature(オレンジ色の人型アイコン)
- Armature(白黒の人型アイコン)
- Body(逆三角形アイコン)
を選択状態にしてください。
「CATS」タブの「Export Model」を押して、エクスポート画面を開きます。
(または「File」→「Export」→「FBX (.fbx)」)
エクスポート設定
保存する前に、必ず画面左下のエクスポート設定を確認してください。
設定を以下のように変更します。
[Main]タブ
- ☑ Selected Objects にチェックを入れる
- [Empty, Armature, Mesh, Other]を選択
※[Camera, Lamp]は未選択状態にする(Siftキーを押しながら左クリック)
[Geometri]タブ
- □ Apply Modifiers のチェックを外す
[Armatures]タブ
- □ Add Leaf Bones のチェックを外す
[Animatior]タブ
- □ Baked Animation のチェックを外す
プリセット登録
インポート時と同じように、この設定も保存しておくと便利です。
「Operator Presets」の右側にある「+」アイコンをクリックして、よく使うプリセットを登録しておきましょう。
まとめ
BlenderでMMDモデルのpmxファイルをfbxに変換する方法を紹介しました。
作業自体は単純ですが、最後にボディとアーマチュアを選択し忘れたり、インポート/エクスポート時の設定変更を忘れたりしないよう気を付けましょう!
コメント
[…] 例えばMMDなどで使用されるフォーマットPMXの変換の方法としては、Unityと相互にサポートしている3Dモデリングソフト「Blender」にアドオン(mmd_toolsなど)を追加してインポートしてから「FBX」に変換(PMXからFBXへの変換方法)してUnityに読み込ませる事で、同じ手順で「VRM」に変換する事が可能です。 […]
とても分かりやすい内容で参考にさせてもらってます♪
ところで、MMD用のPMXファイルで道具などのアクセサリを、このページの手順でFBXにエクスポートしたました。
それを「SB3UtilityGUI」で読み込んだところテクスチャは含まれませんでした。
何か設定が間違っていたのでしょうか?
コメントありがとうございます。
通常の方法でUnityへインポートした場合もうまくいきませんか?
SB3UtilityGUI特有の問題であれば、使ったことがないので私にはわからないです。
返信ありがとうございます!
別のソフトについて尋ねてしまいすみません。
いろいろ試行錯誤してみましたが、初心者なので手順をただ倣うことしかできず。何が良くないのかもさっぱりで。。。
ついでですみませんが、
UV展開すると白黒で直線を書きなぐったようになり、3D上では表示されている絵も反映されないのはなぜなのでしょうか?
FBXにまとめられないなら、別にUVマップ?を取り出してできないかとも思ったのですが、これもうまくいきませんでした。
すみません、ご質問の意味がよくわかりません。
UV情報はFBXファイルに保存されていますよ。
こちらこそ端的でここのページと無関係な質問でした。
UV情報については、質問した内容を踏まえてもう少し勉強してみます。
重ねて別の質問ですみません。
FBXでエクスポート関連について、MMDモデルには動きをつけられるボーンが含まれますが、
ボーンは含めず、オブジェクトとしてのマテリアルとUV情報のみをFBXとして取り出すことは可能でしょうか?
エクスポート時の設定でアーマチュアを除外すれば、ボーンの情報を含めずに出力可能です。(Blenderでは、複数のボーンで構成された骨格のことをアーマチュアと呼びます)
出力項目(Empty,Camera,Lamp…と並んでいる項目)の「Armature」を非選択状態にしてからエクスポートしてください。
教えていただいたように設定をしたら上手くできました!
何度も丁寧に答えてくださり感謝します。
ありがとうございました!
いえいえ、うまくいったようで何よりです!
FBXに変換してHitogataに変換したところ、色が白くなってしまったのですが、対処法はありますか?
色々なMMDモデルを試してみましたが、白くなるのとならない物がありました。
なお、Windows標準の3Dビュアーでは色がちゃんとついていました。
私も同じ問題があります。すみませんが、この問題は今解決されていますか?もし解決方法があれば教えてくれますか?