Zähler und Schalter

Wir können mehrere Objekte miteinander verbinden. Als nächstes werden wir uns die Verwendung eines Zählers ansehen, um 3 Schalteraktivierungen zu zählen, bevor wir die Tür öffnen..

  • In der Hierarchie wähle den Schalter (Switch) aus.
  • Durch drücken von STRG + D duplizierts du den Schalter (Switch).
  • Widerhole das nocheinmal für einen weiteren Schalter (Switch).

Du solltest jetzt Switch, Switch(1) und Switch(2) sehen.

Diese werden ganz unten in der Hierarchie angezeigt. Um dein Projekt übersichtlich zu halten, klicke mit Strg + Maus auf jedes dieser Elemente und ziehe sie in der Hierarchie eng zusammen.

Sie werden an der gleichen Stelle wie das Original kopiert;

  • Wähle in der Hierarchie jeden der Schalter einzeln aus und positioniere ihn, so dass sie eine Reihe bilden.

Du kannst auch sehen, dass, da wir das Objekt dupliziert haben, es auch seine Verbindung zur Tür dupliziert hat. Ein Kontakt mit einem dieser Schalter öffnet die Tür. Du kannst Play drücken und es ausprobieren, wenn du willst.

Wir wollen allerding das sich die Tür erst öffnet, nach dem alle 3 Schalter betätigt wurden;

  • Im Projekt gehst du zu Assets > 3DGameKit > Prefabs > Interactables.
  • Finde den Zähler (Counter) und füge ihn in die Szene ein.
  • Positioniere ihn in die Nähe der Schalter (Switch).

Dieses Objekt hat keine physische Präsenz in der Szene, da es die Spielmechanik beinhaltet, die du mit den Transform Tools sehen kannst. Da wir es in der Szene nicht sehen können, werden wir den Zähler durch die Hierarchie auswählen.

Tipp: Sie können diese Art von Objekt in der Szenenansicht besser sichtbar machen, indem Sie ein Label hinzufügen;

  • Wähle den Zähler (Counter) aus.
  • Oben im Inspektor drücke auf die blaue Box.
  • Suche dir eine Labelfarbe aus.

Dies fügt deinem Objekt ein Label hinzu.

Wenn du es nicht sehen kannst, hast du deine Symbole möglicherweise zu klein in der Szenenansicht. Du kannst das ändern;

  • Oben im Szenenfenster drückst du das Gizmo-Pulldownmenue auf.
  • Dort kannst du mit dem Schieberegler die Größe deiner Symbole anpassen.

Nun, da wir einen Zähler (Counter) in der Szene haben, der eine Anzahl von Sendern zählen kann, müssen wir dem Zähler (Counter) den "Open" Spielebefehl von jedem Schalter (Switch) senden.

  • In der Hierarchie wählst du den entsprechenden Schalter (Switch) aus.
  • Schiebe den Zähler (Counter) in den Slot Interactive Object im Script Send on Trigger.

Dies entfernt die Tür als das Objekt das ein Befehl erhält.

Die Pfeile werden so aussehen, als wären sie mit dem Zähler (Counter) in der Szenenansicht verbunden.

  • Wiederhole die Schritte mit Schalter (Switch(1)) und Schalter (Switch(2))

Alle 3 Schalter senden nun einen Befehl an den Zähler (Counter).

Wir können dies im Skript Game Command Receiver auf dem Zähler (Counter) überprüfen.

Wenn wir nun in den Play-Modus wechseln und zu jedem Schalter laufen, wird nichts passieren. Wir müssen DoorSmall sagen, dass es sich öffnen soll, wenn der Zähler (Counter) 3 erreicht hat.

  • Wähle den Zähler (Counter) in der Hierarchie.
  • Im Inspektor änderst du die folgenden Einstellung im Gameplay Counter.
    • - Interaction Type: stellst du auf Open.
    • - Is One Shot: setzt du auf Wahr.
    • - Target Count: bekommt den Wert 3

Dieser erhält einen Befehl vom Typ Open, zählt nur einmal und setzt den Zielwert, um den Zähler (Counter) bei 3 zu erfüllen.

Nun lassen wir den Zähler (Counter) einen Befehl an die Tür senden.

  • Wähle den Zähler (Counter) in der Hierarchie.
  • Im Inspektor änderst du die folgenden Einstellung im Send Game Command.
    • - Interaction Type: stellst du auf Open.
    • Schiebe die DoorSmall aus der Hierarchie in den Slot Interactive Object.
    • - One Shot: aktivierst du.

