Fisika tubuh kaku sebenarnya cukup sederhana dalam konsep - yaitu, perilaku yang coba dibuat oleh mesin tidak terlalu rumit. Mungkin itulah sebabnya perpustakaan yang Anda lihat tampak sederhana bagi Anda.
Kuncinya adalah membuat sim yang kuat , stabil , dan cepat , bahkan di hadapan hal-hal seperti floating-point error dan rendah, framerates variabel, cukup sulit dan biasanya melibatkan banyak tweaker dan mengutak-atik. Yang semakin memperumit masalah ini adalah kenyataan bahwa banyak orang yang sangat pintar telah melakukan upaya heroik untuk menemukan solusi yang lebih baik, dan telah datang dengan algoritma yang indah dan kuat tetapi sulit dipahami yang telah memberikan lapangan reputasi untuk ilmu hitam.
Secara umum, mesin fisika akan memusatkan perhatian pada tiga hal (urutan di mana mereka melakukannya dalam loop internal bervariasi):
- Integrasi (mendekati persamaan gerak Newton),
- Deteksi tabrakan, dan
- Penyelesaian kendala (memperbarui posisi dan kecepatan untuk memenuhi nonpenetrasi atau kendala yang ditentukan pengguna lainnya).
Untuk sebagian besar dari ini, ada algoritma sederhana tetapi tidak begitu akurat dan algoritma kompleks tetapi lebih akurat. Untuk membantu Anda memulai:
- Untuk integrasi, kebanyakan orang menggunakan Symplectic Euler atau Verlet (yang sebenarnya setara. Anda dapat membaca tentang integrasi numerik jika Anda suka, tetapi konsensus tampaknya bahwa metode first-order murah baik-baik saja.
- Anda dapat menemukan semua referensi deteksi tabrakan yang Anda inginkan di halaman sumber daya Rendering Real-Time .
- Untuk pemecahan kendala, metode impuls berurutan sangat mudah dipahami. Erin Catto (penulis Box2D) memberikan presentasi di GDC setiap tahun - slide dihubungkan dari halaman utama Box2D . The 2006 slide menutupi impuls berurutan cukup baik. Anda juga dapat melihat metode yang lebih bagus seperti Featherstone atau proyeksi Gauss-Seidel.
Ada pengantar yang sangat baik untuk metode sederhana dan apa yang bisa salah dalam bab-bab awal dari buku yang baru saja diterbitkan Game Physics Pearls.