Erstellen eines RTS-Spiels #15: Hinzufügen einer Minikarte und Nebel des Krieges 3/3 (Unity/C#)

Blog

In den letzten Wochen haben wir an der Minimap und dem Nebel des Krieges-Systems für unser RTS-Spiel gearbeitet. Sie ermöglichen es uns, das Gelände aus der Vogelperspektive zu betrachten und unerforschte, bereits erforschte und sichtbare Bereiche zu unterscheiden. Wir haben einen kleinen UI-Indikator, um den Teil der Karte, der gerade von der Hauptkamera sichtbar ist, besser zu materialisieren und einige Spielparameter, um die Einstellungen des Kriegsnebels einfach zu ändern.



In diesem letzten Teil werden wir dies mit einigen letzten Schliffen abschließen:

azurblau immer kostenlose Dienste
  • ein Mechanismus für direkte Kamerateleportation wenn wir auf die Minimap klicken
  • ein kleines Einblendeffekt auf Einheiten FOV also gehen wir ein wenig von dunkel zu hell über, wenn wir ein Gebäude platzieren oder eine Charaktereinheit erstellen
  • bedingtes Rendering für die Szenenobjekte je nach Art und je nachdem, ob sie sich gerade in einem Sichtbereich oder einfach nur in einem bereits entdeckten Bereich befinden

Bewegen der Kamera, wenn wir auf die Minikarte klicken

Sofortige Kamera-Teleportation ist ordentlich, weil sie es dem Spieler ermöglicht, schnell gehe zum anderen rand der karte ohne ständig eine Pfeiltaste drücken oder die Maus über Dutzende von Sekunden auf einen Bildschirmrand kleben zu müssen.



Wie in den meisten RTS-Spielen implementieren wir diesen Minimap-Klick: Immer wenn der Spieler irgendwo auf die Minimap klickt (in einer erkundeten Zone oder nicht), wird die Kamera bewegt sich sofort Der übereinstimmende Punkt in der 3D-Szene befindet sich also in der Mitte des Hauptkamerabildschirms. Wir werden es sogar so machen, dass wir auf die Minikartenanzeige klicken und sie ziehen und die Hauptkamera automatisch entsprechend aktualisieren können (beobachten Sie den Mauszeiger auf der Minikarte in der unteren linken Ecke):

Die Idee ist ungefähr:



  • Fügen Sie ein Skript zum Minimap-UI-Objekt hinzu (das Bild, das mit der Rendertextur gefüttert und in die untere linke Ecke der Benutzeroberfläche verschoben wird)
  • Behandeln Sie in diesem Skript Ziehereignisse und senden Sie jedes Mal, wenn eine Bewegung erkannt wird, ein Ereignis, um die (Haupt-)Kameraposition zu aktualisieren
  • im |_+_| Skript, fangen Sie dieses Ereignis ein und platzieren Sie die Kamera entsprechend

#spiele #tutorial #einheit #csharp

medium.com

Erstellen eines RTS-Spiels #15: Hinzufügen einer Minikarte und Nebel des Krieges 3/3 (Unity/C#)

In diesem letzten Teil werden wir dies mit einigen letzten Schliffen abschließen: