力学シミュレーションエンジンを構築する――車輪の再発明は控えめに

物体の挙動を物理的に計算して、CGで動きを表現するという力学シミュレーションの世界は、ちょっと前に急激に発展して、今ではほぼ完成の域に達している状況です。多関節体を自然に動かしたい、というのが最終目的なので、単体の剛体シミュレーションは欲張らずに先人の知恵をお借りしたいと思います(多関節体も多分にそうですが(^^;; )剛体シミュレーションで求められるスペックとしては、

  • 姿勢に制限が無い

RPY(ロール・ピッチ・ヨー)からなる姿勢表現法は、一見簡単ですが、ピッチが90度になったときなど、自由度が1減ってしまい、ジンバルロックという状況に陥って姿勢表現が不可能になります。これを防ぐ為に、思い切ってクォータニオンを姿勢表現に用いることにしようと思います。

  • 相互の衝突判定が可能である

地面や、剛体同士の衝突を検出して、衝突状況に応じた反力を返す必要があります。これはシミュレーション方法というより、むしろ計算方法の工夫が必要になりそうです。


という所です。これもまた欲張らずに、最低限動かす所からはじめようと思います(^^;;