スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

MMD/MMMでの物理挙動と設定

 個人的にモデルセットアップ四天王と思っている、その中の一人であらせられるででさんの生放送などで学んだというか、理解した内容をメモがてらに。
 基本的な各設定項目については、かこみきさん著「3DCG日和。Vol.2」(BNN出版)、第4章5項(P.182~)についての知識がベースにあるものとします。
 以下の説明は、ででさんの言葉を借りつつとなります。
 また、文字だけで図はありませんし、間違った情報(勘違いや勉強不足)の可能性もあります。ご了承を。

■ エンジンの違いと挙動の違い
 繰り返しになりますが、MMDとMMMでは使用しているエンジンこそ同じであれ、搭載しているエンジンバージョン違いで挙動変更がなされていますので、たとえ同じソースにしても挙動が一致する事はまず有り得ません。
 それでも、出来るだけ似せるような動きになるように再々調整を繰り返されたのが、MMM Ver1.0.2以降となります。

 MMMの方がある意味、より素直に物理特性設定の数値に反応するようになったとも言えますし、別な表現とすればより設定にシビアになったとも言えます。
 MMM用に物理設定をくみ上げておけば、差異はあれどMMDでもほぼ理想どおりに動きます。
 MMD用に組んであるものをMMM側で使う時には、その差異が少々大きく見えたり、場合によっては予想外の動きになる可能性も孕んではいます。
 MMD搭載のBulletエンジンの方がバージョンが低いので、ある意味当然の帰結とも言えるでしょう。

 そういった意味では、動作確認をMMM側でする事で、MMD/MMM共通で使える物理設定を組み上げる事ができるのではないかという所です。

 ですが、具体的にどう組み上げれば良いのか、という部分に関してはパターンによって変わってくるのもありますし、そのうちででさんがまとめてくれるかもしれないという淡い期待を抱きつつ、別な機会などにしたいと思います。

■ 剛体質量
 剛体の質量設定そのままですが、大きさとも関わりがあるような挙動をするので、質量というよりは密度と表現したほうがイメージしやすいかもしれません。
 剛体形状が大きく質量が少なければ発泡スチロールのようなすっかすかなものとなりますし、形状が小さく質量が大きければ鉄の塊となります。
 質量が大きいと振り回された時の挙動も大きくなりますが、駆動部分(ボーン追従との接続)から大きな力が伝達さる必要があります。
 この辺りは後述の剛体タイプ設定、ジョイントとの兼ね合いになります。

 入力する数値が何に対してなのかはよく分からない部分もありますが、恐らく重力加速度との兼ね合いとなるのではないかと。

 実際の入力としては、剛体の大きさに合わせて適当な数値を入れつつ、実際の動作確認をした方が理解は得やすいかもしれません。

■ 移動減衰・回転減衰
 文字通りの減衰ですが、正確には減衰「率」と考えても問題はないでしょう。入力する数値は0~1の範囲なので、そのまま0~100%と考えれば分かりやすいかと思います。
 0.1で10%の減衰、0.5で50%の減衰です。
 空気抵抗、もしくは粘性みたいなものと考えても良いかもしれません。
 落下移動で考えれば、減衰がゼロに近ければそのままストンと落ちますし、減衰が高いと水の中を落ちるようにゆくりとなります。
 スカートなどでいえば、減衰が低いと防御力が低下し、減衰が高いと程よい具合にチラっと見える程度になったりという感じです。

■ 反発力
 剛体同士がぶつかった時の挙動設定ですね。基本的にはこちらも0~1の範囲内ではありますが、1以上でも効果はあります。
 反発力を1に設定すれば、高さY=10から落とすと、跳ね返った時にY=10へ戻ってくる挙動となります。反発力が0.5ならY=5に跳ねるという感じです。

 とはいえ、人物系モデル、特に女の子モデルで使う場合は髪とスカートとなりますが、体本体となるボーン追従剛体も含めて、ほとんど反発力を設定する事はないでしょう。
 下手に設定すると剛体が飛んで行ったり、他剛体の中にめり込んでしまって動かなくなる事もあります。
 ボールや何かの発射装置とか、そういったギミックを作る時に使う項目ともいえます。

■ 摩擦力
 文字通りではあります。剛体同士がこすり合わさった時の挙動設定。こちらも基本的には0~1の範囲内で十分でしょう。
 摩擦力が低ければワックス廊下のようにツルツルいきますし、高ければゴム床のように滑らなくなります。
 こちらもスカートや髪にはやたらと設定しないほうがよさそうです。
 要所要所で0.5くらいで十分かと思います。

