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

BlenderでMMDモデルを(mmd_toolsで)利用して動画等を制作する際、一部の胸揺れ方式などの物理はBlenderでは上手く動きません。
※MMDでは動作するが、MMM(MikuMikuMoving)では動かない物理構造はBlender&mmd_toolsでも動かないと考えて良い

そういったモデルをBlenderで利用する場合にBlenderの揺れものAddonなどを利用することでBlender上でMMDモデルの胸を揺らせます。

また、スカートや髪などのボーンに揺れものAddonを使用することで(ボーンとウェイトさえ塗ってあれば)リジッドボディ(剛体)とリジッドボディコンストレイント(Joint)がなくてもクロスシミュの代わりとして衣装や髪などを動かせます。

このページでは例として原神公式モデルのリサを使わせてもらいます。
Blender+mmd_toolsデフォルトSpring Bonesのみ 設定デフォルトWiggle bonesのみ 設定はこちらのものmmd_uuunyaa_toolsのみ 設定デフォルトBoneDynamics Proのみ 設定はこちらのものWiggle 2 設定はデフォルト
動画ファイルへのリンク動画ファイルへのリンク動画ファイルへのリンク動画ファイルへのリンク動画ファイルへのリンク動画ファイルへのリンク
モーション:ジャンプモーション集/1.小ジャンプ.vmd@おかっち氏

更新履歴:
20230420:Wiggle 2アドオンと衣服や髪を揺らす項目を追加


BlenderへのMMDモデルのインポートなど

BlenderへのMMDモデルのインポート方法や、オプションは【Blender 3.0】mmd_tools【UuuNyaa版】インポートをご覧ください。

胸の物理削除

既存の胸の物理を削除します。
Blender&mmd_toolsで胸揺れが有効なMMDモデルだと既存の胸揺れ物理を削除しないと揺れが重複しておかしな事になります。
Blender&mmd_toolsで胸揺れが動かないモデルであっても削除しておいた方が無難です。


サイドバーのMMDタブからモデル設定可視性:メッシュのチェックを外してリジッドボディジョイントにチェックを入れます。
(サイドバーが表示されない場合は3Dビュー上で[N]キーを押すと表示されます)


削除対象の胸のリジッドボディを選択して[F2]キーを押してリジッドボディなどの名前を確認します。
今回は”07X_左胸上2”などとなっていることがわかります。


3Dビュー上部の選択からパターン選択を選び、パターン:に*胸*と入力して胸の物理に関連するリジッドボディやジョイントを選択状態にします。
その状態で[X]キーを押してリジッドボディ、ジョイントをまとめて削除します。


サイドバーのMMDタブからモデル設定可視性:メッシュにチェックを入れてメッシュオブジェクトを表示状態に戻します。

.VMDモーションのインポートなど

検証用にモーションをインポートします。
※基本的に、揺れものAddonを使う際はモーションをインポートするなど、ボーンにキーフレームが打たれていないと揺れが確認できません。(ポーズモードでボーンを動かしても揺れない)


MMDタブ→シーン設定リジットボディ物理演算:ワールドを更新をクリックします。


MMDモデルのエンプティ(足元にある十字のオブジェクト)を選択し、サイドバーのMMDタブ→モデル設定組み立て:から、すべてをクリックします。


MMDモデルのエンプティを選択した状態でサイドバーのMMDタブ→シーン設定モーション:インポートから.vmdファイルを読み込みます。

このページでは、ジャンプモーション集/1.小ジャンプ.vmd@おかっち氏を使わせてもらいます。

※エンプティではなく、アーマチュア(ボーン)を選択してモーションを読み込むとボーンアニメーションだけ、オブジェクト(材質)を選択してモーションを読み込むとシェイプキー(モーフ)アニメーションだけが読み込まれてしまいます。

※モーションインポート時のオプションで、余白5から30程度にしないと物理が破綻する事があります。

※Blenderへの.vmdファイルのインポート方法の詳細やオプションについては【Blender 3.0】mmd_tools【UuuNyaa版】/ モーション(ポーズ)のインポートをご覧ください。

Blenderの揺れものAddon

Spring Bones Addon

Blenderへのインストール

