パスワードを忘れた? アカウント作成
11955168 journal
日記

akiraaniの日記: MMDの多段ボーンと物理演算を利用して特殊な自動動作を行う

日記 by akiraani

こないだの日記の続きの話

週末MMDの物理演算による自動駆動モデルでいくつか実験したので、ちょっと理論的な話のまとめを

MMDのボーンには、親ボーンの動きに追随する機能、さらに別のボーンの動きを任意の倍数で付与する機能がある。要はボーンの動作の足し算ができる機能だ。
この機能を応用したのがいわゆる多段ボーンで、あらかじめ動作を分解して複数のボーンで動作を制御できるようにしておいて、合成結果を動きをつかさどるボーンに反映することで、モーション作成を楽にするという手法だ。
わかる人にだけわかるように説明すると、経緯台を赤道儀にすると最初にセッティングするのは面倒だけど星の追跡が楽になる、みたいな話が多段ボーンだと思っておけばいい。うん、これわれながらよくできたたとえだと思うのでメモっておこう(ぉ

さて、ここで今度は自動動作の話になる。
MMDのボーンにおける移動回転付加には限界値や制限値を設定することができない。このため、特殊な動きを再現しようと思うと、ものすごく複雑で視覚化しにくい多段化が必要になる。
そこを、物理演算を利用することで単純化しようというのがこの話の肝である。

その実例がこないだやった物理演算リフトである。
それがこの物理演算リフト試作二号機だが、あるところまでゆっくり上に動くと突然横にスライド、その後急下降してスタート位置に戻るという面倒な動きを自動化している。

仕組みがどうなっていうるかというと、まず反発係数と移動減衰に極端な値を設定したボールAを筒の中でバウンドさせる。この時、ボールAは急激に上昇してゆっくり下降するという動きになる。
このボールAの動きを反転して付加したボーンにボールBを追随させると、ボールBはゆっくり上昇して急激に下降するという動作を繰り返すようになる。
さらに、ボールBの上昇上限値付近にジョイントで稼働する蓋を用意すると、この蓋はボールBが一定の高さまで来たところで斜め方向に円弧を描いて押しのけられる。
ボールBの動きにこの蓋の動きを反転して加算してやると、ゆっくり上昇してあるポイントで突然真横にスライドし、すとんと落ちるという不思議な動作をするようになる。

このよう物理演算を利用して剛体の設置や形状を工夫すれば、多段ボーンを使うよりも簡単に複雑な動作をさせることができるようになる。

この動作を応用すれば、歩行モーションを物理演算で自動作成したりといったことも可能になるのではないだろうか。ちょっと研究してみる価値はあるかもしれない……。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...