Saya mencoba menerapkan sistem tabrakan dalam game 2D yang saya buat. Teorema sumbu pemisah (seperti yang dijelaskan oleh tutorial tabrakan metanet ) sepertinya merupakan cara yang efisien dan tangguh dalam menangani deteksi tabrakan, tapi saya tidak terlalu menyukai metode respons tabrakan yang mereka gunakan. Dengan memindahkan secara membabi buta di sepanjang sumbu tumpang tindih paling sedikit, algoritma hanya mengabaikan posisi sebelumnya dari objek bergerak, yang berarti bahwa itu tidak bertabrakan dengan objek stasioner sebanyak itu masuk dan kemudian memantul.
Berikut adalah contoh situasi di mana ini penting:
Menurut metode SAT yang dijelaskan di atas, persegi panjang hanya akan keluar dari segitiga tegak lurus dengan sisi miringnya:
Namun, secara realistis, persegi panjang harus berhenti di sudut kanan bawah segitiga, karena itu akan menjadi titik tabrakan pertama jika bergerak terus menerus sepanjang vektor perpindahannya:
Sekarang, ini mungkin tidak terlalu penting selama bermain game, tapi saya ingin tahu apakah ada cara yang efisien dan umumnya mendapatkan perpindahan akurat dengan cara ini. Saya telah memeras otak saya selama beberapa hari terakhir, dan saya belum mau menyerah!
(Diposting silang dari StackOverflow, harap itu tidak melanggar aturan!)