Nun sendet jeder Schalter (Switch) einen Befehl an den Zähler (Counter) und dieser sendet einen Öffnungsbefehl an die Tür, wenn er 3 Befehle empfangen hat.

Probiere dein Level aus, indem du auf Play drückst. Du solltest in der Lage sein, mit jedem Schalter zu kooperieren und die Tür öffnet sich, wenn du alle 3 erledigt hast.

Der Zähler (Counter) kann für viele Bedingungen verwendet werden, die eine Messung erfordern. Das Script Send Game Command ermöglicht verschiedene Interaktionstypen über Öffnen (Open) hinaus:

Fortschrittsanzeige für einen Spieler

Normalerweise würden wir in Spielen diese Art von Mechanik in der Regel weit voneinander entfernt platzieren. Wir haben dies im Beispiel mit diesem Projekt getan. Es ist im Allgemeinen eine gute Praxis im Spieldesign, einem Spieler den Fortschritt anzuzeigen, sei es über eine Benutzeroberfläche oder Indikatoren im Spiel.

Wir werden unseren Spielbefehl und die Zählerkonsole anpassen, um zu zeigen, dass Kristalle in der Nähe der Tür leuchten, wenn jeder Schalter betätigt wird. Dies zeigt einem Spieler, dass es weltweit 3 Schalter für diese Tür gibt, und zeigt an, wie viele davon aktiviert wurden.

  • Gehe im Projektfenster zu Assets > 3DGameKit > Prefabs > Interactables.
  • Finde dort das Kristall (Crystal)-Prefab und verschiebe dieses in die Szenenansicht.

Der Kristall ist ein wenig groß für unser Level, also lass uns die Größe ändern;

  • Gehe zumInspektor und betrachte die Transform-Komponente.
  • Setze die Masse wie folgt.
    • - X: 1
    • - Y: 1
    • - Z: 1
  • Platziere deinen Kristall, mittels der Transformwerkzeuge in die Nähe der Tür.
  • Mit ausgewähltem Kristall (Crystal) drücke zweimal STRG + D um ihn zu kopieren.
  • Wähle nacheinander Kristall (Crystal(1)) und Kristall (Crystal(2)) und verschiebe dieses in die Szenen in die Nähe von Kristall (Crystal).
  • Verwende in der Szenenansicht die Transformationswerkzeuge, um die Kristalle an die gewünschten Positionen zu positionieren.

Wir haben unsere direkt neben der Tür platziert, um es für einen Spieler sichtbar zu machen. Lassen wir sie die Farbe ändern, wenn ein Schalter aktiviert wird;

  • In der Hierarchie wähle einen Schalter (Switch).
  • Im Inspektor füge unten durch Komponente hinzufügen (Add Component) eine Komponente hinzu.
  • In der Suchbox gib Send on Trigger Enter ein.
  • Drücke auf Enter um das Skript Send on Trigger Enter einzufügen.

Dadurch wird dem Schalter (Switch) ein weiteres Send on Trigger Enter Skript hinzugefügt. Wir können dies nutzen, um einen Befehl an den Kristall zu senden, um die Farbe zu ändern, wenn der Schalter aktiviert ist.

  • Setz die Werte im Script Send on Trigger Enter, das wir gerade hinzugefügt haben;
    • - Interaction Type: auf Aktiviert (Aktivate)
    • - ziehe den Kristall aus der Hierarchie in den Slot Interactive Object
    • - One Shot: hier muss das Kästchen aktiviert werden.
    • - Layer: auf Player stellen.

Dadurch wird ein Befehl an den Kristall gesendet, der aktiviert wird, wenn der Schalter (Switch) betätigt wird.

Teste die Mechanik, indem du auf Play drückst. Lasse Ellen zum ersten Schalter (Switch) laufen und er sollte auch den ersten Kristall aktivieren.

Wiederholen Sie diese Schritte für jede verbleibende Schalter- und Kristall-Kombination. Stellen Sie sicher, dass Sie Schalter(1) mit Kristall(1) und Schalter(2) mit Kristall(2) übereinstimmen. Jeder Schalter sendet nun einen Befehl an den Zähler und seinen Kristall.

