MMDtips集〜モーション編2〜
◇Tips2 マクロを使った物理焼き込み~基本編~◇
モーション編第2段は『マクロによる物理焼き込み』についてです。
「マクロ?焼き込み?なにそれ難しそう!やだー!」
と思ったあなた!分かります!難しいことは嫌ですよね。
そこでまず今回のお話の大前提なのですがこの『物理焼き込み』、MMD動画作成にあたって必須作業ではありません。
特に一般的なダンスモーションだと配布頂いているモデルさんの物理演算にお任せしてれば綺麗なヒラみを堪能できることが大抵です。お陰様でいつもうっとりループが止まりません。モデラーの皆様ありがとうございます!
「じゃあ何でわざわざ物理演算の焼き込みなんてやるの?」
→個人的に、目的をあげるならこの5つです。
①エンコード時の物理ガチャをなくしたい。
③アクションや走行などで激しく位置が動くときに発生する貫通や物理破綻を修正したい。
④表現の一つとして意図的に髪や布をなびかせたい。
⑤止まっているのに物理が勝手に震える「ピクピク現象」をどうにかしたい。
「先ほど物理焼き込みは必須作業じゃない」と言いましたが、逆にもし①~⑤と同じような悩みをお持ちであれば一度試してみる価値アリ!だと私は思います。
「それなら試したい!でもそもそも物理焼き込みとはなんぞや?」
→簡単に言えば、腕や足ボーンなどと同じように、普段は物理に任せて勝手にゆらゆらしてくれている髪や布などの物理ボーンにも「こう動いてね!」というモーションを打ち込んじゃおう!ということです。
なにそれ絶対めんどい無理無理って思いますよね。
実はそれを簡単にしてくれるツールがあるんです!ひゅ~神ですね!
そのツールが「MMD用マクロ&ホットキーツール」とその上で動くマクロ群です。
MMD Macro Wiki [MMD Macro Wiki]
まずはMMD用マクロ&ホットキーツールを上のサイトからダウンロードしてください。詳しいセットアップ方法はURLを参照するかnef様の動画を参照ください。
ツールのセットアップができたら焼き込み用のマクロを用意しましょう。配布頂いている物理焼き込み用マクロをDLしてきてもいいですが、私は好みに改造しているものを使っているのでこちらでもその前提で説明します。
<手順1>
先ほどセットアップしたツールフォルダの中の「macro」フォルダに下記①と②のtxtファイルを文章コピペするなりして新規作成してください。
<ファイル①名>
_焼き込み.txt
<ファイル①本文>
焼き込み
click(frame_next, 1)
click(bone_reg)
<ファイル②名>
物理焼き込み.txt
<ファイル②本文>
物理焼き込み
get(frame_input,start)
set(frame_rselstart_input,start)
input(1, loopCount, ループ回数を入力して下さい)
loop(.\_焼き込み.txt, loopCount)
get(frame_input,now)
set(frame_rselend_input,now)
select(frame_rsel_menu,4)
click(frame_rsel)
menu(6,17)
dialogOpen(物理ON/OFFフレーム変換)
dialogSelect(ComboBox1,2)
dialogClick(Button1)
dialogClose(物理ON/OFFフレーム変換)
(こちらのマクロは尾中野 多留美様のMMDでも物理焼き込みを手軽にしたい と、kum様の ピクピク除去マクロ バージョンアップを参考にさせて頂いています!)
ファイルを作成し終わったらmacroフォルダの一階層うえにある「mmdm.exe」を起動してみます。
こんな感じで「物理焼き込み」が表示されているはずですので、ダブルクリックしてください。「ループ回数を入力して下さい」と表示された別窓が起動してきたらひとまずOKです。この他にもいくつかマクロ名が表示されてるかもしれませんが今は無視で!
<手順2>
MMDを起動します。いつものようにモデルさんを読み込んで、「髪」や「裾」など物理ボーン(×マークになっているボーン)を選択してください。
今回は髪関連のボーンをBOXで選択してみました。
<手順3>
物理演算設定を「トレースモード」にする。
これしてないと焼き込まれる物理ががちゃがちゃになります!ご注意を!
<手順4>
MMDマクロツールを起動し「物理焼き込み」をダブルクリック。
先ほどの「ループ回数を入力して下さい」の別窓が起動するので、焼き込みたいフレーム数を入力して「OK」をクリック。
すると指定したフレーム数ぶんズダダダダダッとマクロが物理を打ってくれ、そのフレームがすべて物理OFFの状態に切り替わります。これで物理焼き込み自体は終わりです。
— ぽぽ@ブログ動画用 (@popo_mmd_blog) June 26, 2021
(model:YYB式初音ミクさん)
(一応このマクロが何をしてるかを書いておくと「1フレーム進める→登録→1フレーム進める→登録…という動作を指定回数までループし、ループ終了したら物理OFFに切り替える作業」をしてくれてます。もちろん頑張れば手動でも同じ事はできますが、楽したいですからね…。)
はい、焼き込み処理は終わったのですが、これだけでは「…で?」って感じだと思います。
重要なのは、焼き込み済みの物理ボーンは「物理演算なし」でも動いてくれるという点です。
分かりやすいようにちょっとオーバーな動きにしていますが、こんな感じです。
— ぽぽ@ブログ動画用 (@popo_mmd_blog) June 26, 2021
この動画はすべて物理演算を「演算しない」にした状態で操作しています。
それでも物理演算をONしている時のように髪は揺れていますし、フレームを遡った時も逆再生のように動いていますよね。これは物理ボーンにも腕や足と同様にモーションが打ち込まれているからです。また、何度エンコードをしても100%確実に物理ボーンが同じ揺れ方をした映像を出力できます。
この「指定したモーション通り」に「物理演算を演算しない」で出力できるということから、
①エンコード時の物理ガチャをなくしたい。
この2つの目的を達成できるという訳です!
残りの3つの目的をどう達成するかについては、後日応用編としてあげますね。
そして当然のようにデメリットもあるので、それについても書いておきます。
物理焼き込みのデメリット
デメリット1:物理演算しないで出力するので、やるのならすべての物理ボーンに焼き込みしないといけません。動画のミクさんであればネクタイやスカートなども同様に処理しないとカチコチの鋼鉄ネクタイ&スカートになっちゃいます。
⇒この点に関してはマクロに物理OFF切替の工程を追加したので無視でOKです。
デメリット2:モデルさんによっては物理を焼き込むことでモデル操作画面がすっごく重くなります。1フレームごとに焼き込むのでモーションのデータ量が多くなってしまうからだと思いますが、結構操作が困難になるレベルになったりするので注意です。
デメリット3:めんどくさい。そう、ひたすらにめんどくさい…。
実践してみるときは、これらのデメリットも考えたうえでお願いします。
またこれに限らずですが、ファイル破損したら困るような大事なpmmファイルを編集するときは必ず退避を取ってから!ですよ~。
《更新履歴》
2021/08/15
kum様のピクピク除去マクロを参考に、ファイル②のマクロへ物理OFF切替の機能を追加。これによりデメリット1は考慮不要になりました。