blenderを使ったMMDモデルのお着換え

モデルごとにいろんなことが異なるのであまり参考にならないと思いますが、blenderを使ったMMDモデルのお着換え方法を紹介します。

また、mmd_toolsというadd-onを使用していますので、それ前提の話です。

blenderを使ったことがある人向けの不親切な内容かと思います。

 

1. お着換え衣装および頭部モデルの準備

今回はAZさんのつなぎ衣装を使わせていただきます。

 

f:id:usausakokoko:20180702051621p:plain

また、頭部は自作のジョルノくんを使用します。
(あぁ、作り直したい...)

 

肌の色はGIMPなどを使って調整することができます。

これに関しては他のブログなどでも多く解説されているので割愛し、肌色の調整はすんだこととします。

 

 

2. 頭部モデルのimport

blenderを開き、File -> Import -> MikuMikuDance Modelを選択し、

頭部を使用したいモデルをimportします。

f:id:usausakokoko:20180702052040p:plain

f:id:usausakokoko:20180702052353p:plain

(このとき、Remove Doublesに✔して重複頂点を削除するのがおすすめです。)

 

 

3. 衣装モデルのimport

2と同じ要領で衣装モデルをimportします。

(今回はimport前に準標準ボーンなどを追加させていただきました。)

f:id:usausakokoko:20180702053933p:plain

blenderではテクスチャが見つからない場合このようなピンク紫色で表示されますが、
これは大概MMDと同梱のtoonを使用しているためで、exportしてMMDで開けばなんの問題もありません。

なので気にせずこのまま進めます。

 

 

4. 衣装モデルのサイズ変更

頭部モデルと衣装モデルを並べてみます。

f:id:usausakokoko:20180702054001p:plain

ほぼいいくらいの大きさですが、あえてちょっとサイズ変更してみます。

 

f:id:usausakokoko:20180702054017p:plain

衣装モデルのメッシュやアーマチュアの親となっているEmptyを選択し、S keyで拡大/縮小します。

今回は0.994倍にしました。

 

 

5. 頭部の切り離し

頭部を使用したいモデルを選択後、edit modeに入り、B key (box select), C key (circle select), L key (linked select) などを駆使し、頭部の頂点のみを選択します。

f:id:usausakokoko:20180702054424p:plain

 

選択後、P key -> Selectionで選択頂点を分離します。

f:id:usausakokoko:20180702054653p:plain

赤いアウトライン部分が分離した部分、オレンジのアウトライン部分が元のモデルです。

 

衣装モデルには頭や目のボーンがないことが多いと思いますので、それらのボーンも切り離します。

頭部を使用したいモデルのアーマチュアを選択後、edit modeに入り、首、頭、目、髪など頭部に関するボーンを選択後、P key で分離します。

f:id:usausakokoko:20180702055143p:plain

(このとき、すべてのボーンレイヤーが可視状態のほうがいいと思います。)

f:id:usausakokoko:20180702055356p:plain

赤いアウトライン部分が分離したボーン、オレンジのアウトライン部分が元のアーマチュアです。

 

 

6. 頭部の不要な部分を隠す or 削除する

頭部を使用したいモデルの体部分はこの後使用しないため非表示にします。

いらない胸部や首の頂点を完全に削除してしまってもいいのですが、ちょっと怖いのでmask modifier(指定した頂点グループを見えなくする)を使用します。

適当な名前の頂点グループを作成し(今回はMASKとしました)、隠したい部分の頂点を割り当てます。

f:id:usausakokoko:20180702055832p:plain

 

頭部モデルにmask modifierを追加し、頂点グループのところに先ほど作成したグループを設定、<->ボタンを押すとこんな感じになると思います。

f:id:usausakokoko:20180702060155p:plain

 

 

7. 衣装モデルの体系など調整

まず、首と頭の境目が目立たないように衣装モデルのほうの頂点を編集します。

f:id:usausakokoko:20180702061026p:plain

↑首と頭の間にすきまがあります。

 

モデルの頂点を編集する際は、Mesh optionsのX mirrorをオンにすると左右どちからを編集しても反対側にも反映されるので便利です。

また、Propotinal Editingを使用するのも大変おすすめです。

f:id:usausakokoko:20180702061324p:plain

 

f:id:usausakokoko:20180702061347p:plain

↑首を少し太くしました。

がっつり境目見えとるやん!って感じですが、MMDで躍らせてみるとじっくり見なければわかりません(適当)。