Eingabeaufforderungen zur Benutzeroberfläche (UI)

Um die Gameplay-Elemente der Schalter zu vervollständigen, müssen wir dem Benutzer einen Hinweis geben, was die Schalter tun und welche Bedeutung sie haben. Dies geschieht meist im Dialog vom Protagonisten zum Spieler. Im 3D Game Kit ist dies die Form einer InfoZone Prefab.

  • Im Projekt gehe zu 3DGamekit > Prefabs > Interactables und wähle dort InfoZone.
  • Führe die InfoZone unter die Gruppe -----UI----- in die Hierarchie.

Denke daran, es unter dem leeren Etikett hinzuzufügen.

  • Bewege den Kugelcollider über die Schalter und passen Sie seine Größe an, um alle 3 Schalter im Bereich aufzunehmen, aber nicht zu weit, da Sie nicht möchten, dass der Auslöseimpuls ausgelöst wird wenn Ellen weit weg von ihnen ist.
  • Setze den Layer auf Umgebung (Environment).
  • Aktiviere Is Trigger für den Sphere Collider im Inspektor.

Der nächste Schritt ist die Verknüpfung der DialogueCanvas Prefab, die es dem Spiel ermöglicht, dem Spieler die erforderlichen Informationen über die Schalter mitzuteilen, wenn er die Triggerzone mit Hilfe von Spielbefehlen betritt.

  • Gehe im Projekt nach 3DGamekit > Prefabs > UIPrefabs und finde DialogueCanvas.
  • Schiebe eine DialogueCanvas unter UI in der Hierarchie.
  • Deaktiviere es, da es nur angezeigt werden soll, wenn der Spieler die Auslöserzone der InfoZone betritt.
  • Wähle die InfoZone in der Szene aus und finde die Komponente Interact on Trigger Script im Inspektor.
  • Setze Layer auf Player wenn es nicht automatisch so eingestellt ist.
  • Setze On Enter (Object) und On Exit auf das Dialog Canvas Controller Script, indem Sie es in den leeren Objekt-Slot ziehen
  • Setze On Enter auf ActivateCanvasWithText aus der DialogueCanvasController Funktionsliste.
  • Aktualisiere das Textfeld, um dem Player einen nützlichen Text zur Verfügung zu stellen. Wir haben folgendes verwendet
    • - "If I switch all of these on maybe the door will open."
  • Stelle On Exit bei DeaktivatedCanvasWithDelay und setze die Verzögerung (Delay) auf 1.

Jetzt, da diese alle platziert sind, kannst du die Schalter und Kristalle in andere Bereiche verschieben und vor dem Spieler verstecken, um es schwieriger zu machen. Die Links bleiben beigefügt und ermöglichen es dir, die Objekte in deinem Level dynamischer zu nutzen. Achte darauf, dass du die DialogueCanvas in den Bereichen hinzufügst, in denen du möchtest, dass der Spieler über wichtige Spielmechanismen in deinem Projekt informiert wird.

3D Game Kit

Erste Schritte
  1. Einführung
  2. Neue Szene
  3. Bewegliche Plattform
  4. Öffnen einer Tür
  5. Feinde
  6. Beschädigung durch Objekte
  7. Dekorieren
  8. Teleportieren des Spielers
  9. Spaß haben
Rundgang
  1. Über die Vorgehensweise
  2. Arbeiten mit ProBuilder
  3. Herstellung eines Säurebades
  4. Vertex-Färbung mit Polybrush
  5. Nutzung von Umgebungsvorgaben
  6. Fels- und Vegetationsmaler
  7. Organisieren der Szene
  8. Spielgrenzen
  9. Intensiv bewegl. Plattformen
  10. Zähler und Schalter
  11. Ein tieferer Blick auf Feinde
  12. Erstellen einer Falle
  13. Wiederbelebungspunkt
  14. Waffenaufnahme
  15. Wiederherstellung der Gesundheit
  16. Szenenteleportation
Referenzhandbuch für das Spiel-Kit
  1. Einführung in die 3D-Anleitung
  2. 3D Ellen
  3. Welt erstellen
  4. Objekte im 3D Spiel-Kit
  5. Feindsteuerung
  6. Schadenssystem im 3D Spiel-Kit
  7. Zielscanner
  8. Spielkomponenten
  9. Spielbefehl Handhabungsuntertypen