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 to comment
Share on other sites

Okay die Frage kommt wohl nicht ganz rüber:
Wie setzte ich das am sinnvollsten um ?
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 ?

 

Link to comment
Share on other sites

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 to comment
Share on other sites

  • 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 to comment
Share on other sites

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...