Spring Bones Addonの右上Clone or downloadをクリックし、Download ZIPからZIPファイルをダウンロードします。

圧縮ファイルの中のspring_bones.pyを''blender-[ver]-[OS]\[ver]\scripts\addons''にコピーします。
(フォルダごとコピーするとBlenderが認識しません)


Blenderを起動し、メニューバーの編集プリファレンス...アドオンから検索バーに"spring"と入力してAnimation: Spring Bonesの左のチェックをオンにします。
MMDモデルにSpring Bonesを使ってみる

オブジェクトモードからアーマチュアを選択し、Ctrl+TABキーを押してポーズモードへ入ります。
胸のウェイトが塗られたボーンを選択してボーンプロパティからSpring Bones項目のBone Prameters下のばね回転にチェックを入れます。

反対側の胸ボーンを選択して同じくチェックを入れます。
Start - Animation Modeをクリックします。


上手く胸ボーンを選択設定できていればアウトライナーに左/右胸ボーン名_springと左/右胸ボーン名_spring_tailというオブジェクトができます。


[Space]キーを押して再生してみます。
揺れすぎていたり硬いと感じたら[ESC]キーを押して再生を停止し、Spring BonesStopで揺れを止めてパラメーターを調整し、もう一度Start - Animation Modeをクリックします。


いい塩梅になったら、3Dビュー上部のポーズからアニメーションアクションをベイク...を選択し、選択ボーンのみのチェックを外してベイクします。

リサモデルの場合、胸上L/Rとその子に胸上2.L/Rがあるという胸ボーン構造になっていますが、Spring Bonesは胸上2.L/Rに使用しないと変な揺れ方をしました。
動画ファイルへのリンク
各パラメーター
  • Bouncy
デフォルトで0.50です。
弾性です。
値が小さいと跳ねません。
大きいとよく跳ねます。

  • 速度
デフォルトで0.70です。
小さいほど動きが遅くなります。
大きいと素早く動きます。
  • 重力
デフォルトで0です。
たるみです。

  • 影響
デフォルトで1.00です。
1だとボーンは完全にSpring Bones Addonの影響下にあります。
0だとまったく影響を受けません。

Wiggle bones

Blenderへのインストール

GitHubReleasesからダウンロードします。


Blenderを起動し、メニューバーの編集プリファレンス...アドオンからインストール...をクリックしてダウンロードした.zipファイルを指定します。
検索バーに"wiggle"と入力してAnimation: Wiggle Boneの左のチェックをオンにします。
MMDモデルにWiggle bonesを使ってみる

オブジェクトモードからアーマチュアを選択し、Ctrl+TABキーを押してポーズモードへ入ります。
胸のウェイトが塗られたボーンを選択してボーンプロパティからWiggle Boneにチェックを入れます。

反対側の胸ボーンを選択して同じくチェックを入れます。


Spaceキーを押して再生してみます。([ESC]キーで停止)


ベイクします。
Bake Wiggle下のAdditive Bake:にチェックが入っているのを確認し、Bake Wiggleボタンをクリックします。
反対側の胸ボーンも同様にベイクします。

Wiggle bonesは胸上L/Rボーンに使用しないと揺れませんでした。
また、デフォルトの設定ではかなり揺れるので下記の画像のようなパラメーターに設定しました。
動画ファイルへのリンク
各パラメーター
  • Stiffness
デフォルトで0.20です。
硬さ(ボーンが元の位置に戻ろうとする動きの速さ)の設定のようです。0〜1の範囲で指定します。

  • Dampening
デフォルトで0.20です。
フレームごとに失われるテンションの範囲の設定のようです。0〜1の範囲で指定します。
0だと何時までも揺れ続けます。

  • Amplitude Rotation
デフォルトで30.00です。
値が大きいほどボーンの回転が大きくなります。
  • Amplitude Translation
デフォルトで0.50です。
値が大きいほどボーンの位置が大きく変わります。
  • Stretching
デフォルトで0.50です。
ボーンの伸びる値です。0〜1の範囲で指定します。
値が大きいとよく伸びます。0だとまったく伸びません。

  • Gravity
デフォルトで0.50です。
重力です。
値が高いと垂れ下がります。

Wiggle 2

