Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Garzec

Alter Hase

  • »Garzec« ist der Autor dieses Themas

Beiträge: 693

Wohnort: Gießen

  • Private Nachricht senden

1

09.03.2017, 22:12

Minimap zum Visualisieren des Dungeons in Unity bauen

Guten Abend,
ich habe für mein Spiel aktuell ein "Radar", also Gegner werden um den Spieler herum als rote Punkte angezeigt. Das ist ganz nett, aber eigentlich brauche ich dieses Feature nicht. Viel interessanter wäre es, die Minimap so zu gestalten, dass keine Gegner angezeigt werden, sondern der Dungeon.

Als passendes Beispiel habe ich mal Bilder von den Diablo 3 Maps rausgesucht. Dort sieht man die "große" Karte und die Minimap. Mir geht es vorrangig um die Minimap (Ich bin mir nicht sicher, aber ich glaube, dass ist einfach eine gezoomte große Map).

Zu meiner Frage, wie generiert man denn so etwas? Beim Radar muss man die Gegner ja nur durch Farben ersetzen und gut ist. Aber bei der Minimap muss ich ja quasi ein Abbild des Dungeons haben.

Ich rechne fest damit, dass das Thema sehr komplex ist und nicht mal eben so machbar. Aber vielleicht weiß ja jemand wies geht ;)
»Garzec« hat folgende Bilder angehängt:
  • d3fullmap.png
  • d3minimap.png

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

10.03.2017, 06:31

Ein Dungeon ist letztlich auch nur aus Tiles aufgebaut. In diesem Fall aus 3D-Tiles auf denen sich der Spieler bewegt *und* 2D-Tiles, die die Minimap ergeben. Die große Map ist eine wieder separate dritte 2D-Tilemap - oder eben ein Zoom, wie du willst. Du hast also pro Map-Tile mehrere Elemente, die für unterschiedliche Darstellung genutzt werden.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (10.03.2017, 06:47)


3

10.03.2017, 06:39

Also ich hätte einfach mithilfe der Dungeonposition berrechnet wo auf der Karte der Dungeon ist. Dann hätte ich getestet ob der Dungeon auf der Minimap zu sehen ist. Wenn er zu sehen ist, würde ich mithilfe der Bildschirmkoordinaten der Minimap und der relativen Dungeonposition ein einfaches Dungeonsymbol an dieser Stelle zeichnen.
Albert Einstein sagte: "2 Stunden mit einem netten Mädchen fühlen sich an wie 20 Minuten, 20 Minuten auf einem heißen Ofen fühlen sich an wie 2 Stunden. - Das ist Relativität"

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

10.03.2017, 06:41

Ich glaube du missverstehst. Alles, was die Minimap zeigt, ist der Dungeon. Er ist kein Symbol auf der Minimap oder sowas. Das Symbol ist die Spielerposition und Blickrichtung - Wahlweise der Ausgang im ersten Bild.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Garzec

Alter Hase

  • »Garzec« ist der Autor dieses Themas

Beiträge: 693

Wohnort: Gießen

  • Private Nachricht senden

5

10.03.2017, 06:48

Okay. Das Level prozedural zu bauen, soweit bin ich noch gar nicht :D Dann muss ich das wohl hinten dran stellen. :)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

10.03.2017, 07:23

Das Level muss dafür ja auch gar nicht prozedural erstellt worden sein. Von Hand geht genauso. Du kannst auch für ein Non-Tile-Level einfach ein Bild als Minimap hinterlegen und gut is. Das Bild für jedes Level musst du dann natürlich selbst erzeugen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

FarFarAway

Frischling

Beiträge: 6

Wohnort: Bonn

Beruf: System Operator | Student

  • Private Nachricht senden

7

10.03.2017, 11:06

Ich finde da liefert die Doku der SFML ein gutes Beispiel wie man soetwas umsetzen kann (C++ nicht Unity/C#).
Man rendert die Map "einfach" ein zweites mal in Kleiner und legt diese in / über das aktuelle Bild:

https://www.sfml-dev.org/tutorials/2.4/g…-view-is-viewed

VG

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

8

10.03.2017, 12:00

Je nach dem ob du doch noch live-Elemente aus der Minimap haben möchtest, könntest du auch einfach eine Kamera verwenden, die in regelmäßigen Abständen(oder auf Kommando) einen Snapshot der für den Spieler sichtbaren Welt macht und als Textur abspeichert und in den Minimap-Slot deiner UI ablegt. Diese Kamera wäre quasi allumfassend mit geradem Blick von oben auf die Map und ist nur für 1 Frame aktiv, um die Aufnahme zu machen. Ansonsten ist sie deaktiviert und stört auch nicht weiter.

So kannst du auch Fog of War usw akkurat auf der Minimap darstellen.
WIP Website: kevinheese.de

Garzec

Alter Hase

  • »Garzec« ist der Autor dieses Themas

Beiträge: 693

Wohnort: Gießen

  • Private Nachricht senden

9

10.03.2017, 13:29

Danke für die Ideen :) Ich möchte die Minimap aber nicht besonders übersichtlich gestalten, also zb Gegner müssen jetzt nicht mit drauf. Aus diesem Grunde hatte ich die Diablo Minimap als recht passend empfunden.

Renegade

Alter Hase

Beiträge: 494

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

10

10.03.2017, 19:10

Wie KeksX bereits empfohlen, kannst du wahlweise (wenn du nicht extra eine 2D Map/Tiles/Elemente erstellen willst) auch eine weitere Kamera nutzen. In der Kamera-Komponente dann die Culling Mask so anpassen, dass ggf. Gegner/Items nicht angezeigt und nur die Elemente des Levels gezeichnet werden.
Liebe Grüße,
René

Werbeanzeige