Jika (untuk tujuan deteksi tabrakan) objek 3D direpresentasikan dalam game oleh spheres, apa algoritma yang baik untuk mendeteksi tabrakan antar spheres?
Jika setiap objek memiliki posisi pada frame terakhir dan posisi baru (yang diinginkan), apa itu algoritma yang baik yang akan mengidentifikasi tabrakan di mana bola tidak berpotongan di frame sebelumnya, dan mereka mungkin tidak berpotongan di frame kedua, tapi mereka berpotongan di suatu tempat di antara keduanya?
sumber
Menggunakan tes menyapu seperti yang ditunjukkan dalam ini artikel Gamasutra.
sumber
Dari atas kepala saya:
Dan hanya itu yang ada di sana, saya berharap itu cukup cepat.
sumber
Inilah artikel Gamasatura yang bagus .
sumber
Berbicara sebagai seseorang yang telah melakukan ini: tidak sepadan dengan kerumitannya . Kecuali jika desain game Anda benar-benar membutuhkannya, dan hampir pasti tidak, Anda akan menghabiskan lebih banyak usaha untuk menyapu pekerjaan daripada yang Anda harapkan. Dan itu akan lebih lambat dari yang Anda inginkan.
sumber
Ada artikel tentang mendapatkan deteksi tabrakan dengan matematika di Flipcode . Ini memiliki lingkaran-cirle. Ada cara untuk mendeteksi secara tepat titik tabrakan dan memeriksa apakah ada tabrakan sama sekali.
sumber
Deteksi tabrakan untuk objek bergerak biasanya disebut "Perhitungan volume Swept", berikut beberapa kode / artikel tentang subjek ini.
http://www.gpu-voxels.org/demos/ (Demo)
Pustaka kode sumber:
https://github.com/fzi-forschungszentrum-informatik/gpu-voxels
https://libigl.github.io/tutorial/#swept-volume
https://github.com/gradientspace/geometry3Sharp
Artikel:
http://gamma.cs.unc.edu/SV/sm03.pdf
https://www.cs.columbia.edu/~allen/PAPERS/abrams.swept.pdf (Sayangnya tidak ada kode sumber)
http://www.realtimerendering.com/intersections.html (Koleksi tautan agak berat)
sumber