回答:
剛体の物理学は実際には概念が非常に単純です。つまり、エンジンが作成しようとしている動作はそれほど複雑ではありません。あなたが見たライブラリがあなたにとって非常に単純に見えるのは、おそらくそれが理由です。
秘訣は、浮動小数点エラーや低い可変フレームレートなどが存在する場合でも、堅牢で安定した高速のシミュレーションを作成することは非常に難しく、通常は微調整と手間がかかることです。問題をさらに複雑にしているのは、多くの非常に賢い人々がより良い解決策を見つけるために英雄的な努力をし、美しく強力であるが理解しにくいアルゴリズムを考案して、この分野に黒魔術の評判を与えたという事実です。
一般に、物理エンジンは3つのことを考慮します(内部ループでの実行順序は異なります)。
これらのほとんどには、単純ですがそれほど正確ではないアルゴリズムと、複雑ですがより正確なアルゴリズムの両方があります。はじめに:
単純な方法と、発行されたばかりの本「Game Physics Pearls」の初期の章で何がうまくいかないかについての優れた紹介があります。
Glenn Fiedlerのゲーム物理学シリーズをご覧ください:http : //gafferongames.com/game-physics/
また、Erin Catto(Box2Dの作者)は、制約付きダイナミクスに関する論文を持っています。
衝突検出については、Christer EricsonによるReal-Time Collision Detectionをご覧ください。
http://en.wikipedia.org/wiki/Rigid_body_dynamicsから始めるのが良いでしょう。ゲームが異なれば物事も異なるボディに分割されますが、一般的には、特定のプロパティを持つジョイントによってリンクされた多数の個別の剛体があります。ゲームをループするたびに、各ボディの力を計算し、その新しいパラメータ(位置、速度など)を計算します。また、各ボディからジョイントを共有する他のボディに力を伝達し、グローバルフォース(重力)を考慮に入れる必要があります。
これは液体や布の物理学のようなものをカバーしていません、それらはすべて私にとって意味不明なものです。微分方程式が関係していて、それは私の目が上を見る点に関するものです。
OpenClothは、可能な限りシンプルな方法ですべての統合手法を詳述します。多くはパイプラインにあります。
リンクのリストに追加するだけで、BaraffのSIGGRAPHのメモは非常に役に立ちました。