Wiggle 2はWiggle bonesのコードを全面的に書き直した新しいVerです。
Blenderへのインストール

GitHubReleasesから最新のwiggle_2.pyをダウンロードします。


Blenderを起動し、メニューバーの編集プリファレンス...アドオンからインストール...をクリックしてダウンロードしたwiggle_2.pyファイルを指定します。
検索バーに"wiggle"と入力してAnimation: Wiggle 2の左のチェックをオンにします。
MMDモデルにWiggle 2を使ってみる

オブジェクトモードからモデルのアーマチュアを選択し、サイドバーのアニメーションタブのWiggle 2からEnable sceneアイコン、Enable armatureアイコンをクリックして有効化します。


[Ctrl]+[TAB]キーからポーズモードへ入り、Wiggle 2を適用したいボーンを選択してサイドバーのアニメーションタブのWiggle 2からbone head or tailのチェックボックスにチェックを入れます。

このモデルの場合、胸上L/Rとその子に胸上2.L/Rがあるという胸ボーン構造になっていますが、今回は胸上L/Rボーンに”bone head”にチェックを入れてデフォルトの設定で使ってみました。


また、ベイクする際には現在のアクションを上書きオプションを有効化しました。
動画ファイルへのリンク
各パラメーター
  • 重さ
ボーンの重さです。デフォルトで1.0です。
  • stiff
バネ剛性係数です。デフォルトで400.0です。
  • ストレッチ
ボーンの伸縮率です。デフォルトで0.0です。0〜1の範囲で指定します。
  • 減速
ダンピング(減衰?)係数です。デフォルトで1.0です。値は1より大きな値にも設定できます。
  • 重力
シーンの重力に対して指定した値で乗算します。デフォルトで1.0です。

mmd_uuunyaa_tools/ピラミッドクロス

Blenderへのインストール
Addonのインストール方法については【Blender3.3】mmd_uuunyaa_tools【Addon】/ Blenderへのインストールをご覧ください。
MMDモデルにmmd_uuunyaa_toolsのピラミッドクロスを使ってみる
具体的な使い方は【Blender3.3】mmd_uuunyaa_tools【Addon】/ ピラミッドクロスをご覧ください。

デフォルトの設定で下記の様な感じになります。
動画ファイルへのリンク

BoneDynamics Pro (有料Addon)

Blender Marketや、Gumroad(※無料だが一部機能が削除されたLite版Lite版はこちら)で15ドルで販売されている有料Addonです。

基本的な使い方は英語ですが、YouTubeにあります。
Blenderへのインストール
Addonのインストールについては【Blender 3.3 LTS】 addonのインストールと個人的によく使うアドオンをご覧ください。
MMDモデルにBoneDynamics Proを使ってみる

オブジェクトモードからアーマチュアを選択し、Ctrl+TABキーを押してポーズモードへ入ります。
Addonが正常にインストールされていれば、サイドバーにBoneDynamics Proという項目があるのでそれを開きます。


胸のボーン(このモデルでは胸上L/Rボーン)を選択し、サイドバーのBoneDynamics ProからAdd Bone DynamicsでBone Dynamicsを追加します。


BoneDynamics Proはパラメーターをプリセットから選んだり、現在のパラメーターを新しいプリセットにしたりできます。
また、アニメーションの再生中にパラメーターを操作してリアルタイムで調整できます。


Bake Animationでベイクできます。
ベイク時のオプションで解像度0にしないと動き(揺れ)が間引かれてしまいます。

BoneDynamics Proは胸上L/Rボーンに使用しないと揺れませんでした。
また、デフォルトの設定ではなく、下記の画像のパラメーターに設定しました。
動画ファイルへのリンク

他の類似Addon

  • Gravity Collider Bone Physics Plugin (無料) gumroad


揺れを特定軸のみに制限する事もできる。
詳しくはこちら

Addonを使わず、手動で揺らす

Simulating Volume tracked boob physics Blender

上記のチュートリアルが参考になります。

”Wiggle 2”アドオンで衣服や髪を揺らす

Wiggle 2アドオンを使って衣装や髪などを揺らしてみます。

この項目では原神公式モデルのバーバラを使わせてもらいます。


