Düzgün arazi üzerinde 2B, ızgara tabanlı olmayan hareket ile yol bulma


12

Oyunumda yol bulma için en iyi çözümü arıyorum. Harita sonuçta ızgara tabanlıdır, ancak objeler kayan nokta kullanılarak konumlandırılır ve haritadaki herhangi bir noktaya herhangi bir yönde hareket edebilir. Oyunumdaki 'zemin' eşit bir hareket maliyetine sahip, ancak elbette yolu engelleyen engeller olabilir. Oyunda diğer canlı varlıklar olacak rağmen engellerin çoğunluğu statik olacak ve ben olabilir onları düşünmediğini paçayı - bu izometrik var Tema Hastanesi yüzden kavga yok, stil strateji oyunu.

Gördüğüm yol bulma makalelerinin çoğu 3B veya ızgara tabanlı 2B hareketi kapsıyor. Kullanım durumumu kapsayabilecek bir şey için herhangi bir öneriniz var mı? Çok teşekkürler.


Şu anda doğru bir cevap için zamanınız yok, ancak şu soruya bakmak isteyebilirsiniz: stackoverflow.com/questions/4054701/… .
Christian

Yanıtlar:


14

Buna "herhangi bir açılı yol bulma sorunu" denir. Temel olarak iki seçeneğiniz var:

  1. Haritanız için bir gezinme ağı oluşturun ve A * kullanarak arama yapın

    Gezinme ağı

  2. Özellikle herhangi bir açılı yol bulma amaçlı bir algoritma kullanarak bir ızgara üzerinde arama yapın. Geleneksel olarak, bunu yapmanın yolu A * + yol yumuşatma (doğrusal enterpolasyon, vb.) İdi, ancak bu günlerde daha popüler bir alternatif, uygulaması daha kolay, daha hızlı çalışan ve yol yumuşatmadan daha iyi sonuçlar üreten Theta * .

    Teta * ve yol düzeltme

Yukarıdaki yöntemlerin hepsi neredeyse optimal sonuçlar üretir . Herhangi bir nedenle en iyi sonuçlara ihtiyacınız varsa , bu makale birkaç hafta önce yayınlandı. Yine de okuma şansım olmadı, bu yüzden ne kadar verimli olduğunu ya da uygulanmasının ne kadar zor olduğunu bilmiyorum.


Çok teşekkürler! Yakın olduğu sürece tamamen optimal sonuçlara ihtiyacım yok.
tommaisey

1
Bu makaleyi listelediklerinize ekleyeceğimi düşündüm . Orijinal makalenin yazarlarından biri tarafından bağladığınız kağıdın daha özlü bir versiyonu gibi görünüyor. Sanırım Theta * ile gideceğim, şerefe.
tommaisey

Bağlantı çalışmıyor. Lütfen cevabı güncelleyin.
firelynx
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.