物理シミュレーションを用いた移動制御

こんにちは

物理シミュレーションを用いた移動を実装したいと思い、とりあえずAddTorqueを使って地面を這いずれるのではないかと考えました。

キャラクターをラグドール化させ、手先の摩擦係数を1に設定し、AddTorqueで肩を回せばクロールのように進んでくれるのでは?と考えたのですが進んではくれませんでした。

キューブとシリンダー4つで作った車に同じような方法(シリンダーをAddTorqueで回転)を適用したところ遅いながらも進んでくれたので間違った方法ではないと思うのですが、、、

スケルタルメッシュでは物理シミュレーション中に用いて移動することはできないのでしょうか?

Emergence of Locomotion Behaviours in Rich Environments

このように物理的な移動を実装したいと考えています。

ありがとうございます。

そちらの解説や動画を見たところ、移動に伴い物理シミュレーションが行われている(移動->物理)ように感じます。
物理シミュレーションを行った結果、移動が発生する(物理->移動)ということは難しいということでしょうか?

物理アニメーション機能を用いればある程度は可能です。詳細は以下で解説されています。

http://unrealengine.hatenablog.com/entry/2016/10/18/213416

ただし、動画のように完全に物理ベースに制御させるのはかなり難しいでしょう。可能な範囲で調整していくのが無難かと思います。

動画のように姿勢制御まで行わせて、重心によって倒れたりする挙動を作るのは標準の機能だけでは難しいです。

そのような実装を作る場合には物理の姿勢制御プログラムから独自実装していく必要があります。

なるほど、少し難しそうですね、、、
ありがとうございました。