物理を読み込まないオプションでモデルをインポートしました。インポートのオプションの詳細については【Blender 3.0】mmd_tools【UuuNyaa版】/ インポートを御覧ください。


モデルをインポートしたら、MMDモデルのエンプティ(足元にある十字のオブジェクト)を選択し、サイドバーのMMDタブ→モデル設定組み立て:からすべてをクリックしてモーフなどをバインドします。


MMDモデルのエンプティを選択した状態でサイドバーのMMDタブ→シーン設定モーション:インポートから.vmdファイルを読み込みます。
この際、余白30にします。
※Blenderへの.vmdファイルのインポート方法の詳細やオプションについては【Blender 3.0】mmd_tools【UuuNyaa版】/ モーション(ポーズ)のインポートをご覧ください。


MMDタブ→シーン設定リジットボディ物理演算:ワールドを更新をクリックします。
リジットボディ物理演算:開始0にします。


アーマチュアを選択した状態で[Ctrl]+[TAB]キーを押してポーズモードへ入り、Wiggle 2で揺らしたいボーンを選択します。
サイドバーのアニメーションタブのWiggle 2からEnable sceneアイコン、Enable armatureアイコンをクリックしてBone Tailにチェックを入れてWiggle 2を有効化します。


コリジョンオブジェクトにモデルのメッシュオブジェクトを指定しています、
その他、コリジョン関連のパラメーターを調整します。

Bake Wiggleを開いて現在のアクションを上書きにチェックを入れます。
Bake Wiggleから揺れをベイクします。

あとは動画として出力します。
モデルデフォルトの物理Wiggle 2で揺れものを揺らした場合
動画ファイルへのリンク動画ファイルへのリンク

今回の設定ではモデルデフォルトの物理の方が良さげですが、他形式からの変換モデルなど物理が設定されていないモデルに対しては有効かもしれません。

揺らすボーンを選択する際の注意点

MMDモデル(の胸揺れ物理構造)によっては、胸のウェイトが塗られたボーンだけではなくその親ボーン(胸親ボーン)が設定されているケースがあります。
Jiggle boneでボーンを揺らす際に、胸のウェイトが塗られたボーンだけを選択して揺らすのと、その親のボーン(胸親など)を選択して揺らすのでは揺れ方が異なります。
どんな動きを求めるかにもよりますが、胸のウェイトが塗られたボーンだけを選択して揺らす方が無難です。(胸親ボーンを選択して揺らすと揺れが酷くなるが、MMDモデルの胸ボーンの構造次第では胸親ボーンを選択した方が良い時もある?)

MMDでBoneの動きを再現する(胸ボーンの動きをベイクして出力した.vmdをMMDに読み込む)

胸の動き(揺れ)を(胸ボーンの)ボーンアニメーションにベイクした場合、mmd_toolsで.vmdアニメーションとして出力できます。
例えば、モデル(A).pmxMotion(B).vmdでMMDで再生、動画として出力したいが、胸の揺れはBlenderのJiggle boneの動きの方が良い...といったケースです。(あんまりないと思うけど)
Blenderへモデル(A).pmxMotion(B).vmdを読み込ませ、Jiggle boneで胸を揺らせて胸ボーンの動きをボーンアニメーションとしてベイクします。
ポーズモードで左右のベイクした胸ボーンのみを選択してmmd_toolsのモーション:エクスポートからエクスポートします。(ポーズモードでボーンを選択してmmd_toolsから.vmdとして出力すると選択ボーンのみ出力される)
MMDでモデル(A).pmxを開いてMotion(B).vmdを読み込ませ、Blenderからエクスポートした胸ボーンのアニメーション.vmdを追加で読み込ませるとJiggle boneの揺れをMMDで再現できます。
※MMDで物理演算のオン/オフモードでモデルの胸ボーンの物理をOFFにしてからモーション(.vmd)を読み込ませる。
※当たり前の話だが、ベイクした胸揺れ.vmdはモデル(A).pmxMotion(B).vmdを動かした時専用の.vmdとなる。(モデルorモーションが違うと望んだ動きにならない)

参考リンク(外部サイト)

タグ

Menu

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

Blender 2.9 LTS


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

エンコード

コーデック

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

その他

サウンド編集ソフト

AD

AD

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