どうしても境目が気になる場合は首と頭の境目部分の頂点をマージすればいいと思います。

 

肩幅や腕の太さなどもお好みで調整します。

今回は襟を少し下げ、ウエストを少し細くし、手首を少し太くしました。

f:id:usausakokoko:20180702061951p:plain

このとき、S keyで拡大/縮小するよりも、Alt + S keyで法線方向に拡大/縮小すると頂点間の相対的な距離が変わらないためおすすめです。

 

 

8. アーマチュアの統合

まず、衣装モデルのほうで首ボーンや頭ボーンがある場合はそれらを削除します。

首や頭など不要なボーンを選択後、X key -> Delete Bonesで削除します。

f:id:usausakokoko:20180702062525p:plain

↑削除前

f:id:usausakokoko:20180702062544p:plain

↑削除後

 

次に、先ほど分離しておいた頭部モデルのアーマチュアを選択後、Shift keyを押しながら衣装モデルのアーマチュアを選択し、Ctrl + J keyで統合します。

f:id:usausakokoko:20180702062920p:plain

↑統合前

f:id:usausakokoko:20180702063000p:plain

↑統合後

 

このままだと、上半身2ボーンと首ボーンの親子関係がありません。

アーマチュアを選択後、edit modeに入り、首ボーンを選択後、Shift keyを押しながら上半身2ボーンを選択し、Ctrl P (Make Parent) -> Keep Offsetで、[上半身2] -> [首]という[親] -> [子]の関係をつくります。

f:id:usausakokoko:20180702063428p:plain

 

 

9. ウェイトの調整

頭部のarmature modifierを衣装モデルのアーマチュアに変更します。

f:id:usausakokoko:20180702064752p:plain

↑変更前

f:id:usausakokoko:20180702064809p:plain

↑変更後

 

これで衣装モデルのアーマチュアをpose modeで動かすと頭部も追従するようになったと思います。

f:id:usausakokoko:20180702064957p:plain

ボーンを動かしてみながら、衣装モデルのウェイトまたは頭部モデル(もしくは両方)のウェイトを調整します。

満足のいく結果になるまでには時間がかかるかもしれません(がんばろう!)。

 

 

10. exportの準備

mmd_toolsでモデルをexportする際は親子関係が重要です。

[(モデルの名前のついた)Empty] -> [アーマチュア] -> [メッシュ]という[親] -> [子]の関係が必要です。

今のままでは、頭部がimport時のアーマチュアの子になっていると思います。

 

頭部モデルを選択後、Shift keyを押しながら衣装モデルのアーマチュアを選択し、Ctrl P (Set Prent To) -> Object (Keep Transform)で、[衣装モデルのアーマチュア] -> [頭部モデルのメッシュ]という[親 ]-> [子]の関係をつくります。

f:id:usausakokoko:20180702065737p:plain

 

Outlinerではこんな感じになってればOKです。

f:id:usausakokoko:20180702070034p:plain

 

 

11. モデルのexport

衣装モデルのEmptyを選択し、blenderのFile -> Export -> MikuMikuDance Modelを選択し、好きな名前を付けてexportします。

 

 

12. 物理演算設定

頭部モデルの髪などに物理演算が設定されている場合、それらはexportされていないのでもとの頭部モデルからコピーします。

その際、剛体をコピペ、ジョイントをコピペの順でやる必要があります。

 

お着換え後のモデルと、もとの頭部モデルを同時にpmxエディタで開き、必要な剛体とを[頭部モデル]から[お着換え後のモデル]へコピペします。

今回は、お着換え後のモデルの頭と首の剛体を削除し、頭部モデルの頭、首、おさげの剛体をコピペしました。

f:id:usausakokoko:20180702072010p:plain

↑もとの頭部モデルで必要な剛体を選択しコピー

 

f:id:usausakokoko:20180702072055p:plain

↑先ほどexportしたお着換え後モデルへペースト

 

f:id:usausakokoko:20180702072045p:plain

↑もとの頭部モデルで必要なジョイントを選択しコピー

 

f:id:usausakokoko:20180702072313p:plain

↑先ほどexportしたお着換え後モデルへペースト

 

あとは、必要に応じて衣装モデルまたは頭部モデルの材質を変更してもいいと思います(エッジの太さとか…)。

 

そしてモデルを保存したら完了です!

 

 

おまけ

f:id:usausakokoko:20180702072937p:plain

MMDに読み込んだ様子

(モーション: yurieさん)

 

同じ要領でその他の自作モデルでもお着換えをしてみた様子