How to make a Hex Grid System Unity Tutorial! (Like Civilization, Opus Magnum, Gloomhaven)

Code Monkey
3 Oct 202221:47

Summary

TLDRDieses Videotutorial zeigt, wie man ein quadratisches Gitter in ein hexagonales umwandelt, um die Weltpositionen in einem Spiel zu identifizieren. Es wird erläutert, wie man die Gitterpositionen in Weltpositionen umrechnet und umgekehrt, mit einem Schwerpunkt auf hexagonalen Gitterlogik. Der Sprecher teilt auch mit, dass er nach Anfrage seiner Kursteilnehmer einen kostenlosen Update-Teil zu Hex-Gittern in seinem Strategiespielkurs erstellt hat, der bereits für viele als nützlich und anpassbar bekannt ist.

Takeaways

  • 😀 Das Video vermittelt, wie man ein quadratisches Raster in ein hexagonales Raster umwandelt, um die Spielfläche für ein Strategiespiel zu gestalten.
  • 🔍 Der Sprecher hat ein Online-Kurs gestartet, der Fähigkeiten im Bereich Turn-Based-Strategiespiele von Anfänger bis zu Fortgeschrittenem stuft.
  • 📚 Die Kursbesprechungen betonen die Wichtigkeit von sauberem Code und einer guten Code-Architektur, um Erweiterungen leicht umzusetzen.
  • 📈 Die Nachfrage nach Hex-Raster-Logik war hoch, weshalb der Sprecher diese in einem kostenlosen Update behandelt.
  • 📝 Ein separates Video behandelt die Mathematik, um zu testen, ob ein Punkt innerhalb eines Hexagons liegt.
  • 🤔 Die Suche nach guten Informationen zur Erstellung eines Hex-Raster-Systems in Unity ist schwierig, da die meisten Tutorials sich auf visuelle Aspekte oder ineffiziente Methoden konzentrieren.
  • 📐 Die Umwandlung des Rasters erfordert eine Verständigung der X-Achsen-Versatz für ungerade Zeilen und die Y-Achsen-Positionierung.
  • 📈 Die Konvertierung von Rasterpositionen zu Weltpositionen ist einfach, die Herausforderung liegt jedoch bei der Umkehrung dieses Prozesses.
  • 🔬 Um eine Weltposition in die entsprechende Rasterposition umzuwandeln, wird eine Näherungs- und Nachbarschaftsanalyse durchgeführt, um die nächstgelegene Position zu ermitteln.
  • 🛠️ Der Code zur Umsetzung des Hex-Raster-Systems basiert auf einer bestehenden Grid-Klasse und erfordert Anpassungen für die neue Logik.
  • 🎨 Für visuelle Debugging-Zwecke wird ein grünes Hexagon verwendet, um die ausgewählte Rasterposition hervorzuheben.
  • 🔄 Es gibt Möglichkeiten, die Leistung des Systems zu verbessern, indem man die Generierung von Nachbarn optimiert und stattdessen von instanziierten Objekten eine Tilemap verwendet.

Q & A

  • Was ist das Hauptziel des in dem Video skizzierten Projekts?

    -Das Hauptziel ist es, eine quadratische Grid in eine hexagonale Grid umzuwandeln und dabei in der Lage zu sein, die Grid-Position einer bestimmten Weltposition zu identifizieren.

  • Welche Rolle spielt die 'hex vertical offset multiplier'-Konstante im Code?

    -Die 'hex vertical offset multiplier'-Konstante wird verwendet, um die Y-Achsenverschiebung für jede ungerade Reihe in der hexagonalen Grid korrekt anzuwenden, wodurch eine korrekte Positionierung der Hex-Grid-Positionen gewährleistet ist.

  • Welche Methode wird verwendet, um von einer Grid-Position zu einer Weltposition zu konvertieren?

    -Die Methode multipliziert die Grid-Position (X, Z) mit der Zellgröße und berücksichtigt, ob es sich um eine ungerade Reihe handelt, um die korrekte X-Achsenverschiebung hinzuzufügen.

  • Wie wird die korrekte Grid-Position für eine gegebene Weltposition ermittelt?

    -Zuerst wird die Weltposition gerundet, um eine grobe Näherung der Grid-Position zu erhalten. Dann werden alle sechs Nachbarn dieser gerundeten Position abgerufen und es wird die kürzeste Distanz zu der ursprünglichen Weltposition berechnet, um die tatsächliche Grid-Position zu ermitteln.

  • Was ist der Unterschied zwischen der Platzierung von Objekten in einer quadratischen Grid und einer hexagonalen Grid?

    -In einer quadratischen Grid werden Objekte in einer regelmäßigen, quadratischen Form platziert. In einer hexagonalen Grid wird jedoch für jede ungerade Reihe eine X-Achsenverschiebung von halber Zellgröße hinzugefügt, um den hexagonalen Ansatz zu erreichen.

  • Welche Schritte sind notwendig, um eine ungerade Reihe in einer hexagonalen Grid korrekt zu offsetten?

    -Um eine ungerade Reihe zu offsetten, wird die X-Position der Zellgröße halber Zellgröße hinzugefügt, während die Y-Position um 75% der Zellgröße (gemäß der 'hex vertical offset multiplier'-Konstante) erhöht wird.

  • Welche Methode wird im Video verwendet, um herauszufinden, ob eine Reihe eine gerade oder ungerade Nummer hat?

    -Die Methode verwendet den Modulo-Operator, um den Rest der Division der Zeilennummer durch zwei zu ermitteln. Wenn der Rest 1 ist, handelt es sich um eine ungerade Reihe.

  • Was sind die Vor- und Nachteile des in dem Video beschriebenen Ansatzes zur Erstellung einer hexagonalen Grid?

    -Der Vorteil dieses Ansatzes ist, dass er skalierbar ist und keine teuren Raycasts erfordert. Ein Nachteil ist, dass die Leistung beeinträchtigt werden kann, wenn viele Nachbarn jedes Mal neu berechnet werden, was zu einer Menge an Garbage führen kann.

  • Welche anderen Ressourcen werden im Video erwähnt, die hilfreich sein könnten, um das Projekt zu verbessern?

    -Das Video erwähnt die Verwendung von Tilemaps, um die Leistung zu verbessern, sowie die Anwendung von dynamisch generierten Meshes, um eine performantere Darstellung der Grid zu erreichen.

  • Welche Kurse werden im Video für Personen angeboten, die ihre Fähigkeiten im Game Development verbessern möchten?

    -Im Video werden der Ultimate Unity Overview Course, der Tower Defense Course und der Turn-Based Strategy Course als Ressourcen angeboten, die helfen können, die Fähigkeiten im Game Development zu verbessern.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
Hex-RasterQuadrat-RasterCode-MonkeyStrategiekursGute-Code-ArchitekturMathematikKoordinaten-UmrechnungUnity-TutorialGame-DevProgrammierungRaster-System
Do you need a summary in English?