Pathfinding con movimento 2D, senza griglia su terreno uniforme


12

Sto cercando la migliore soluzione al pathfinding nel mio gioco. La mappa è in definitiva basata sulla griglia, ma le entità sono posizionate usando float e possono spostarsi in qualsiasi direzione verso qualsiasi punto della mappa. Il "terreno" nel mio gioco ha un costo di movimento uniforme, ma ovviamente ci possono essere ostacoli che bloccano la strada. La maggior parte degli ostacoli sarà statica, e anche se ci saranno altre entità animate del gioco, io possa farla franca, non considerando le loro - è un isometrico Tema Ospedale gioco di strategia stile, in modo che nessun combattimento.

La maggior parte degli articoli di ricerca di percorsi che ho visto riguardano il movimento 3D o 2D basato su griglia. Qualche suggerimento per qualcosa che potrebbe riguardare il mio caso d'uso? Grazie molto.


Non ho tempo per una risposta corretta in questo momento, ma potresti voler esaminare questa domanda: stackoverflow.com/questions/4054701/… .
Christian,

Risposte:


14

Questo è chiamato "problema di path-tracking in qualsiasi angolo". Fondamentalmente hai due scelte:

  1. Genera una mesh di navigazione per la tua mappa e cerca tra quelle usando A *

    Maglia di navigazione

  2. Cerca su una griglia usando un algoritmo pensato specificatamente per l'individuazione di qualsiasi angolo. Tradizionalmente, il modo per farlo era A * + smoothing del percorso (interpolazione lineare, ecc.) , Ma oggigiorno un'alternativa più popolare è Theta * , che è più facile da implementare, corre più veloce e produce risultati migliori rispetto al smoothing del percorso.

    Theta * vs. livellamento del percorso

Tutti i metodi sopra generano risultati quasi ottimali. Se per qualche motivo hai bisogno di risultati ottimali, questo documento è stato pubblicato poche settimane fa. Non ho ancora avuto la possibilità di leggerlo, quindi non so quanto sia efficiente o quanto sia difficile da implementare.


Grazie mille! Non ho bisogno di risultati totalmente ottimali, purché vicini.
tommaisey,

1
Ho pensato di aggiungere questo articolo a quelli che hai elencato. Sembra una versione più succinta del documento che hai collegato, di uno degli autori del documento originale. Penso che andrò con Theta *, evviva.
tommaisey,

Il collegamento non funziona. Si prega di aggiornare la risposta.
firelynx,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.