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


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

Blender 2.8の自動ウェイトペイント機能を使ってMMDモデルのお尻にウェイトを塗り、物理を仕込んで揺れるようにします。

このページでは例としてRGBA式こだまちゃんを利用させてもらいます。

Blender Addonのmmd_toolsを利用します。
Blenderへの導入方法はこちらをどうぞ



MMDモデルのインポート


上図のオプションでインポートしました。
倍率は0.08です。
このページで例として利用させてもらうRGBA式こだまちゃんモデルの場合はRemove Doulblesオプションを有効にしてインポートしないとUVにそってボディが分割され、上手くウェイトが塗れませんでした。

材質ごとにオブジェクトを分割し、水着を非表示にする


MMDモデルをインポートしたら3Dビュー上で[N]キーを押してサイドバーを出し、mmd_tools AddonのMMDタブを開きます。
MMDモデルのメッシュオブジェクトを選択し、Separate By MaterialsをクリックしてMMDの材質ごとにオブジェクトを分割します。


邪魔な水着を非表示にします。
水着オブジェクトを選択して[H]キーで非表示にします。

お尻ボーンを作る

Blenderの自動ウェイトペイント機能を利用してウェイトを塗るので、ボーンの位置が重要になります。ご注意下さい。(ボーンとメッシュの位置から計算してウェイトが塗られるため)


ボーンを選択し、[TAB]キーを押してボーンの編集モードへ入ります。


テンキーの[5]を押して平行投影に切り替え、テンキーの[1]で真正面からの視点にします。
下半身ボーンを選択して[E]キーを押してボーンを押し出し、[Ctrl]キーを押しながらマウスを移動してボーン付近まで水平に引っ張ります。


テンキーの[3]を押して左横からの視点に切り替え、[G]→[Y]→マウス移動でボーンの先端をお尻のトップ付近まで移動させます。


ボーン名を変更します。
[F2]キーを押して名前を尻.L尻_Lにします。
末尾にLorRを必ずつけます。(では駄目)


今はお尻ボーンの先端が選択されている状態なので、尻ボーンの真ん中付近をクリックして尻ボーンを選択し直し、トップバー下のアーマチュア対称化を選択して反対側のボーンを作ります。


[Shift]キーを押しながら反対側の尻ボーンをクリックして、両方の尻ボーンを選択した状態にしておきます。


[Ctrl]+[TAB]キーからオブジェクトモードを選択し、オブジェクトモードへ戻ります。

ウェイトペイントモード


メッシュオブジェクト(ボディ)を選択し、[TAB]キーを押して頂点編集モードへ入ります。
テンキーの[3]を押して視点を真横からにして3Dビュー右上の透過表示アイコンをクリックするか、[Alt]+[Z]キーを押し、透過表示をONにします。


[B]キーを押してウェイトの乗る範囲を大雑把にボックス選択します。
選択範囲に関しては、体の上下は適当で良いですが体の前後(画面から見て左右)は気をつけないと股間(体前面の局部)にまでウェイトが乗ってしまいますので注意しましょう。(股間まで揺れてしまう)


頂点を選択してら、そのまま[TAB]キーを押してオブジェクトモードへ戻ります。


ボーン→メッシュオブジェクト(材質)の順に[Shift]キーを押しながらクリックして複数選択します。
[Ctrl]+[TAB]キーからウェイトペイントを選択します。



[V]キーを押して頂点マスクを有効にします。
これで先ほど選択した頂点のみにウェイトが塗られます。


両方の尻ボーンが選択された状態で、トップバー下のウェイトボーンから自動割り当てをクリックします。


続けて、トップバー下のウェイト正規化をクリックします。


[V]キーを押していったんマスクを解除します。
[Ctrl]+[マウスクリック]で反対側の尻ボーンを選択してもう一度、[V]キーを押してマスクを有効化します。
こちらのボーンも、トップバー下のウェイト正規化をクリックしてウェイトを正規化します。


[Ctrl]+[TAB]キーを押してオブジェクトモードに戻ります。

物理

剛体


ボーンを選択した状態で[TAB]キーを押してボーン編集モードへ入ります。
どちらか片方の尻ボーンを選択し、サイドバーのMMDタブからRigid Bodiesの項目を開きます。

右側の[+]ボタンをクリックして剛体を追加します。

名前はボーン名と同じでいいでしょう。
剛体グループ、衝突グループは適度に設定します。

Rigid Type物理演算にします。

最後にOKをクリックして剛体を追加します。


剛体の大きさがちょっと大きすぎたので[S]→テンキーの[0.5]と続けて入力し、サイズを0.5倍にします。

もう片方の尻ボーンも同様に選択して剛体を追加します。

Joint


デフォルトではJointや元からある剛体が表示されないので、サイドバーのその他タブからMMD DisplayリジットボディJointにチェックを入れます。
操作しやすいようにメッシュアーマチュアに入っているチェックを外します。


サイドバーをMMDタブに戻し、MMDモデルに元からある下半身の剛体→作った尻剛体の順に[Shift]キーを押しながら選択します。
MMDタブのJoints項目を開き、右側の[+]をクリックしてJointを追加します。

反対側のお尻剛体も同様にJointを作成します。

Jointのパラメーターについては、このページではすべて0にしています。
デフォルトの値にしておいて、後でPmxEditorで修正してもかまいません。

このままではJointの位置の関係で、お尻が綺麗に揺れないのでJoint位置を調整します。


サイドバーのその他MMD Displayからアーマチュアにチェックを入れ、リジットボディのチェックを外します。

各Jointをボーンの移動の要領で、お尻ボーンの先端付近に移動させます。


[Alt]+[H]キーを押して非表示のオブジェクトを表示させ、MMD DisplayのリジットボディとJointのチェックを入れ外ししてメッシュのみ表示させます。

水着へのウェイト転送

このままではお尻が揺れても水着は揺れないので、ボディのウェイトを水着に転送します。


[Shift]キーを押しながらボディ→水着と選択します。
[Ctrl]+[TAB]キーからウェイトペイントモードへ入ります。


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


3Dビュー左下のメッシュデータの転送を開き、転送元レイヤーの範囲名前に、対象レイヤーとのマッチ方法全レイヤーミックスモード追加にします。

エクスポート

Blender上での作業はほぼ完了したのでエクスポートします。


インポート時にMMDモデルの倍率を0.08に設定した場合は、エクスポート時に倍率を12.5にする必要があります。
また、元のフォルダ以外にエクスポートする際はCopy texturesオプションを有効にしておきましょう。
詳しくはこちらをご覧下さい。

PmxEditor上での調整

今回は上記の方法で、おおよそキレイに揺らすことができました。(揺れの好みもあると思いますが)
上手く揺れない、もっとキレイに揺らしたい場合はPmxEditorを使い、TransformViewで物理を再生しながら剛体、Jointの位置とパラメータを調整することになります。
タグ

Menu

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

エンコード

コーデック

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

その他

波形編集ソフト

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