Pathfinding dengan 2D, gerakan berbasis non-grid di medan yang seragam

12

Saya mencari solusi terbaik untuk merintis jalan di game saya. Peta ini pada dasarnya berbasis grid, tetapi entitas diposisikan menggunakan float, dan dapat bergerak ke segala arah ke titik mana pun pada peta. 'Tanah' di gim saya memiliki biaya pergerakan seragam, tetapi tentu saja ada hambatan yang menghalangi jalan. Mayoritas hambatan akan statis, dan meskipun akan ada entitas bernyawa lainnya dalam game, saya mungkin lolos dengan tidak mempertimbangkannya - ini adalah game strategi gaya Rumah Sakit Tema isometrik Tema , jadi tidak ada pertempuran.

Sebagian besar artikel pencarian jalur yang saya lihat mencakup gerakan 3D atau berbasis grid. Adakah saran untuk sesuatu yang mungkin mencakup kasus penggunaan saya? Terimakasih banyak.

tommaisey
sumber
Tidak punya waktu untuk jawaban yang tepat saat ini, tetapi Anda mungkin ingin melihat pertanyaan ini: stackoverflow.com/questions/4054701/… .
Christian

Jawaban:

14

Ini disebut "masalah pencarian jalan sudut mana pun." Anda pada dasarnya memiliki dua pilihan:

  1. Hasilkan mesh navigasi untuk peta Anda dan cari yang menggunakan A *

    Jala navigasi

  2. Cari di atas kisi-kisi menggunakan algoritme yang dimaksudkan khusus untuk merintis jalan sudut mana pun. Secara tradisional, cara untuk melakukan ini adalah A * + path-smoothing (interpolasi linier, dll) , tetapi hari ini alternatif yang lebih populer adalah Theta * , yang lebih mudah untuk diterapkan, berjalan lebih cepat, dan menghasilkan hasil yang lebih baik daripada path-smoothing.

    Theta * vs path smoothing

Semua metode di atas menghasilkan hasil yang mendekati optimal. Jika karena alasan tertentu Anda membutuhkan hasil yang optimal, makalah ini dirilis beberapa minggu yang lalu. Saya belum memiliki kesempatan untuk membacanya, jadi saya tidak tahu seberapa efisiennya, atau seberapa sulit untuk mengimplementasikannya.

BlueRaja - Danny Pflughoeft
sumber
Terima kasih banyak! Saya tidak perlu untuk hasil yang benar-benar optimal, asalkan sudah dekat.
tommaisey
1
Hanya berpikir saya akan menambahkan artikel ini ke yang Anda daftarkan. Sepertinya versi yang lebih ringkas dari makalah yang Anda tautkan, oleh salah satu penulis makalah asli. Saya pikir saya akan pergi dengan Theta *, bersorak.
tommaisey
Tautan tidak berfungsi. Harap perbarui jawaban.
firelynx