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

このページは編集途中です。

MMDモデルの規約によってはMMDやその派生ソフトウェア以外にモデルを持っていくのを禁止している物もあります!ご注意下さい!

BlenderでMMDモデルを使って.vmdモーションを作成します。
また、Blenderへ動画を読み込んでMMDモデルを使って(手動で)トレースしてみます。

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

このページでは、ニコニ立体ちゃんモデルを利用させてもらいます。


MMDモデルの標準ボーン(必須ボーン)、準標準ボーン

MMDの人型モデルは一般的に標準ボーン準標準ボーンと言われるボーン名(ボーン構造)が利用されています。
作ったモーションを配布するorほかのモデルにも利用する場合はこれらの標準ボーン(準標準ボーン)のみを操作してキーを登録しないと、ほかのモデルに対してモーションファイルの互換性がなくなります。
逆を言えばモーションを作成したモデルでしか利用しない場合はそのモデルのボーンをすべて使えます。

モデルによって実装されているボーンやボーン名が異なる(厳密にボーン名などが定義されているわけではない)のでご注意ください。
標準ボーン、準標準ボーン名説明
全ての親 モデルの位置調整に使用するが、ダンスモーションの作成時には基本的に操作しない
センター標準
グルーブ
下半身標準
上半身標準
上半身2/2(全角) モデルによって2(半角)と2(全角)に分かれる
標準 頭部を動かす際は”頭ボーン”を動かす方が比率としては大きい,首ボーンは補助的
標準 頭部を動かす際は主としてこちらのボーンを動かす
左/右目標準 上下左右方向のみ回転させる(奥行き方向へは回転させない)
両目 左目と右目を両方動かせるボーン,上下左右方向のみ回転させる(奥行き方向へは回転させない)
左/右肩標準
左/右腕捩標準 腕を回転(ひねる)させる際に使う
左/右腕標準 ひねる場合は”左/右腕捩”で回転させた方が良い
左/右ひじ標準 ひねる場合は”左/右手捩”で回転させた方が良い
左/右手捩 ひじを回転(ひねる)させる際に使う
左/右手首標準
左/右親指1/1(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右親指2/2(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右人差指1/1(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右人差指2/2(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右人差指3/3(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右中指1/1(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右中指2/2(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右中指3/3(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右薬指1/1(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右薬指2/2(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右薬指3/3(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右小指1/1(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右小指2/2(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右小指3/3(全角)標準 モデルによって数字部分が半角と全角に分かれる
左/右足標準
左/右ひざ標準
左/右足首標準 足IKがONの時はY軸(ローカル)のみ操作するのが無難
左/右つま先標準
左/右足IK親
左/右足IK標準
左/右つま先IK

MMDモデルの表情モーフ(標準モーフ)

ボーンだけでなく、表情モーフにも標準(基本、または必須)モーフなどと言われる物があります。
こちらも厳密な定義があるわけではありませんが、このページではMMDに付属するモデルのモーフを標準モーフ、PMXEditorプラグインの標準モーフチェッカーでチェックできるモーフやニコニ立体ちゃんに実装されてるその他の表情モーフを準標準モーフとします。

表情モーフもモデルごとに実装されているモーフやモーフ名が異なるのでご注意ください。

MMD上では各モーフはモーフ名が同一なら、カテゴリ(左上(目)など)やモーフの種類(頂点モーフかグループモーフか、など)の違いは無視され、適用されます。
左上(目)説明
まばたき標準
はぅ標準
笑い標準
ウィンク標準 ”ウィンク”は半角の場合もある
ウィンク2 数字は全角,半角の場合もある
ウィンク右 ”ウィンク”は半角の場合もある
ウィンク2右 数字は半角の場合もある
なごみ
びっくり
じと目
なぬ!
キリッ 半角の場合もある
はちゅ目
ハイライト消し
瞳小 ”右下(その他)”に登録されている場合もある
右上(口)説明
標準
あ2 数字は半角の場合もある
標準
標準
標準
標準
ワ2 数字は半角の場合もある
にやり標準
にやり2 数字は半角の場合もある
にっこり
ω
ω□
はんっ!
えー
左下(眉)説明
真面目標準
困る標準
にこり標準
怒り標準
標準
標準
寄せ
右下(その他)説明
照れ
照れ2 数字は半角の場合もある
 ”左上(目)”に登録されている場合もある
瞳小 ”左上(目)”に登録されている場合もある
ぺろっ ”右上(口)”に登録されている場合もある

ボーンの座標軸(グローバル座標とローカル座標)

ボーンの座標軸(グローバル座標とローカル座標)について記載しておきます。
MMDなどでグローバル座標とローカル座標の違いをすでに知っている方は飛ばして下さい

座標軸にはグローバル座標とローカル座標と呼ばれる2種類の座標軸があります。

グローバル座標はBlender(orMMD)などの3D空間に一つしかない統一の座標です。
例えばグローバル座標軸で左に動かすように入力したボーン(orオブジェクト)はローカル軸が傾いていても正面から見た場合、単に左に動きます。

一方、ローカル座標はボーン(orオブジェクト)がそれぞれ持つ、ボーン(orオブジェクト)独自の座標軸です。
例えばローカル座標軸が斜めになっているボーン(orオブジェクト)をローカル座標軸で左に動かすように入力すると正面(グローバル座標)から見ると斜めに動きます。

View座標という視点からの座標もありますがここでは触れません。

腕ボーンなどはローカル座標で動かす事を推奨します。

MMDとBlenderの座標軸の違い

3DCGなどでは座標軸をX、Y、Zで表記しますが、Blenderのグローバル座標はXが左右、Yが前後、Zが上下となっています。(Zup)
一方、MMDでは、Xが左右、Yが上下Zが前後となっています。(Yup)

MMDモデルにローカル軸が設定されていないボーン(例えば全ての親やセンターボーンなど)はmmd_toolsでインポートされた際にそのボーンのローカル軸がYupで設定されます。
(ローカル軸が設定されているボーンはそのままです)

Blenderのグローバル座標でボーンを動かして.vmdとして出力しても通常はmmd_toolsアドオンが座標軸をコンバートしてくれますが、mmd_toolsの意図していない操作をすると座標軸が正しくコンバートされないケースがあるようです。
(例えばカメラモーションを出力する際にMMD_CameraオブジェクトではなくBlenderのカメラオブジェクトを選択して出力した場合など)

BlenderへMMDモデルのインポート/フレームの設定など


上記画像のオプションでインポートしました。
今回は物理は読み込みません。
拡大縮小:0.08にします。


[Ctrl]+[TAB]キーを押してポーズモードへ入り、スカートや髪ボーンなど邪魔なボーンを選択し[H]キーで非表示にしておきます。
[C]キーを押して円で塗りつぶし選択で簡単に複数選択できます。(マウスホイールクリックでボーン選択解除、マウス右クリックで円で塗りつぶし選択終了)


プロパティシェルフ(表示されていなければ3Dビュー上で[N]キーを押す)からMMDタブ→Morph ToolsからBindを選択してモーフをバインドします。
これは、”照れ”などの材質モーフやボーンモーフ、グループモーフを操作するのに必要です。(頂点モーフのみ操作するならしなくても良い)


右下の出力プロパティから、寸法開始フレーム0にします。
フレームレート30FPSにします。(MMDでは30FPSが標準のため)
下のタイムラインウインドウを[←]キーを押して0フレームにします。


タイムラインウインドウの再生から同期しないAV同期に変更します。
これでアニメーション再生時に処理落ちしても本来の再生速度で再生します。

Blenderではモーション(アニメーション)をアクションという単位で管理します。
mmd_toolsではアクティブな(選択されている)アクションが.vmdとして出力されます。


トップバーからAnimationタブを開き、下のドーブシートウインドウの左、ドープシートとなっているプルダウンメニューをアクションにします。


画面中央の+ 新規をクリックして新規アクションを作成します。


”Action”となっている場所をダブルクリックすると名前が変えられます。
アクション名の右にある盾のアイコン(フェイクユーザー)をクリックしておきます。
これをしておかないと.blendファイル保存時にアクションが消えてしまう事があるのでご注意下さい。


左上のエディタータイプアイコンをクリックしてエディタータイプをグラグエディターに切り替えます。
グラフエディターとはMMDでいうところの補完曲線を操作する画面です。

ボーンの操作方法

Animationタブではなく、Layoutタブになっていますが気にしないで下さい。


ボーンをクリックします。ポーズモードになっているはずですが、ポーズモードになっていない場合は[Ctrl]+[TAB]キーを押してポーズモードに入ります。


3Dビューの左側にツールバーが表示されているはずです(表示されていない場合は3Dビュー上で[T]キーを押す)


ツールバーの移動or回転を選択した状態でボーンをクリックし、ギズモまはたマニピュレーターと呼ばれるアイテムをドラッグして移動or回転させます。
赤色のラインが左右軸、青色のラインが上下軸、緑色のラインが前後軸となっています。

もう一つ、ボーンを操作する方法があります。


ボーンを選択した状態でキーボードの[R](回転) or [G](移動)を押した後に[X]or[Y]or[Z]を入力し、テンキーから数値を入力するか、マウスをドラッグして移動される方法です。

[R]or[G] → [X]or[Y]or[Z]を入力した後にもう一度同じ座標のキーを入力するとボーンに設定されたローカル軸で操作できます。(例:[R]→[X]→[X]→マウス移動など)

TIPS

ボーンの表示方法、座標軸の表示


ボーンを選択した状態でオブジェクトデータプロパティのビューポート表示から、ボーンの表示方法やボーンの名前、各ボーンの座標軸の表示の有無などを設定できます。

IKのON/OFF


ポーズやアニメーションを作る際に足IKなどを切りたい時もあるかもしれません。
その場合はサイドバーのその他から該当IKをクリックしてオフにします。(サイドバーが表示されていない場合は3Dビュー上で[N]キーを押す)

ボーンの反転コピー


ボーンの位置などを反転コピーしたい時は3Dビュー右上のアイコンをクリックして反転コピーします。
ボーンコンテクストメニューのX軸で反転させたポーズを貼り付け([Shift]+[Ctrl]+[V])では正常に反転コピーされません。
また、ボーンの位置や回転が反転コピーされただけでキーフレームは打たれていないので別途、手動でキーフレームを打つ必要があります。

Blender上で腕IKや握りボーンを追加する

操作しやすいようにBlender上で腕IKや握りボーンを追加します。
ただし、このページで解説する方法ではBlender上でしか作動しません(腕IKなどを追加したMMDモデルをエクスポートしてもMMDでは正常に作動しない)
MMD上でも作動する腕IKや握りボーンを追加したい場合は、IK Maker X(腕IK)や、GripsX2(握りボーン)プラグインをご利用下さい。

また、.vmdとして出力するならアクションのベイクを実行して標準ボーンに置き換える必要があります。
腕IK

ボーン(アーマチュア)を選択し、[TAB]キーを押してボーン編集モードへ入ります。
手首ボーンを選択し、3Dビューの左側のアイコン(表示されていない場合は3Dビュー上で[T]キーを押す)から押し出しをクリックして表示された+ボタンをドラッグし、手首ボーンから押し出します。
押し出す長さは適当でいいですが、あまりにも短いと選択しづらいので適度な長さにします。


ボーンプロパティから関係タブを開き、ペアレントの右のをクリックしてペアレントを解除します。


[Ctrl]+[TAB]キーを押してポーズモードへ入り、手首ボーンを選択します。
ボーンコンストレイントプロパティを開き、ボーンコンストレイント追加からインバースキネマティクス(IK)を選択して追加します。
ターゲット:にモデル名_armを、ボーン:に先ほど押し出したボーン(手首LorR.001となっているはず)を指定します。
チェーンの長さを肩または腕ボーンまで黄色い点線が伸びるように指定します。

ウェイト:回転は必要に応じてチェックを入れます(チェックを入れると手首が手首LorR.001ボーンと同じ方向に向きます)


手首LorR.001ボーンを選択し、[F2]キーを押してボーン名を手首LorR.IKとでもしておきます。
これで腕がIK化されました。
IKボーンを操作すると腕が動くはずです。

腕IKを動かすと腕やひじが変な方向に曲がってしまう場合

握りボーン

ボーン(アーマチュア)を選択し、[TAB]キーを押してボーン編集モードへ入ります。
手首ボーンを選択して[shift]+[D]キーを押してボーンを複製します。
適当な位置に複製したボーンを持っていきます。


ボーンプロパティから関係ペアレントの右の☓をクリックしてペアレントを解除します。


[TAB]キーを押してポーズモードへ入り、適当な指ボーン(ここでは人指3)を選択します。
ボーンコンストレイントプロパティからボーンコンストレイント追加回転コピーを選択して追加します。
使用空間:ローカル空間ローカル空間にし、ターゲット:をモデル名_arm、ボーン:を先ほど複製したボーンを指定します。


[C]キーを押して円で塗りつぶし選択でほかの指ボーンを追加で選択し、左上のポーズからコンストレイント選択したボーンにコンストレイントをコピーでコンストレイントをほかのボーンにコピーします。


[F2]キーを押して握りボーンの名前をわかりやすいものにしたら完成です。親指ボーンも同様の作業で親指握りボーンを作成すれば指のポーズ作りが楽になります。
”アクションのベイク”で標準ボーンへ置き換える
Blender上で作った腕IKや握りボーンにキーを打っても標準ボーンへ置き換えなければほかのモデルへ使えません。
”アクションのベイク”でIKや握りボーンの動きを(腕IKや握りボーンの影響を受けた)標準ボーンへ置き換えます。
ここでは握りボーンを標準ボーンの指ボーンに置き換えてみます。


置き換えたい(腕IKや握りボーンの影響を受けた)ボーンを選択します。


左上のポーズからアニメーションアクションをベイク...を選択します。
表示されたウインドウのビジュアルキーイングコンストレイントをクリアにチェックを入れ、開始フレームと終了フレームを指定してOKをクリックします。


握りボーンに打ってあったキーは削除されて選択していた指関連のボーンにキーが打たれます。
ご覧の通り、1フレームに1キー打たれています。
このままだと.vmdファイルが肥大化し、修正する場合も困難になるなど弊害があります。
Simplify Curvesアドオンでキーフレームを間引けますので詳しくはアドオンのページをご覧ください。





ポーズ

アニメーションを作成する前に静止状態(.vpdポーズファイル)を作ってみましょう。
なお、.vpdポーズファイルでは表情モーフはサポートされていません。表情モーフも作って出力したい場合は.vmdファイルとして出力します。

ポーズを作る際のボーンの操作順は人によって違いますが、基本的には足IKセンター→()→下半身上半身頭など...→表情(モーフ)体の中心から外側へ...と操作します。


AnimationタブからLayoutタブに戻ります。ポーズならLayoutタブの方が操作しやすいです。


ポーズを作ってみる

アメコミ 06 (ポーズ 980)/髪と形を参考にさせてもらい、このポーズを作ってみましょう。

アニメーションを作ってみる

単純なアニメーション

Fカーブ(MMDで言う補完曲線)

ベジエ補完のみサポート。バウンド、などはアクションをベイクしてキーフレームに登録しないとだめ

歩行モーション




.vmdへエクスポート

メッシュオブジェクトだけ選択しているとモーフアニメーションのみ、ボーン(アーマチュア)だけ選択しているとボーンアニメーションのみ出力されるため、エンプティオブジェクトを選択してエクスポートする(エンプティオブジェクトを選択して出力するとモーフとボーンアニメーションの両方が出力される)
Use Frame Rangeにチェックを入れる。
倍率は12.5にする。

ノンリニアアニメーション(NLA)

アクションをストリップ化する事でNLAエディターでアクションをループさせたり、複数のアクションを組み合わせる事ができます。
(例えば歩行アクションと手を振るアクションを組み合わせて歩行しつつ手を振ったりなど)

ただし、mmd_toolsアドオンはNLAトラックをサポートしていないためストリップ化してしまうと新規アクションにベイクする必要があります。
この際、キーが全打ちされてしまうので.vmdファイルが肥大化し、配布する場合では貰った人が修正するのが困難になるなど弊害があります。
Simplify Curvesアドオンである程度キーを間引けますがその分、元の動きとは違ってきます)

キー全打ちでも構わないなら、複数のアクションが含まれるドラマの作成などに便利です。(歩行、ドアを開く、座る、など)
ダンスモーションなどは一つのアクションにしておいてストリップ化せずに出力する方が良いでしょう。

ストリップ化

新規アクションにベイク

動画のトレース

動画のfpsを30fpsにエンコードしてBlenderへ読み込ませる

カメラモーションの作成、出力

空の.vmd(モデルモーションでもよい)をカメラにインポートしてMMD_Cameraオブジェクト(エンプティ)を作成させ、MMD_Cameraオブジェクト(エンプティ)にキーを打って選択してエクスポート
(フレーム範囲に注意)

Menu

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

エンコード

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

その他

波形編集ソフト


【メニュー編集】

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