Jump to content
Unity Insider Forum

Strategie Einheiten Steuerung


Corax

Recommended Posts

Hallo zusammen,

Ich bin Arbeite jetzt seit etwa 2 Wochen mit Unity und bin dabei ein Echtzeit Strategie Spiel zu entwickeln. Es soll wenn es fertig ist so in der Art von Stronghold, age of Empire usw. werden.

 

Was ich im moment habe ist eine Landschaft, auf der ich Gebäude Bauen kann und die ich mir nach Strategie manir ansehen kann.

Momentan versuchen ich Einheiten in das Spiel zu implantieren, einmal Arbeiter die Automatisch zwischen einzelnen Gebäuden hin und her Laufen (Arbeitsplaz, Lager, Arbeitsplatz, Objekt, Arbeitsplatz, Lager, usw). Und zum anderen Soldaten, denen man via auswahl und klik auf die Karte befehle geben kann.

Auserdem wähe eine Art Auswahlramen zum Selektiren der Einheiten nicht Schlächt.

 

Ich bin kommpletter anfänger und habe bis jetzt nur geringe erfahrune (Über Tuturials und dieser Seite) von JavaSkript.

 

Also kurtzfassung, ich suche eine Möglichkeit einheiten auf die Karte zu Spornen und diese zu steuern.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Willkommen! :)

 

Das was du da vor hast ist ein weites Feld. Aber machbar.

Spawnen von Einheiten usw. ist nicht so schwer. Du musst im Endeffekt nur eine Position haben oder ermitteln, damit an dieser Stelle das gewünschte Prefab entsteht. Genauso brauchst du auch eine Position für das Ziel, wo die Leute hin gehen sollen.

Um das mit der Maus zu übergeben, machst du einen Raycast von der Camera aus in Richtung Mauszeiger. Dieser Raycast wird den Boden treffen und die Position wo er getroffen hat, speicherst du dir in eine Vector3 Variable, die du dann für das Spawnen oder als Zielpunkt nutzen kannst.

Um einen Rahmen um mehrere Einheiten zu ziehen mutzt du auch den Raycast. Du brauchst ihn einmal beim MouseDown und einmal bis zum MouseUp. Mit diesen 2 Koordinaten hast du die Möglichkeit ein Rechteck darzustellen und alle Einheiten innerhalb dieser 2 Coordinaten auszuwählen.

 

Ich schreibe dir extra keinen Code auf, damit du das selber mal probieren kannst. Schau dir in der Unity Referrenz einfach mal Physics.Raycast an und was man damit alles machen kann. Da gibt es schon einmal viele Beispiele.

Dann brauchst du Infos über Vector3, das Navmesh, Instantiate, OnMouse und Transform.

Du willst ja die Positionen auswerten, die Körper erstellen, bewegen und auch drehen und sie sollen auch selbstständig einen Pfad gehen können.

 

Spiel einfach mit Grundkörpern in einer einfachen Szene und bau Eins nach dem Anderen auf.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn auch leicht verspätet, vielen dank für die schnellen tipps.

Bis jetzt habe ich zwar noch nichts dafon wirklich brauchbar umsetzen können aber ich glaube es wird mir dennoch noch einiges bringen.

 

Warscheinlich werde ich erst einmal verschiedene Ansätze in unterschiedlichen Projekten ausprobieren und dann die erfolgreichsten in einem Hauptspiel umsetzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin und willkommen in der Unity Gemeinde :)

 

Malzbie hat dir ja schon gute Tips für deine Anfrage geben.

 

Wenn du noch neu bist und erste Erfahrungen mit Unity 3d und JavaScript machst, dann schau dir doch mal Videos auf Youtube an.

Ich habe da selbst unheimlich viel gelernt.

Wenn du ein wenig english kannst, wirst du da auch zahlreiche Erklärungen finden. Ansonsten hilft es auch einfach nur mal zuzuschauen und mitzumachen. Wenn man dann die Scripte ausprobiert und weiter bastelt, kommen meist noch gute Ideen und andere Umsetzungsmöglichkeiten ^^

 

Schau mal bei YT z.B. nach "Unity 3d RTS Tutorial"

Alternativ würde ich dir empfehlen dir die Beispiele auf der Unity3d Seite anzuschauen. Auch davon lernt man ungemein viel.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 weeks later...

Ich habe das mit der Steuerung über Auswahlrahmen, beziehungsweise klick hinbekommen, suche aber noch eine Möglichkeit wie die Arbeiter von einem durch Gebäude (nicht auf der Mäp, wird im spiel über GUI´s erzeugt) definierte Wegpunkte ablaufen können. A* Pathfinding habe ich mir in der kostenlosen Version aus dem Assets Stor geholt, habe aber das Problem das es nicht läuft (nach neustart des Programms kein Fenster).

 

Was mir auch helfen würde wären Tipps wie ich ein Kampfsystem machen könnte (Warscheinlich über Koleider um die Einheiten und abfragen ob Feinde berührt werden). Auch wenn das etwas vom Titel abweicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

habe aber das Problem das es nicht läuft

 

Ohne jetzt groß Ahnung von dem System zu haben, würde ich grundsätzlich sagen, dass "funktioniert nicht, also brauche ich etwas anderes" meistens keine gute Herangehensweise ist.

 

Wenn ich das richtig lese, kommen NavMeshes für dich nicht infrage, ja?

Link zu diesem Kommentar
Auf anderen Seiten teilen

NavMashes kommt eher nicht in frage, weil die Wegpunkt ja an den frei Platzirbaren gebauden Hängen sollen und nicht vorab vestgelegt. Danke das ihr mir bis jetzt keine Skript beispiele geschrieben habt, aber wenn mir da jemand ein Skriptbeispiel machen könnte würde mich das freuen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schade, dass deine Aussagen nicht genau beschreiben um was es jetzt eigentlich gerade geht.

Aber NavMeshes gehen sehr wohl auch mit nicht vorher festgelegten Dingen. Dafür gibt es nämlich die Obstacles.

 

Und wie ein NavMesh überhaupt funktioniert kannst du im folgenden Link super sehen. Da siehst du sogar, wie man ganz leicht ein Ziel für einen Char setzten kann und wie ein Gegner dem Player folgen kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was ich meine ist so etwas in der Art wie die Arbeiter bei Stronghold (ein video zur veranschaulichung

, ich meine die "Einheiten" die von alleine von den Produktionsgebäuden zum Voratslager laufen und Ressursen erwirtschafften).

Ich habe mich mit NavMeshes noch nicht wirklich auseinandergesetzt, wenn das auch über eine ganze Terain geht und Wegpunkt annimmt die durch ein von mir nach Spielstart gesetztes Objekt (Gebäude) definirt werden können ist es das richtige für mich :unsure:.

 

Bei A* Pathfinding habe ich das Problem, dass ich wenn ich eines der Skripts auf ein Objekt ziehen will eine Fehlermeldung kommt (nicht in der Console sondern als Fenster) die besagt das es sich um ein Editor-Skript handelt der so nicht angewändet werden kann. Es kommt aber wie gesagt auch keine Menü möglichkeit... .

Zur Info, es ist die version aus dem Assets Stor, ich werde es noch mit der Offiziellen versuchen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...