■ 剛体タイプ
 ボーン追従は物理演算させない剛体、物理演算は文字通り演算させる対象となる剛体ですね。
 さて、残る「物理演算+ボーン追従型」ですが…
 基本的には元のボーンから大きく外れないように、剛体とボーンの位置を半ば無理やり合わせるといったものです。

 演算スタート ⇒ ボーンと剛体の位置が離れる ⇒ 剛体をボーンの位置に(内部設定の範囲内)に無理やり引き戻す

 というような機構だと思って良いのではないかと。
 これの計算はやや負荷が高く、やたらとモデルに組み込むと挙動が重くなります。
 基本的には、髪のような複数個の物理挙動剛体が連なっている構造では、1本目となるボーン追従と物理挙動剛体のものだけをこの設定にし、それ以降の剛体は単純に物理演算剛体としたほうが素直です。

 引き戻す範囲は内部設定なのでどうなっているかはユーザーには分かりません。また、完全に位置を同一化させるようなものでもなさそうで、「ある程度」引き戻されるという感じなので、よく挙動を見ないと分からなかったりします。

 挙動がふにゃふにゃして固めにしたい場合、この設定を使っても悪くはないのですが、これを使うよりもジョイントの設定などで追い込んだ方が素直には動くと思います。
 腰ひもなど、ボーン追従剛体と絡みやすい部分などには使った方が良いでしょう。

■ Joint設定
 ジョイントの設定は名称通りの事が多いので詳しい説明は書籍や他を参考にしてください。
 ですが前述の通り、MMMではここの数値設定に対して割と厳密というか数値通りに動くようになってますので、特に制限とバネの設定は少々綿密にしたほうが理想の挙動に近づけられます。

 回転制限などの計算順番は、X軸の制限を行った後にY軸へ、そしてZ軸へという感じなので、3軸一度に制限が掛かるようではありません。
 スカートのような構造では、Y軸よりもX・Z軸の挙動幅の方が大きいので、計算順もそれに合わせるように、ジョイントのZ軸を90度回転させて設定し、計算順番を任意的に変えるというテクニックもあります。
 移動制限の方も、裾側へいくほど0-0でかっちり固めるよりは、-0.5~+0.5のようにちょっとだけ動いても大丈夫なようにしつつ、下記のバネとの兼ね合いで設定すると挙動が良くなったりします。

 バネは文字通りバネっぽい動きをする設定です。最終的には元に戻ろうとする力が働くのですが、元に戻るまでに何度か反復運動をしながら収束していく動きとなります。
 びよーんびよーん ⇒ ぷるぷる ⇒ ピタっ
 って感じですね。
 なので、こちらもまたスカートなどの挙動では、回転制限などでかっちり決めるよりは、制限を少々緩やかにしつつ、バネの方で元に戻ろうとさせた方が、柔らかさと防御力を兼ね備えた挙動にしやすいです。

 バネの数値は何を基準とされているかはいまいちよく分かっていませんが、割と50とか100とか思い切った数値を入力した方が挙動のコントロールはしやすいかもしれません。

■ ジョイントロックについて
<改定20120701>

JOINT挙動について(訂正・改定)
http://mikudan.blog120.fc2.com/blog-entry-318.html



■ MMM上での物理挙動の諸注意
 MMMでは物理ワールドの分解能は120fpsまで引き上げられています。その分計算が重くはなっていますが、より衝突判定などが正確になっていますので、すり抜けなどが少なくなってるはずです。
 ですが、通常の操作画面での再生では、表示FPSに左右されて計算されますので、表示FPSが落ちているとその分の計算が飛ばされます。
 正確な挙動が見たい場合は、

1:AVI出力して確認
2:物理演算焼きこみを行った後、物理演算・髪IKなどをオフにして再生チェック
3:頑張って30fps以上の表示速度になるよう、グラボやCPUなどのスペックを上げる

 のいずれかになります。
 物理演算焼きこみをする前にプロジェクトを保存しておき、何度がシード値を変えつつ挙動をチェックするという方法も取れます。
 焼きこみでのチェックは再現性100%ですし、細かい挙動のチェックなどもできるので、物理特性の数値を決めるのにも役立ちます。
 また、挙動に問題なければ、それ以降は物理演算処理が必要なくなるので、CPU負荷も軽減した状態で作業が続行できますし、多人数モデルを使用している場合はこの恩恵がかなり大きいです。
 モーションレイヤーを使って、物理挙動に手を加えて思う通りに動かす事も可能です。
 更に焼きこんだ後、高FPS設定でAVI出力を行えば、スーパースローの表現も可能です。
(MMDでは高FPSでAVI出力しても、物理挙動は60fpsが限界。120fpsで出力しても2コマづつしか動いてくれない)


以上です。
いずれ、また別な形でまとめるかもしれません…いつになるか分かりませんが。

最後となりましたが、
樋口さん、Moggさん、極北P、ででさんに感謝致します。ありがとうございます。
関連記事
スポンサーサイト

コメント

非公開コメント

プロフィール

かんな

Author:かんな
ニコニコ動画などでMMD動画をうpしてるしがないユーザーの一人。
ブロマガ版みくだん
連絡先:mikudan3939葱gmail.com
(葱を半角@に変換してください)

カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
Twitter
MMD関連物
カテゴリー
最近の記事
ブログ内検索
リンク
RSSフィード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。