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

成人向けの内容を含みます!未成年の方はご覧にならないでください!

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

MMDモデルの頭部と体を挿げ替えます。

主に衣装の変更や、モデルに中身(乳首や性器)を追加するにも該当部分がごっそり無いモデルに対して行います。

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

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

このページではAスタンスからTスタンスへ、TスタンスからAスタンスへとTransformViewの現在の形状で保存で保存しますが、これを行うと不可逆的にポリゴンが変形するようです。(詳しくは【MMD】現在の形状で保存/モデル更新でのボーンの曲げ伸ばしとポリゴンの歪み

これを避けたい場合は、Tスタンスへ形状保存せず、Aスタンス(デフォルト)のまま作業を行ってください。(頭身を合わせる際に肩の位置で合わせるなど)


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

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

Blenderではmmd_tools AddonY.A.V.N.E.Blender-CM3D2-Converterを利用します。
導入についてはBlender 2.8 addonをご覧下さい。


モデル(.pmx)とテクスチャを同じフォルダにコピーする


解凍したファイルやテクスチャを含むフォルダをどちらかのフォルダへコピーします。
今回は/こだまちゃんVer1.0配布の中のファイル(フォルダ)を/磯風へコピーしました。

頭部モデル

まずはTスタンスにします。
  • A2T&T2Aモーフの作成

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

PmxView上でF9キーを押してTransformViewウインドウを表示させて念の為、編集SDEF変形のスケール有効にチェックを入れます。


右の操作IK - ON/OFF下のIKをすべてOFFにします。
A2Tモーフを1に設定し、TransformViewウインドウの左上のファイル(F)現在の変形状態でモデル形状を更新(U)をクリックしてモデルをTスタンスにします。

このモデルは後で使うので別名で保存しておきます。

  • 不要なパーツ等の削除
PmxEditorで頭部元となるモデルを開き、不要な材質、ボーン、モーフ、剛体、Jointを削除しますが、Joint→剛体→表示枠→材質→ボーン→モーフの順に削除する事をお勧めします。
  • Jointの削除

Jointについてはや、例えば頭についているリボンのJointなどを残し、それ以外を削除します。
  • 剛体の削除

剛体も同様にに関係する剛体を残しますが、それに加えての剛体も残します。(でないと髪の物理が面倒です)
  • 表示枠の削除

[表情]以外のボーンなどを表示枠から削除します。
  • 材質の削除

PmxView上でF3キーを押して絞り込み表示(マスキング)ウインドウを表示させ、材質の一覧から不要な材質(体や服など)をチェックOFF(またはON)にして、選択材質のパーツ削除(P)(または非表示材質のパーツ削除(V))を選択して不要な材質を削除します。

ついでに残す材質も材質名をわかりやすいものに変えておくといいかもしれません。
  • ボーンの削除

ボーンはもちろん、両目ボーンや髪に関係するボーンも残します。
ボーンも残します。
  • モーフの削除

不要なモーフを削除します。
通常、材質を削除した段階でその材質の頂点モーフや材質モーフは削除されますが、グループモーフやボーンモーフは残りますのでそれらを削除します。
  • PMXデータの状態確認

Pmx編集ウインドウのファイル(F)PMXデータの状態検証(F)PMXデータの状態確認ウインドウを表示させ、異常がないか確認します。
特に物理周り(剛体Jointの欄)をよく見て異常がないのを確認します。

異常がなければ頭部のみとなったモデルを別名保存します。

体モデル

こちらもPmxEditorで不要な材質、ボーン、モーフ、剛体、Jointを削除します。
  • Jointの削除

体のJoint(胸のJointなど)は残し、髪などのJointを削除します。
  • 剛体の削除

剛体も同様に体(と胸)の剛体を残し、頭や髪の剛体を削除します。
  • 表示枠の削除

目や髪などのボーンなどを表示枠から削除します。
  • 材質の削除

PmxView上でF3キーを押して絞り込み表示(マスキング)ウインドウを表示させ、材質の一覧から不要な材質(頭や首)をチェックOFF(またはON)にして、選択材質のパーツ削除(P)(または非表示材質のパーツ削除(V))を選択して不要な材質を削除します。
  • ボーンの削除

髪に関係するボーンを削除します。(両目なども忘れずに)
ただし、頭と首ボーンは削除せず、残します。
  • モーフの削除

不要なモーフを削除します。
こちらも頭部モデル同様、空のグループモーフなどが残りますのでそれらを削除します。
  • PMXデータの状態確認
頭部モデルと同じくPmx編集ウインドウのファイル(F)PMXデータの状態検証(F)PMXデータの状態確認ウインドウを表示させ、異常がないか確認します。
  • A2Tモーフの作成と適用

体モデルもTスタンス化します。
上記の頭部モデルの方法を参考にしてください。

体モデルのサイズ調整

下記の内容は古いものです。PmxEditorのSystemプラグインを利用してスケール変更した方が楽です。


Tスタンス化して別名保存した頭部の方のモデルをPmxEditorで開き、PmxViewウインドウの下部、をクリックしてパースを切り、テンキーの2を押して視点を真正面からにします。

靴を履いたモデルから素足モデルへの挿げ替えの場合



PmxViewウインドウまたはPmx編集ウインドウに上記の体だけとなったモデルをD&Dして%追加%します。
この際、サイズ任意1となっている値を調整します。

まずは1で読み込んでみて腕の位置が高ければ1以下に、低ければ1以上にします。


高すぎたり低すぎた場合はCtrl+Zキーを押して体モデルを読み込む前に戻し、サイズを調整しながら何度か追加して頭部モデルの腕と体モデルの腕ができるだけ重なるようにします。
きれいに重なったらその時のサイズ(倍率)を覚えておきます。

体モデルへ頭部だけのモデルを追加


PmxEditorでいったんモデルなどを開いて、体モデルをPmxEditorへ新規に読み込ませます。
その際、モデルサイズを先ほどの値にして読み込みます。


PmxView下部のボタンをクリックしてパースを切り、テンキーの2を押して真正面からの視点にします。
PmxView上部の選択:Jを押して頂点、面、ボーン、剛体、Jointすべてを選択可能にし、Ctrl+Aですべて選択してからF4キーを押してオブジェクト操作ウインドウを表示させます。
オブジェクト操作ウインドウの選択オブジェクトの記憶下のMS(記憶)1を押して体の頂点、面、ボーン、剛体、Jointすべての選択状態を記憶させます。


オブジェクト操作ウインドウの値指定から移動下のX軸に20と入力して移動ボタンをクリックします。


PmxViewウインドウまたはPmx編集ウインドウに頭部だけのモデルをD&Dして追加します。


追加した頭部の頂点、面、ボーン、剛体、Jointをボックス選択し、オブジェクト操作ウインドウの選択オブジェクトの記憶下のMS(記憶)2を押します。

靴を履いたモデルから素足モデルへの挿げ替えの場合



オブジェクト操作ウインドウの選択オブジェクトの記憶下のMR(選択)1を押して体の頂点、面、ボーン、剛体、Jointを選択します。
オブジェクト操作ウインドウから、値指定移動下のX欄に-20と入力して移動ボタンをクリックします。


オブジェクト操作ウインドウの選択オブジェクトの記憶下のMR(選択)2を押して頭部の頂点、面、ボーン、剛体、Jointを選択します。
テンキーの6を押して真横からの視点にし、マウスホイールとホイールクリックで首元へズームします。
PmxViewウインドウの下部のJoint、剛体、選択面、選択頂点の表示をoffにし、mode ▼Wire(W)にします。

オブジェクト操作ウインドウから移動の下、Zをドラッグして頭を移動させ、体側の首の前と頭側の首の付根正面の位置を合わせます。
Shiftキーを押しながらマウスをドラッグすると大きく移動します。Ctrlキーを押しながらドラッグすると小さく移動します。
この時、頭部をX軸やY軸に移動させてはいけません。あくまで前後を合わせるだけです。


位置が決まったら、Pmx編集ウインドウのファイル(F)PMXデータの状態検証(F)PMXデータの状態確認ウインドウを表示させ、異常がないか確認します。
剛体の重複などをチェックします。


Tスタンスを直します。
PmxView上でF9キーを押してTransformViewウインドウを表示させ、右の操作IK - ON/OFF下のIKをすべてOFFにします。
T2Aモーフを1に設定し、TransformViewウインドウの左上のファイル(F)現在の変形状態でモデル形状を更新(U)をクリックしてモデルをAスタンスに直します。


TransformView上で物理をONにしてセンターや首、頭ボーンなどを弄ってモデルを動かし、物理周りがおかしくないか確認します。
首のウェイトは後ほど修正します。

異常がなければモデルを別名保存します。

Blenderへ読み込ませて首の修正

このままでは頭部と首の間が空いているのでBlenderへ持っていって修正します。

Blenderへモデルをインポートする

Blender 2.8 mmd_tools Addon/インポートをご覧下さい。
インポート時の拡大縮小倍率とエクスポート時の拡大縮小倍率にはご注意下さい。


今回はインポート時の拡大縮小倍率を0.08にしました。
また、Blenderへ剛体とJointを含むモデルをインポートし、エクスポートすると剛体やJointの位置や設定が微妙に変わりますので今回は物理(剛体とJoint)は読み込まず、後でPmxEditorでマージします。


インポートしたらまずはメッシュの編集に邪魔なボーンを選択し、Hキーを押して非表示にします。(Alt+Hキーで表示させれます)
次にオブジェクトを選択してプロパティシェルフからMMDタブ→Separate By Materialsでモデルの材質ごとにオブジェクトを分割します。
プロパティシェルフが表示されていない場合は、画面中央にマウスカーソルを持っていき、Nキーを押すと表示されます。

首の修正


邪魔なオブジェクト(材質)を選択してHキーを押して非表示にします。(髪など)


頭オブジェクトと体(首)オブジェクトをShiftキーを押しながら選択してTABキーを押し、頂点編集モードへ入ります。
メッシュが重なり合って見ずらい場合はZキーを押して表示をワイヤーフレームにするか、Alt+Zで透過表示に切り替えます。


Oキーを押してプロポーショナル編集を有効にし、Altキーを押しながら首の縁をクリックで選択します。


Alt+Sキーを押して法線方向へ頂点を移動させます。
プロポーショナル編集のデフォルトでは範囲が広いのでマウスホイールで影響範囲を縮小させてから首の縁を縮小させます。
ある程度でいいです。


テンキーの3を押して真横からの視点に切り替え、さらにテンキーの5を押してパースを切ります。
Rキーを押して選択頂点を回転させて首の縁の向きを頭部へ合わせます。


Eキーを押して頂点を押し出し、マウスを動かして適当な位置に持っていきます。


トップバーのスナップボタンをクリックしてスナップを有効化し、その右のボタンをクリックしてスナップ先を頂点にします。
これで頂点を移動させた際にほかの頂点にくっつきます。


頂点をクリックして選択し、Gキーで移動させます。スナップが有効なので頭部の頂点へくっつきます。
頂点が足りない所はその両端の頂点をShiftキーを押しながら選択して右クリックから細分化を選んで頂点を増やします。(ナイフ機能で増やしてもいいです)


左右対称のモデルの場合、トップバー右のX軸対称編集機能を有効にすると楽です。
メッシュがスムーズでない所は該当頂点を選択して、プロポーショナル編集(Oキー)+法線方向へ移動(Alt+Sキー)で修正します。


できました。

次に法線を修正します。

法線の修正


いったん、TABキーを押してオブジェクトモードへ戻り、体オブジェクトだけを選択してもう一度TABキーを押して編集モードへ入ります。
Altキーを押しながら首の縁をクリックで選択し、プロパティシェルフのツールY.A.V.N.E.Transfer Shading下の一覧から顔オブジェクトを選択し、Transfer Shadingボタンをクリックします。


TABキーを押してオブジェクトモードへ戻ります。ソリッドビューで法線が修正されているのが確認できます。

首のウェイトの修正


まずは体オブジェクトを選択し、TABキーを押して編集モードへ入り首の縁の頂点を選択します。もう一度TABキーを押してオブジェクトモードへ戻ります。
次に頭オブジェクトを選択し、こちらも頭の付け根の頂点を選択します。TABキーを押してオブジェクトモードへ戻ります。

オブジェクトモードで、Shiftキーを押しながら頭オブジェクト→体オブジェクトの順に選択し、体オブジェクトのオブジェクトデータプロパティから頂点グループの右下の∨ボタンからクイック・ウェイト転送を選択します。

選択頂点のみ(参照)選択頂点のみ(対象)ONに、参照要素:最も近い頂点に、転動後にクリーンを実行転送後に割り当てのない頂点グループを削除OFFにしてOKをクリックします。

これで頭オブジェクトの選択した頂点のウェイトが体オブジェクトの選択した頂点へ転送されました。

モデルのエクスポート

Blender 2.8 mmd_tools Addon/エクスポートをご覧下さい。
インポート時の拡大縮小倍率とエクスポート時の拡大縮小倍率にはご注意下さい。
インポート時の拡大縮小倍率を0.08にした場合、エクスポート時の倍率は12.5に設定する必要があります。

上書き保存せず、別名で保存して下さい。

PmxEditorで材質とボーンのマージ、削除

まず、Blenderで修正する前の.pmxファイル(体モデルへ頭部だけのモデルを追加で別名保存した.pmxファイル)をPmxEditorで開きます。


PmxEditorの材質タブからすべての材質を削除します。


不要なモーフも削除します。
ただし、ボーンモーフは必要に応じて残します。


BlenderでエクスポートしたファイルをPmxEditorに追加します。


Pmx編集ウインドウのファイル(F)PMXデータの状態検証(F)PMXデータの状態確認ウインドウを表示させ、異常がないか確認します。

また、TransformViewで各モーフ類のチェックも行い、異常がなければモデルを別名保存します。

体と頭の色を合わせる


左がオリジナル、右がすげ替えたモデルです。

頭の付け根の色があってませんので修正します。

材質色などの設定のコピー

色を修正する前に、材質に設定された拡散色や反射色などを頭部と体で合わせます。


PmxEditorの材質タブから体側の材質を選択し、割り当てられたテクスチャ名(パス)をメモ帳などにコピーしておきます。


頭側の材質を右クリックして材質のコピー(名称以外)をクリックしてクリップボードへコピーします。


体側の材質を選択して右クリックから材質の貼り付けで設定をコピーします。


メモ帳などにコピーしておいたテクスチャ名(パス)をTex:に貼り付けます。

テクスチャの修正

法線はBlenderで、材質の設定はPmxEditorで修正しましたが、テクスチャを修正しないと色が合いません。
方法はいくつかあり、それぞれに長所短所があります。

通常、いくつかの方法を併用します。

頭の付け根と首先だけ、色を合わせます。

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

頭部と体全体の陰影色を顔のベースカラーで塗り潰します。

長所:簡単に頭部と体の違和感がなくなります。Ray-mmdなどを使うならテクスチャの陰影色がなくてもそれらしく見えます。
短所:立体感に欠けます。

体のテクスチャのベースカラーを透明にして顔のベースカラーで塗りつぶします。体テクスチャの陰影色は残ります。

長所:体の立体感を残しつつ、色を合わせられます。
短所:ちょっと手間がかかります。つなぎ目は他の手段で修正する必要があります。

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

長所:立体感を出しつつ、頭部と体の色の違和感がなくなります。
短所:乳首などはGIMPなどでベイクしたテクスチャと合成する必要があるなど手間がかかりますし、つなぎ目は他の手段で修正する必要があります。

境目だけを修正する
頭の付け根と首先だけ、色を合わせます。
頭部と体で違和感が出るのであまりお勧めしません。

首先の陰影色をスポイトで取得して頭の付け根に塗ります。
PmxEditorのUV展開図出力プラグインとGIMPなどでもできますが、楽なBlenderで作業します。

ます、Blenderへインポートします。
テクスチャの修正が目的なので、インポートオプションはメッシュのみでOKです。

次にオブジェクトを選択してプロパティシェルフからMMDタブ→Separate By Materialsでモデルの材質ごとにオブジェクトを分割します。


体オブジェクトを選択し、トップバーからTexture Paintタブを開きます。
右側のウインドウでCtrl+TABキーを押して編集モードを選択し、Aで全選択します。
左側のテクスチャが表示されているウインドウにUV展開図が表示されます。


左側のテクスチャが表示されているウインドウでNキーを押してプロパティシェルフを表示させておきます。
首先の陰影色へマウスカーソルを持っていき、Sキーを押して色を取得します。


右側のウインドウでCtrl+TABキーを押してオブジェクトモードを選択し、頭オブジェクトを選択してCtrl+TABキーから編集モードに入り、Aで全選択します。
左側のテクスチャが表示されているウインドウのテクスチャを顔オブジェクトのテクスチャに変更し、ブラシサイズを調整して色を塗ります。


塗り終えたらトップバー下の画像から名前を付けて保存...でテクスチャを別名保存します。

あとはPmxEditorで別名保存したテクスチャを割り当てれば完成です。
一色にする(陰影をなくす)
頭部と体全体の陰影色をなくし、同じ色(顔のベースカラー)で塗り潰します。
ray-mmdなどのシェーダーを使うなら陰影色がなくてもそれらしく見えますが、元の立体感がなくなります。

こちらも楽なBlenderで作業します。


境目だけを修正するを参考に顔のベースカラー(一番明るい所)をスポイトし、体テクスチャの陰影を塗り潰します。
乳首などを塗り潰さないよう、気をつけましょう。
GIMPなどでベースカラーを透明にして陰影を残す
体のテクスチャのベースカラーを透明にして顔のベースカラーで塗りつぶします。体テクスチャの陰影色は残ります。


GIMPで体テクスチャを開き、顔テクスチャをレイヤーに追加しておき、目玉マークをクリックして非表示にしておきます。
メニューバーの色(C)から色を透明度に(A)...を選択します。


Color横のスポイトマークをクリックし、体テクスチャのベースカラーをスポイトさせて透明にします。


顔テクスチャを選択し、目玉マークをクリックして表示させて左側のスポイトアイコンを選択して顔テクスチャのベースカラーをスポイトします。


右下のレイヤー領域で右クリックして新しいレイヤーの追加(N)...を選択し、塗り潰し色Foreground colorにして先ほどスポイトで取得した色で新規レイヤーを追加します。


メニューバーのファイル(F)から名前を付けてエクスポート(X)...でエクスポートします。

これで顔と体のベースカラーが合いましたが、頭の付け根と首先の色合いが異なる場合は、境目だけを修正するを顔テクスチャへ行います。
Blenderへ持っていかなくてもUV展開図でどこが首先かわかっているならGIMPで作業できます。
BlenderでAOとカラーランプノードを使って新たに陰影を作る
体のテクスチャ対し、AOノードとカラーランプノードを使って顔テクスチャ(または頭部側の体テクスチャ)の色でベイクし、新たに陰影色を書き込みます。

境目だけを修正するを参考にBlenderへモデルをインポートし、材質(マテリアル)ごとにオブジェクトを分割します。


不要なオブジェクトを削除します。具体的には体以外を削除します。
体オブジェクトを選択し、Ctrl+Iで選択オブジェクトを反転させてXで削除します。
不要なオブジェクトがあるとほかのオブジェクトに影響されて望んだ通りにベイクできません。


レンダータブを開き、アンビエントオクルージョン(AO)にチェックを入れます。
EEVEEの設定なのでベイクに影響しませんが、マテリアルプレビューでAOの影響範囲を簡易的に確認するのに役立ちます。


レンダーエンジンCyclesにします。
ベイクの項目を開いてベイクタイプディフューズにして影響直接照明間接照明をOFFにします。(カラーのみONにします)

余白は適度に設定して下さい。大きすぎると被ってしまいますし、小さすぎるとUVシームの切れ目に線が出ます。


(画像には顔オブジェクトが写ってますが、本来は削除するものです)
トップバーからShadingタブを開いて体オブジェクトを選択します。
画面下部のシェーダーエディター上でShift+Aキーを押して入力アンビエントオクルージョン(AO)コンバーターからカラーランプシェーダーからディフューズBSDFを追加し、マテリアル出力へ画像の様にノードを接続します。


カラーランプノードの左端の黒い矢印を選択し、その下の黒い部分をクリックしてカラーを変更します。
まずはグリーン(R:0 G:1 B:0)などにして陰影色の及ぶ範囲を確認します。
左端の矢印の色が陰影色で右側の矢印の色がベースカラーです。


カラーランプ'ノードの両側の矢印の位置で陰影色が及ぶ範囲を調整できます。


左側の画像エディターをペイントにしてNキーを押してプロパティシェルフを出し、顔テクスチャ(または頭部側の体テクスチャ)を開きます。
テクスチャ上でベースカラー付近へマウスカーソルを持っていき、Sキーを押して色を取得し、カラーピッカーの上へマウスカーソルを持っていってCtrl+Cでコピーします。
カラーランプ'ノードの右側の矢印を選択し、その下のカラー部分にマウスカーソルを持っていってCtrl+Vで色をペーストします。

今度はテクスチャ上で陰影色(赤っぽい所)へマウスカーソルを持っていき、Sキーを押して色を取得し、カラーピッカーの上へマウスカーソルを持っていってCtrl+Cでコピーします。
カラーランプ'ノードの左側の矢印を選択し、その下のカラー部分にマウスカーソルを持っていってCtrl+Vで色をペーストします。


シェーダーエディター上でShift+Aキーを押してテクスチャ画像テクスチャを選択し、画像テクスチャノードの新規ボタンをクリックします。
名前を”body”とでもして32ビットFloatにチェックを入れます。



画像テクスチャノードは接続せず、そのままにしておきます。
色空間sRGBにします。

レンダータブからベイクボタンをクリックしてベイクを開始します。


ベイクが完了すると左側の画像エディターにベイクされた画像が表示されます。


ベイクされた画像を名前を付けて保存します。

このままだと頭の付け根と首先の色が合いませんので境目だけを修正するを参考にして下さい。

また、乳首の色が消えてしまっているので、GIMPなどで合成します。

元の体テクスチャをGIMPで開き、GIMPなどでベースカラーを透明にして陰影を残すを参考に乳首周辺の色を透明にします。


消しゴムツールを選択し、ブラシサイズを調整したら乳首以外の色を消しゴムで透明にします。


GIMPのウインドウに先ほどベイクしたテクスチャを読み込ませ、乳首テクスチャのレイヤーの下に配置します。


あとは、メニューバーのファイル(F)から名前を付けてエクスポート(X)...でエクスポートしてPmxEditorでエクスポートしたファイルを体材質に割り当てます。

Menu

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

エンコード

コーデック エンコードソフトウェア

その他

波形編集ソフト


【メニュー編集】

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