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

モデルの規約によっては改造だけでなくMMDとその派生型以外のソフトウェアにモデルを持っていくこと自体を禁止しているものもあります。ご注意ください!!

PmxEditorとBlenderを使ってMMDモデルの頭部と体を挿げ替えます。
主に衣装の変更や、モデルに中身(乳首や性器)を追加するにも該当部分がごっそり無いモデルに対して行います。

衣装のみの移植についてはMMDモデルの衣装の移植をご覧下さい。

こまめなバックアップを推奨します。

このページでは例として頭部モデルにお宮式磯風、体モデルにRGBA式こだまちゃんを利用させてもらいます。

PmxEditorのプラグイン、闇鍋プラグインを利用します。
導入についてはPmxEditorのプラグインをご覧下さい。

BlenderではAddonのmmd_tools Addon(UuuNyaa版)Y.A.V.N.E.を利用します。
Blenderへの導入方法については【Blender 3.0】mmd_tools【UuuNyaa版】や、【Blender2.9】 addonのインストールと個人的によく使うアドオンをご覧下さい。

更新履歴:
20230926: "GIMPなどの画像編集ソフトでテクスチャを修正して陰影を残す"にwiki内リンクを追加、修正
20220318:全面的な書き直し完了
20220207:Tスタンスでのスケール調整などをPmxEditorではなく、Blender上で行うように(参考:【MMD】現在の形状で保存/モデル更新でのボーンの曲げ伸ばしとポリゴンの歪み


頭部モデルと体モデルにPmxEditorでAtoTスタンスボーンモーフを追加する

モデルのスケールを合わせるために、基準となる腕の位置を合わせやすいようにTスタンスモーフを追加します。
  • A2T&T2Aモーフの作成

闇鍋プラグインを導入し、Pmx編集ウインドウの編集(E)プラグイン(P)UserEtcPluginMOPRH[MOPRH] A→T T→Aへのボーンモーフ作成を選択してA2T&T2Aモーフを作成します。

頭部モデルと体モデルの両方にA2Tモーフを作ります。

  • PMXデータの状態検証
Pmx編集ウインドウのファイル(F)PMXデータの状態検証(F)PMXデータの状態確認ウインドウを表示させて問題がないか確認します。
(後の工程でBlenderへインポートしますが、”bad!”箇所があるモデルをBlenderへインポートした際に、場合によってはBlenderが不定期に落ちる事があるので)

問題がないか、問題箇所を修正したらそれぞれ別名保存します。

Blenderにインポートして編集など

PmxEditorでもモデルのスケール変更自体はできますが、Tスタンスモーフを有効にした状態でのスケール合わせは面倒なのでBlenderへインポートし、体モデルを適切なスケールにして出力します。
(今回の例では、頭部モデルの位置などを調整したうえで、頭部モデルも出力している)
※PmxEditorのTransformViewでTスタンス <-> Aスタンスで現在の変形状態でモデル形状を更新を繰り返すとポリゴンが歪むらしい(参考:【MMD】現在の形状で保存/モデル更新でのボーンの曲げ伸ばしとポリゴンの歪み

Blenderへのモデルのインポート


Blenderを起動したらデフォルトのCubeやカメラオブジェクトなどを3Dビュー上にマウスカーソルを持っていって[A]キーで全選択し、[X]キーで削除します。
右上部のアウトライナー画面で右クリックして管理しやすいように新規コレクションを作成します。


3Dビュー上にマウスカーソルを持っていってから[N]キーを押してサイドバーを出します。
Blenderへ正常にmmd_toolsを追加出来ていればMMDタブが表示されるのでMMDタブを開きます。
Collectionをアウトライナーで選択してから、MMDタブ→シーン設定項目→モデル:インポートから先ほどのA2Tモーフを作成したMMDモデルをインポートします。


スケールの値はデフォルトの0.08である事を確認しておきます。
デフォルトではモデルをクリーンにチェックが入っていますが、外しておきます。
その他のオプションはデフォルトのままで大丈夫です。
各オプションの詳細は【Blender 3.0】mmd_tools【UuuNyaa版】をご覧ください。

よくわからない場合は上記画像の通りにします。

次はもう一方のMMDモデルを同じオプションでインポートします。

Blender上でTスタンスモーフを有効にする

Blenderへインポートしてもそのままでは頂点モーフ(Blenderで言うシェイプキー)しか使えないので、使えるようにします。

右上部のアウトライナー画面からモデル名の項目(エンプティ、十字のオブジェクト)を選択し、サイドバーのMMDタブからモデル設定項目→組み立て:(Setupの誤訳?)→モーフをクリックしてA2Tモーフを動かせるようにします。
これをもう一方のモデルに対しても行います。


サイドバーのMMDタブからモーフツール項目を開き、ボーンA2Tモーフの1にします。
これも両方のモデルに対して行います。

表示の変更


3Dビュー上にマウスカーソルを持っていき、テンキーの[1]→[5]と続けて入力し、視点を真正面からの平行投影にします。(テンキーではない方の[1]or[5]では駄目)


メッシュが見えやすいように表示を切り替えます。
3Dビュー上で[Z]キーからワイヤーフレーム表示にしてシェーディングオプションのカラーランダムにして見やすくします。

頭部モデルの上下位置調整

頭部のモデルと体のモデルの両方が素足または(似た形状の)靴を履いている場合は単純にスケールを変更すれば良いのですが、今回のケースでは頭部モデルが靴(しかもヒール)を履き、体モデルが素足となっています。
このため、まずは頭部モデルの上下位置を調整します。


テンキーの[3]を押してモデルの左からの視点に切り替えます。
アウトライナー画面から頭部モデルの項目(エンプティ)を選択して[G](移動)→[Z](縦軸)→マウスの移動で、頭部モデルを体モデルの踵あたりを基準に位置を下げます。(マウス左クリックで位置確定)

※必ずモデルのエンプティ(十字のオブジェクト)を選択した状態で移動させてください。
これはメッシュオブジェクトを選択して移動させるとメッシュオブジェクト(MMDで言う材質)のみが移動してしまい、ボーンや剛体、Jointの位置はそのままになってしまうからです。
(モデルのエンプティを選択した状態で移動する事でメッシュオブジェクト、ボーンや剛体、Jointといったオブジェクトすべてを移動させれます)


エンプティを移動させたら、トップバー下のオブジェクト適用全トランスフォームを選択して全トランスフォームを適用します。(位置だけで良い気がするが念の為)

体モデルのスケール変更


テンキーの[1]を押して真正面からの視点に戻します。
こちらも頭部モデルと同様の理由で、アウトライナー画面から体モデルの項目(エンプティ)を選択し、[S]キーを押して体モデルのスケールを変更します。
頭部モデルの腕を基準にして体モデルのスケールを変更します。
※この際、変更したスケールの値をメモしておきます。首(頭)ボーンのウェイト修正で必要になる可能性があります。


トップバー下のオブジェクト適用全トランスフォームを選択して全トランスフォームを適用します。(これもスケールだけで良い気がするが念の為)

頭部と体の分離


表示をソリッドビューに切り替えます。


まずは頭部側のモデルを編集します。
頭部側のモデルのアーマチュアを選択して[Ctrl]+[TAB]キーを押してポーズモードに入ります。
ボーンを選択した状態で、サイドバー→MMDタブ→モデル製作モデル手術切断をクリックします。


頭部と体に分離され、別モデル化するので頭部側のモデルの体をアウトライナーから右クリックして階層を削除で削除します。


体側のモデルも同様に頭部と体を分離させます。
体側モデルもボーンを選択して切断します。

頭部の前後位置調整

今回使用するモデルの場合、頭の前後位置も調整する必要がありました。

頭部モデルのメッシュオブジェクトを選択し、サイドバー→MMDタブ→モデル設定メッシュ:マテリアルで分解で分解します。
頭部モデルのエンプティを選択し、ワイヤーフレーム表示に切り替え、テンキーの[3]を押して真横からの視点にして[G]→[Y]で前後に移動させます。

念の為、トップバー下のオブジェクト適用全トランスフォームを選択して全トランスフォームを適用します。(位置だけで良い気がするが念の為)

モデルの結合(ボーンを接続する)

今のままでは別モデルなので、同一モデル化してボーンを接続します。

頭部側のアーマチュア→体側のアーマチュアの順にアーマチュアを複数選択して[Ctrl]+[TAB]キーを押してポーズモードに入ります。
ボーン→ボーンの順番に選択してサイドバー→MMDタブ→モデル製作モデル手術結合をクリックしてモデルを結合します。

頭部と首先をつなげる

頭の付け根と首先の間に隙間ができているのでこれを修正します。


アーマチュアを選択して[H]キーを押して非表示にします。
頭側、体側共にマテリアルをマテリアルで分解で分解します。
頭部のメッシュと体(首)のメッシュを[Shift]キーを押しながら複数選択し、[Ctrl]+[I]キーを押して選択状態を反転させ、[H]キーで非表示にします。

頭部のメッシュと体のメッシュをもう一度複数選択して[Ctrl]+[J]キーで同一オブジェクトに結合します。


[TAB]キーを押して編集モードへ入ります。
※一部のモデルでは[A]キーで頂点を全選択して[M]キーの距離からで重複頂点などを削除した方が良いです。


首先の縁を[Alt]+左クリックで辺ループ選択します。さらに、頭の付け根の縁を[Shift]+[Alt]+左クリックで辺ループ選択し、選択頂点を追加します。


3Dビュー上部のアイコンから辺ループのブリッジを選択します。
※モデルによっては、3Dビュー左下の辺ループのブリッジオペレーターを開き、分割数の値を1か2程度にする必要があるかも

これで首先と頭の付け根は繋がりましたが、つないだ箇所のメッシュがガタガタですのでスムーズをかけます。


[Ctrl]+[+]キーを一回だけ押して選択領域を拡大し、右クリックメニューから頂点をスムーズにを選択します。
3Dビュー左下の頂点をスムーズにオペレーターからリピートの値を10〜20程度にします。
法線修正

サイドバーのExtended ToolsからY.A.V.N.EVertex Nomal Weightコーナー角度でその右隣りの[+]ボタンをクリックします。
これでつないだ箇所の法線が修正できましたが、モデルによっては腕などのUVシームにそって切れ目ができることがあります。その場合は[A]キーで体のすべての頂点を選択し、サイドバーのExtended ToolsからY.A.V.N.Eマージをクリックすれば治ります。
マテリアルの割り当てとUVの修正など

”辺ループのブリッジ”で作られたメッシュ部分には、おそらく体のマテリアル(PMXの材質)が割り当てられていると思いますが、念の為に割り当てなおします。
編集モードで”辺ループのブリッジ”で作られたメッシュ部分を選択した状態でマテリアルプロパティから体のマテリアル(PMXの材質)を選択し、割り当てをクリックして割り当てます。

ちなみに、ここでマテリアルプロパティからボタン(マテリアルスロットを追加)をクリックして表示される新規ボタンをクリックする事で.pmxとしてエクスポートした際に選択メッシュ部分を別材質に分離できます。


UVを修正します。トップバーからUV Editingタブを開きます。


左側のUVエディター画面から、[C]キー(円で塗りつぶし選択)で左側のUV頂点を選択します。


[R]キーとマウス移動で回転させ、捻れを解消します。
[G]キー→マウス移動で移動させます。
[S]キーとマウス移動でサイズを縮小させ、[G]キー→マウス移動で移動させます。

今回のケースでは体モデル(と体のテクスチャ)にUVの余白が十分あったため問題となりませんでしたが、体モデル(のUVや、テクスチャ)によっては”辺ループのブリッジ”で作成したメッシュ部分を別材質として分離させて(体のテクスチャとは)別のテクスチャを割り当てる必要があるかもしれません。

”辺ループのブリッジ”で作られたメッシュ部分に新規マテリアル(材質)を割り当てる場合

モデルのエクスポート


[Alt]+[H]キーを押して非表示になっているオブジェクトを表示させ、モデルのエンプティ(十字のオブジェクト)を選択した状態でサイドバーからMMDタブ→シーン設定モデル:エクスポートでエクスポートします。


エクスポート時の注意すべきオプションとしては、インポート時にスケールの値を0.08にしていた場合、エクスポート時のスケールの値を12.5にする必要があります。

PmxEditorでの作業

BlenderからエクスポートしたMMDモデルをPmxEditorで開きます。

材質の並び替え


Blenderへインポート時に材質の並び方が変わってしまっているので、モデルによってはテクスチャの透過順などで不具合が出てしまいます。
このため、手動で修正します。

剛体の非衝突グループなどの修正


PmxView上で[F9]キーを押してTransformViewウインドウを表示させて、モードリアルタイム更新をクリックして物理演算を動かしてみます。
髪の剛体が衣服や体の剛体と適切に衝突しているか(貫通していないか)や、暴れまわっているパーツがないかなどを確認します。
必要に応じてPmx編集画面の剛体タブやJointタブから該当する剛体を修正します。

材質設定のコピー

マテリアルの割り当てとUVの修正など / ”辺ループのブリッジ”で作られたメッシュ部分に新規マテリアル(材質)を割り当てる場合を行った場合、PmxEditorで新規マテリアル(材質)の材質設定を体の材質からコピーします。

PmxEditorでエクスポートしたモデルを開き、材質タブから体の材質を右クリックしてメニューから材質のコピー(名称以外)を選択し、新たに作った首の材質で右クリックのメニューから材質の貼り付けを行います。
新たに作った首の材質のテクスチャ/メモTex:にBlenderで作ったテクスチャを割り当てます。

PMXデータの状態検証


PMXデータの状態検証で異常がなければモデルを別名保存します。
(モーフやボーンの表示枠への未登録、表示枠への重複登録の修正、同名モーフをまとめる、などを忘れずに)

顔と体の色を合わせる(テクスチャの修正)

PmxEditor上で材質の設定を修正しましたが、テクスチャを修正しないと首先と頭部の付け根の色、顔と体で肌の明るい所の色や体のテクスチャに書き込まれた陰影色が合いませんのでこれを修正します。
方法はいくつかあり、それぞれに長所短所があります。

通常、いくつかの方法を併用します。
頭の付け根と首先だけ、色を合わせます。

長所:簡単で手間がかかりません。
短所:モデルによっては顔と体の明るい所の色(肌の色)と陰影色が違い、違和感があります。

頭部(顔)の陰影色が塗られた部分と体全体を顔の肌の色で塗り潰します。

長所:MMDのシェーダーやスフィア、Toonの設定などにもよりますが、簡単に頭部と体の違和感がなくなります。
短所:シェーダーやスフィア、Toonの設定次第ですが、場合によっては立体感に欠けます。また、体のテクスチャに書き込まれた乳首などはGIMPなどで合成する必要があります。

体のテクスチャの肌の色を顔の肌の色で置き換え、さらに体テクスチャの陰影色に顔テクスチャ(または頭部モデルの体テクスチャ)の陰影色で着色し、合成します。

長所:体の立体感や体テクスチャに書き込まれた陰影を残しつつ、肌の色や陰影色を合わせられます。
短所:ちょっと手間がかかります。頭部と首のつなぎ目は他の手段で修正する必要があります。体テクスチャの陰影を使うので頭部モデルのテクスチャの陰影の塗り方によっては違和感が出ます。(例えば、顔がセルルック調の陰影で体のテクスチャがリアル調な陰影で塗られた場合など)

体のテクスチャに(場合によっては顔のテクスチャにも)対し、顔テクスチャ(または頭部側モデルの体テクスチャ)の色でAOノードとカラーランプノードを使ってベイクし、新たに陰影を作ります。

長所:体(と場合によっては頭)のテクスチャの陰影を作り直すので、頭部と体の陰影の塗り方が異なっていても違和感がなくなります。
短所:体の乳首(と、頭部もする場合は顔のテクスチャにチークなどが書いてある場合はその部分)などはGIMPなどでベイクしたテクスチャと合成する必要があるなど、手間がかかります。

境目だけを修正する

頭の付け根と首先だけ、色を合わせます。
この方法だけでは頭部と体で違和感が出るのであまりお勧めしませんが、主に他の方法と併用します。

【MMD】MMDモデルのテクスチャ改変など【GIMP】頭部と首先のつなぎ目を合わせるをご覧ください。

一色にする(陰影をなくす)

頭部(顔)の陰影色が塗られた部分と、体全体を顔の肌の色で塗り潰します。
シェーダーなどの設定やスフィア、Toon次第では陰影色がなくてもそれらしく見えますが、元の立体感がなくなります。


頭部と首先のつなぎ目を合わせるを参考に顔のテクスチャの肌の色(一番明るい所、陰影が書き込まれていない所)をスポイトし、その色で塗りつぶした一色のテクスチャ(体のテクスチャのベースにする)と、顔の陰影部分を塗りつぶした顔テクスチャをそれぞれ作ります。
テクスチャに書き込まれた乳首などの合成
この方法では当然ながら、体のテクスチャに書き込まれた乳首などが消えてしまいます。
このため、【MMD】MMDモデルのテクスチャ改変など【GIMP】 / テクスチャに書き込まれた乳首などの合成を行う必要があります。

GIMPなどの画像編集ソフトでテクスチャを修正して陰影を残す

体のテクスチャの肌の色を顔の肌の色で置き換え、さらに体テクスチャの陰影色に顔テクスチャ(または頭部モデルの体テクスチャ)の陰影色で着色し、合成します。
詳しくは【MMD】MMDモデルのテクスチャ改変など【GIMP】/ 顔と体の陰影色を合わせるをご覧下さい。

この方法では顔と体の肌の明るい所と陰影部分の色合いが揃いますが、頭部モデルと体モデルで元のテクスチャに書き込まれた陰影の強度が異なるため、この修正方法だけでは頭の付け根と首先の色が揃いません。
このため、境目だけを修正するも併用します。

また、この修正方法だと体のテクスチャに書き込まれた乳首部分の色が元の色から変わってしまいます。
元の乳首の色にする場合は【MMD】MMDモデルのテクスチャ改変など【GIMP】 / テクスチャに書き込まれた乳首などの合成を行います。

BlenderでAOとカラーランプノードを使って新たに陰影を作る

体のテクスチャ対し、AOノードとカラーランプノードを使って顔テクスチャ(または頭部側の体テクスチャ)の色でベイクし、新たに陰影色を書き込みます。

この方法でも体のテクスチャに書き込まれた乳首などが消えてしまいます。
このため、【MMD】MMDモデルのテクスチャ改変など【GIMP】 / テクスチャに書き込まれた乳首などの合成を行う必要があります。

また、頭部側も同様の手法で新たに陰影を作らない場合、境目だけを修正するを行う必要があります。


Blenderへモデルをインポートします。
テクスチャをベイクするだけなのでアーマチュア(ボーン)や、物理等は不要です。(メッシュのみで良い)


サイドバー→MMDタブ→モデル設定メッシュ:マテリアルで分離でMMDの材質単位でメッシュオブジェクトを分離させます。


体と頭部のメッシュオブジェクトを[Shift]キーを押しながら複数選択します。


[Ctrl]+[I]キーを押して選択範囲を反転させます。


[X]キーからベイクするのに不要なメッシュを削除します。


トップバーからShadingタブを開き、中央下部のシェーダーエディター上で[HOME]キーを押してノードを表示させます。


ェーダーエディター上で[Shift]+[A]キーから入力アンビエントオクルージョンを、コンバーターカラーランプシェーダーディフューズBSDFをそれぞれ追加し、上記画像の通りに接続します。


[Shift]+[A]キーから、テクスチャ画像テクスチャを選択して画像テクスチャノードを追加します。
このノードは他のノードと接続しません。
画像テクスチャノードの新規をクリックして新規テクスチャを作成します。


画面左側の画像エディターをペイントモードにし、[N]キーを押してサイドバーを出してリンクする画像を閲覧欄から頭部(顔)のテクスチャを開きます。


まずは顔の陰影色(暗い影の所)を[S]キーで色を取得します。
サイドバーのカラーピッカー上で[Ctrl]+[C]キーでコピーしてカラーランプノードの黒い所に[Ctrl]+[V]キーでペーストします。
次にカラーランプの白いストライプをクリックしたうえで、今度は顔の陰影の塗られていない所(明るい所)の色を取得し、同様にサイドバーのカラーピッカー上で[Ctrl]+[C]キーでコピーしてカラーランプノードの白いところにペーストします。

カラーランプの左側のストライプ(陰影色になっている方)の位置0.5程度にすると良いかもしれません。


レンダープロパティを開き、レンダーエンジンCyclesにします。
ベイク項目のベイクタイプディフューズにし、影響寄与からカラーのみにチェックを入れます。


ベイクする前に念の為、画像テクスチャノードをクリックします。
※最後に選択された画像テクスチャノードにベイクされるため

あとはベイクボタンをクリックしてベイクします。


いい塩梅にベイクできたら、画像エディターのアイコンから画像名前を付けて保存...で保存します。

首(頭)ボーンのウェイト修正

モデルの構造などにもよりますが、首や頭のボーンを動かした際に歪な感じになる事がありますので、これを修正します。


上記画像のオプションでインポートしました。


サイドバー→MMDタブ→モデル設定可視性:からアーマチュアを非表示にします。


さらに、体側の元モデルを追加でインポートします。
こちらも、サイドバー→MMDタブ→モデル設定可視性:からアーマチュアを非表示にします。


体側の元モデルのスケールを[S]キー→[テンキーの数値入力]で、体モデルのスケール変更の際にメモしておいた物にします。


[Shift]キーを押しながら、体側の元モデル→ウェイトを修正するモデルの順に選択します。


[Ctrl]+[TAB]キーからウェイトペイントモードへ入ります。


トップバー下のウェイトからウェイト転送を選択します。


3Dビュー左下のメッシュデータの転送オペレーターを開き、転送元レイヤーの...名前に、対象レイヤー...にし、3Dビューの何もない所をクリックして確定します。
次に、トップバー下のウェイトからウェイト転送からメッシュデータの転送オペレーターの対象レイヤー...にします。


[Ctrl]+[TAB]キーを押してオブジェクトモードへ戻り、修正したモデルをアウトライナーから選択してサイドバーのエクスポートからエクスポートします。

あとはPmxEditorなどで動作確認して問題がなければOKです。

Menu

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

Blender 2.9 LTS


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

エンコード

コーデック

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

その他

サウンド編集ソフト

AD

AD

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