MMD紳士動画製作wiki - Blenderを利用したモデル改造
MMDモデルをBlenderに読み込ませるためのアドオン導入を解説します
ただし、Blenderの基本的な知識、使い方、日本語化等は他の入門者向けサイト様の方がわかりやすくて詳しいので"Blender 入門"等で検索するのをおすすめ

いくつか入門動画を紹介しておきます。
Blenderを用いたMMD・紳士向けテクニックをさらに知りたい方は
モデルの規約によっては改造だけでなくMMD以外のソフトウェアにモデルを持っていくこと自体を禁止しているものもあります。ご注意ください!!


Blenderとは

モデルを作るモデリングもできるしそれを動かすアニメーション、その結果を出力するレンダリング、
簡単な動画編集までできるフリー&オープンソースで開発されている総合3DCGソフトウェア

ごく簡単に言えばMikuMikuDanceとPmxEditorを足して高機能にしたもの

Blenderのインストール

公式サイト 上の[Download]より該当するOSのInstaller Verがダウンロードできますが、別Verとも同居できるZIP版がおすすめ
[Download Blender] 下の[macOS,Linux, and other versions]からZIP版(2018/08/07現在ver2.79b)をダウンロードし、適当なフォルダに解凍すればOK
フォルダ内の"blender.exe"を実行すればBlenderを起動できる

もし起動できない場合、パスに全角文字が含まれているとダメな事があるので解凍場所を変更すれば行けるはず

日本語化等

ぶっちゃけ他のサイト様の方が詳しい
ただ、日本語化する際は[新規データ]は押さない方がいいらしい
それと、[File] -> [User Preferences..(ユーザー設定...)] の[Themes(テーマ)]タブのVertex(頂点)の色をグリーン等にしておくと見やすいのでおすすめ

アドオンの導入(blender_mmd_tools)

