Jump to content
Unity Insider Forum

Pfad in einer Hexmap anzeigen


Recommended Posts

Hallo,

ich habe mir mal eine Hexmap angelegt, ein Schiff erstellt.

Im Moment bewegt sich das Schiff in einer direkten Linie von a nach b.

 768509043_Screenshot2021-04-23085851.thumb.png.b7536bb75d6d62aa42778a8f1b27577f.png

Ich möchte jetzt eigentlich 2 Dinge realisieren:

1. wie im unteren Bild einen Pfad anzuzeigen.

2. das Schiff soll dann dem Pfad folgen bis zum Endpunkt.maxresdefault.thumb.jpg.4559d9ab453abc0febd53931215a8646.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb Bradley:

Ermitteln durch welche Hex Felder die gedachte Linie von A nach B geht und dann von deren Zentrum jeweils eine Linie Zeichen zum nächsten Hex Feld ?

Klingt sehr gut. LineRenderer wäre die erste Anlaufstelle. Wobei ich nicht genau sagen kann, wie gut der ist, wenn deine Linie am Ende immer ein Pixel breit sein soll. Dem gibst du eine Menge an Positionen und er zeichnet eine Linie von Position zu Position zu Position.

Das Ermitteln machst du mit einem so genannten "Path Finding"-, also "Wegfindungs"-Algorithmus. Die meisten davon - oder zumindest die Beispiele und Tutorials, die man für die so findet, sind für quadratische Grids. Aber hexagonale Maps sind verbreitet genug, dass du auch hex-spezifische Hilfe finden kannst. Mit A* kannst du idR nichts falsch machen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 month later...

Um meinen alten Thread weiter zu nutzen, mitlerweile kann ich einen Pfad auf der Map einzeichnen vom Start zum Endpunkt (weiße Linie)

Das Problem vor dem ich jetzt stehe ist: Ich muss die Tiles bestimmen durch die, die Linie geht.

Mir fällt da nur der sehr dreckige weg ein, bei jedem pixel auf der Linie zu schauen in welchen Tile er liegt, um einen zwischenschritt dann einzufügen.

Anders gefragt: Bietet Unity mir da schon ein werkzeugt zu erkennen durch welche Tiles meine Linie geht ?
WaypointCalculation.thumb.png.7721d45a20e55536d016471e0098696a.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 months later...

Hallo.

Ich bin relativ neu in Unity, kann Dir da also wenig helfen aber...

Ich habe das ganze schon mal in C# gemacht. Dort hatte jedes Hexfeld eine Point-Variable (bei Unity Vector2) in der ich den Mittelpunkt des Feldes gespeichert habe. Mit A* habe ich dann den Path berechnet und hatte so eine Liste mit allen Hexfeldern durch die das Raumschiff fliegen muss. Dann habe ich mit dieser Liste einfach eine Linie von Mittelpunkt zu Mittelpunkt gezeichnet.

So in der Art muss das bei Dir doch auch möglich sein, weil Du ja auch iwie den Weg berechnet haben musst. Von daher solltest Du doch schon wissen durch welche Hexfelder dieser geht.

Gruß
Jan

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...