Blenderは標準では.pmxが読み込めないのでアドオンを導入する必要がある
.pmxを読み書きできるアドオンは複数あるが現在も改善が進み、おそらくもっとも多機能(.vmdも読める等)なblender_mmd_tools(by powroupi)を使う
なお、blender_mmd_toolsはこちらの方が先に作られたがその後更新が止まり、別の方がフォークしたのが上記のアドオンである
つまり同名のアドオンが2つあり一方は更新が止まってるので注意されたし
なお、アドオンの詳細な使い方などはgithub内のwikiのこちらのページ(Documentation.ja)が非常に参考になるので一度目を通して置くと良い
その他ページは英語だが暇があれば自動翻訳をかけてでも読んでおくとよい(特にこことか

・上記のgithubの右にある緑色の[Clone or download]ボタンを押し、[Download ZIP]よりダウンロード

・解凍してできたフォルダ内の"mmd_tools"フォルダを [Blender zipの解凍フォルダ] / [ver] /scripts/addons/ へコピーする
 (2018/08/07現在なら"blender-2.79b-windows64\2.79\scripts\addons")
・Blenderを起動し[ファイル] -> [ユーザー設定...] -> [アドオン]タブの検索欄から"mmd"と入力して"Object: mmd_tools"左のチェック欄をオンにして下に出てきた[ユーザー設定:]から"Shared Toon Texture Folder"に"MikMikuDance_[version]/Data"を指定して左下[ユーザー設定の保存]をクリック
 (例としてD:ドライブ直下にMMDを置いている場合 "D:/MikuMikuDance_v926x64/Data/")

アドオンの導入(Blender-CM3D2-Converter)

Blender-CM3D2-Converter
KISS社製3DアダルトゲームのMOD作成アドオンだが便利な機能が豊富でMMDのモデル改造に便利
導入方法はblender_mmd_toolsと同じなので省略させて
アドオンの詳細はgithubへ

アドオンの導入(ShapeKey-Helpers)

ShapeKey-Helpers
シェイプキー(モーフ)があるオブジェクトを編集(含む頂点削除)するとシェイプキーが壊れてウニのようになってしまうのを防ぐアドオン
使い方は新たなシェイプキーを作ってから頂点編集などを行い、オブジェクトモードで新しいシェイプキーを選択した状態で[▼シェイプキー] -> [+] 下の [▼] から"Apply Selected shapekey as Basis"をクリック


新たなシェイプキーの状態をBasisとしたオブジェクト(オブジェクト名 *_Applied_Shape_Key)が追加されるので元のオブジェクトを削除して完成

アドオンの導入(Yet Another Vertex Normal Editor (Y.A.V.N.E.))

Yet Another Vertex Normal Editor (Y.A.V.N.E.)
法線を編集するアドオン
詳細は上記githubページにて

実際にBlenderでモデルをInport / Export してみる

インポート前にPmxEditorから[ファイル(F)] -> [PMXデータの状態検証(F)]でモデルのエラーの確認&修正をしておくこと!

Inport

[ファイル] -> [インポート] -> [MikuMikuDance model (.pmd, .pmx)] または、[ツールシェルフ(Tキーで表示/非表示)] -> [MMD]タブのModel:Importからモデルファイルを指定して読み込むが読み込み時のオプションを指定できる

ファイルを指定する画面になったら左下の[Import Model File (.pmd, .pmx)ウインドウで[拡大縮小倍率:] を”0.20”[Clean Model] にチェックを入れるのをおすすめする(各オプションの詳細はこちら

Export

[ファイル] -> [エクスポート] -> [MikuMikuDance model (.pmd, .pmx)] または、[ツールシェルフ(Tキーで表示/非表示)] -> [MMD]タブのModel:エクスポートからモデルファイルをエクスポートできる
エクスポート出来ない場合、ボーンやオブジェクトを全選択(Aキー)するとできる

エクスポート時のオプションとして[拡大縮小倍率:] を”5.00”(上記の0.20でインポートした場合)[Sort Vertices]欄を"カスタム"にするのをおすすめする(各オプションの詳細はこちら

Blender上でのモデル改造その前に

モデルオブジェクトを選択した状態で[ツールシェルフ(Tキーで表示/非表示)] -> [MMD]タブの[Separate By Materials]をクリックすることでオブジェクトが材質ごとに分割される


[ツールシェルフ(Tキーで表示/非表示)] -> [MMD]タブの[Bone Constraints] -> [適用]をクリックすることでblender上でMMDのボーン構造を適切に扱えるようになる(なおエクスポート時に自動的に解除される)



[プロパティシェルフ(Nキーで表示/非表示)] -> [MMD Shading] -> [GLSL]or[Shadeless] をクリックすることでMMD上でのモデル表示に近くなるかも

モデル改造編

ラティスを使った水着等のお着替え

Marbles様作クロスマイクロワンピースを--様作ハイフェンA2に着せてみる
まずPmxEditorでモデルを開き、水着をD&Dしてインポート方式[追加]で同名ボーンのマージにチェックを入れてOKをクリック、元の水着等の材質を削除して別名保存する
Blenderに移り、別名保存したモデルをインポート後、[Separate By Materials]で材質ごとに分割
追加した水着の紐と布,金属部を選択して"Ctrl+J"で統合
テンキーの"1" -> "5" -> "shift+C"で視点を揃え、"shift+A"から[ラティス]を追加
水着を囲むようにラティスを変形させ、[プロパティウインドウ]の[オブジェクトデータ] -> ラティスの U: V: W: を適度に増やす


水着を選択し[プロパティウインドウ]の[モディファイアー]から[追加] -> [ラティス]を選択し、オブジェクト:に先程作成したラティスを指定する


ラティスを選択し"TABキー"で編集モードに入りラティスの頂点をぐりぐり動かす("Zキー"を押してワイヤーフレームにしたりテンキーで視点を変えながらやるといいかも)


ほどよく変形できたらオブジェクトモードに戻り水着を選択し[プロパティウインドウ]の[モディファイアー]タブ下の[モディファイア矯正適用]をクリック
CM3D2用法線のブレンド率:を0に、適用するモディファイアの"mmd_bone_order_override"をオフ(薄いグレー)にしてOKをクリック


これで水着の変形は済んだのでラティスオブジェクトは削除して構わない
次にウェイト転送を行う
水着を選択して"Mキー"でいったん別レイヤーに移動させた後、水着に乗せるウェイトの乗っていそうな材質をオブジェクトモードで選択して"Ctrl+J"で統合
shiftキーを押しながら結合した材質 -> 水着の順で選択し、[プロパティウインドウ]の[オブジェクトデータ] -> 頂点グループの▼から[クイック・ウェイト転送]をクリック
[転送後にクリーンを実行] [転送後に割り当てのない頂点グループを削除] をそれぞれオフ(薄いグレー)にしてOKをクリック


これでウェイトが転送されたので後はエクスポートしてPmxEditor上で"PMXデータの状態検証”後、MMDで動作確認となる

ビキニ水着ポロりモーフを作ってみる

ビキニ水着がポロりするモーフをBlenderで作ってみる
なおBlenderではモーフのことをシェイプキーと呼ぶので注意

モデルをインポート後、[Separate By Materials]で材質ごとに分割、水着の紐と布を選択して"Ctrl+J"で統合
[プロパティウインドウ]の[オブジェクトデータ] -> [シェイプキー] 右の[+] ボタンを押すと"Basis"というシェイプキーができるが
このシェイプキーは基本となるシェイプキーなので編集しては行けない
(すでにモーフがついているorつけてからモデルの改造をしたい場合はShapeKey-Helpers アドオンを使う)
もう一度 [+] ボタンを押すと"Key 1"というシェイプキーができるのでこちらを選択した状態で頂点を動かしモーフを作る


シェイプキー"Key 1"を選択(ブルー)した状態で[TABキー] を押して編集モードに入り[Lキー]で布地部分を選択しプロポーショナル編集モードや[Rキー(回転)]などを駆使しメッシュを動かす


ある程度グチャグチャになってしまっても[▼シェイプキー] -> [+] 下の [▼] から[シェイプキーぼかし]である程度ぼかす事ができる


オブジェクトモードに戻り"key 1"を選択した状態で値:の数値を変化させてみてモーフの出来栄えを確かめる
希望通りできたら"Key 1"をダブルクリックして名前を変え、[ツールシェルフ] -> [MMD]タブの[▼Morph Tools] -> [▼]から作成をクリックしてMMDモデルの表示枠に登録する

乳首の追加(規約に注意!!)


[alt] + [右クリック]で周辺を選択


[E]キーを押してマウス右クリックでキャンセル後に[S]キー + マウスドラッグでサイズを縮小させる


視点を変えて[alt] + [S]キーを押した後にマウスドラッグで法線方向に移動
この際、[shift]キーを押すとストロークを緩やかにできる
途中、ガタツキが見られたら[W]キーから[スムーズ]で修正
これを繰り返し、乳輪をつくる


乳首部分を作るには[E]キーを押してマウス右クリックでキャンセル後に[S]キーで少しだけ縮小させた後、[alt] + [S]キーで移動させる
移動後にもう一度[alt] + [S]キーを押して少し尖らせてもよい


最後に[E]キーを押してマウス右クリックでキャンセル後に[alt] + [M]キーを押して[中心に]をクリックで完成


乳首中心の頂点が選択された状態で[ctrl] + [+]を押して今回作成した乳首周辺を選択後、[P]キーから[選択物]を押して分離
分離した乳首オブジェクトをモディファイアの[ミラー]で反対方向にも作成される(まだ[ミラー]モディファイアは適用はしない)
法線の修正とマテリアル(材質)の分離とUV展開
Y.A.V.N.E.を使って法線を修正する


編集モードで縁を[alt] + [右クリック]で選択し、ツールシェルフのシューディング/UVから▼Y.A.V.N.E. のTransfer Shadingで胸の材質を選択しTransfer Shadingを押す
これで法線が修正されるはず


オブジェクトモードでプロパティウインドウのヘッダーから[マテリアル]をクリックして既存のマテリアルを右横の[-]ボタンで削除
次に胸(体)のオブジェクトを選択してマテリアルタブの▼から[マテリアルをコピー]をクリック
乳首オブジェクトに戻りマテリアルタブの[新規]を押して▼から[マテリアを貼り付け]をクリック


[マテリアル]タブの下の方▼MMD Textureからテクスチャ:の欄の横[X]ボタンを押して空欄にしておく


左下ヘッダーの[メッシュ]から[UV展開] -> [展開]をクリック
ツールシェルフの▼展開から余白を5ぐらいに
これでUV展開は終了


[テクスチャペイント]をクリック
左ツールシェルフのツールから[ペイントスロットを追加]をクリック デフューズ色をクリック 
”生成された種類”がブランクである事を確認して[OK]


左下ヘッダーから[UV/画像エディター]を選択、モードをペイントにして胸周辺の色を[S]キーでスポイトする


左下ヘッダーから[3Dビュー]に戻り[テクスチャペイント]をクリック
3Dビューにおけるシェーディングをテクスチャにする
ツールから▼ブラシをFillにしてカラーグリッド下のスポイトした色を選択し、オブジェクトを数回クリック


ブラシをTexDrawにする
カラーグリッドを弄って適当なピンクにし、ブラシの半径を100~130px程度に拡大して乳首正面から1,2回クリックして塗る
その後ブラシの半径を50~60程度にして乳首正面から(視点を変更せずに)1,2回クリックして塗る



左下ヘッダーから[UV/画像エディター]を選択、画像アイコンをクリックして恐らくMaterial...となっている今回書いたテクスチャを選択
[画像*]から[画像を別名保存]で保存する


オブジェクトモードに戻りツールシェルフの[MMD]から[Attach Meshes to Model]をクリック
後はツールシェルフの[MMD]からModel:エクスポートすればよい

PMXEditor上で材質色等を修正(体と同じに)すれば完成
MMD上で追加した乳首と体の間にエッジのような線が見えてミップマップを無効にすると線が消える場合、乳首のUVの余白を体の色で塗ると改善する

乳首用ノーマルマップを作る

上記の方法で乳首は作れたが形状的にはただの突起に過ぎない
そこで乳首用のノーマルマップを作り、よりリアルにする(ただし、好みによっては上記のままでいいかも)


blenderにモデルを読み込ませ、[Separate By Materials]を押して材質ごとに分離した後、シェーディングをマテリアルに設定する


[shift]+Aキーを押してオブジェクト追加メニューを出し、[ランプ]->[ヘミ]でヘミランプを追加する


邪魔なボーンをHキーで一時的に非表示にして[オブジェクトモード]欄をクリックして[テクスチャペイント]を選択しテクスチャペイントモードにする


左上のツールシェルフから[スロット]タブを開き[テクスチャペイントスロットを追加]をクリック、[ノーマル]を選択


カラーバーを上まで上げて白色にして[OK]
幅と高さがデフォルトの1024pxのままだとノーマルマップがガタガタになるので倍の2048pxぐらいがいい(4096pxの方がいい?)


”利用可能なペイントスロット:”から先ほど作ったテクスチャを選択し[ツール]タブに移動する


[ツール]タブのカラーパレット右下の回転ボタンをクリック(ショートカットキー X)して黒色にする
これでノーマルマップを作る準備ができた


デフォルトの[TExDraw]ブラシの半径を適度に調整し、適当に”Y”や”>-<”型に書き込んでいく


ブラシを[Soften]に変更し半径を先ほどより大きくして塗るとボカシが入るので適度に使う
時折ズームアウトしたり違うアングルから見るとよい


右のプロパティウインドウからレンダータブの下の方にあるベイクメニューで、”CM3D2用ベイク”すぐ下の[新規画像]をクリック
ここのテクスチャサイズは1024pxで問題ない
”ベイクモード:”を”ノーマル”にして[ベイク]ボタンをクリックするとノーマルマップがベイクされる


UV/画像エディターから[画像*]->[画像を別名保存]をクリックしてベイクしたノーマルマップイメージを保存する

あとは各シェーダーで乳首材質に作ったノーマルマップを適用すればいい
ただし、至近距離では粗さが目立つので注意

上がノーマルマップ適用前、下が適用後(N3+CShaderを使用)