Schadenssystem im 3D Spiel-Kit

Beschädigend (Damageable)

Beschädigend ist die Komponente, die es dir ermöglicht, ein Objekt, das durch die Waffen im Spiel beschädigt werden kann, zu erstellen. Die Ebene, auf der sich das Objekt befindet, bestimmt, welche Waffe es beschädigen kann (jede Waffe hat eine Liste von Ebenen, die es beschädigen kann).

Unverwundbarkeitszeit (InvulnerabilityTime) wird auf 0 voreingestellt, wobei jeder Betrag über 0 in Sekunden die Zeitspanne ist, die der Schädigende den Schaden für diese Zeitspanne ignoriert, sobald der Schaden eingetreten ist.

Mit Trefferwinkel (HitAngle) und Trefferdrehung (HitRotation) kannst du den Kreisbogen definieren, in dem ein Angriff das Objekt beschädigen kann. Standardmäßig ist der Winkel auf 360 eingestellt, so dass ein Angriff von überall her Schaden anrichten kann, aber wenn man ihn auf 180 setzt, wird das Objekt zum Beispiel nur im Halbkreis beschädigt.

Du kannst eine Visualisierung des Trefferbereichs aus dem roten Kreis in der Szenenansicht sehen, wenn dein zu beschädigtes Objekt ausgewählt ist.

Beispiel mit dem Grenadier, der nur von hinten beschädigt werden kann.

Die verschiedenen Ereignisse können genutzt werden, um Dinge auszulösen, wenn sie eintreten. Als Beispiel ist dies das Todesereignis für die zerbrechlichen Boxen:

Wir deaktivieren die Box, aktivieren ihre Version aus mehreren Teilen, setzen sie durch Elternschaft an die richtige Stelle und spielen einen Sound ab.

Kontollpunkte (Checkpoints)

Sie können in Prefabs > Scenes > Checkpoint gefunden werden, sie können in der Szene platziert werden und ihre Collider werden so dimensioniert, dass der Spieler sie betreten kann, wenn er sich durch das Level bewegt.

Wenn der Spieler stirbt, wird er am letzten Kontrollpunkt, den er berührt hat, wiederbelebt.

Hinweis: Der Spieler wird an der Position des Kontrollpunktes wiederbelebt, also stelle sicher, dass er sich über dem Boden befindet.

Beschädigungszone (Damage Zone)

Fügen Sie diese Komponente zu einem Objekt hinzu und skalieren Sie den Kollider, um eine Zone zu schaffen, in der, wenn ein beschädigtes Objekt eintritt, es ständig um die Höhe des Schadensbetrags beschädigt wird.

Todesvolumen (Death Volume)

Füge diese Komponente hinzu und skaliere den Collider, um ein Volumen zu erzeugen, in dem der Spieler, sobald er es betritt, getötet wird. Zum Beispiel wird es im Spiel für das Wasser verwendet.

Kontaktschadenursache (Contact Damager)

Kontaktschadenursache wird hauptsächlich vom Feind benutzt, so dass er dem Spieler Schaden zufügt, wenn er mit ihm in Kontakt kommt. Füge es einfach zu einem Spielobjekt hinzu, mit einem Collider als Auslöser.

Hinweis: Es ist getrennt von anderen schädlichen Skripten, da es ein Layersystem verwendet, um zu definieren, was es beschädigen kann. Dies liegt daran, dass sich das Objekt, das diese Komponente enthält, in einer Ebene befinden muss, die mit dem Player kollidiert, damit das Triggerereignis generiert werden kann. Aber die feindliche Ebene kollidiert nicht mit dem Spieler (damit Feinde die Spielerbewegung nicht blockieren), so dass Skript zu einem untergeordneten Objekt des Gegners hinzugefügt werden muss, das eine andere Ebene hat (eine, die mit dem Spieler kollidiert) und dessen Einstellung damagedLayer ist, muss die Spielerschicht enthalten.

Scenelinked SMB

SceneLinkedSMB ist ein Skript, das es Ihnen ermöglicht, eine einfache und schnelle Referenz auf ein MonoBehaviour von einem StateMachineBehaviour zu erhalten. Obwohl SceneLinkedSMBs überall dort eingesetzt werden können, wo man ein bestimmtes MonoBehaviour referenzieren muss, wurden sie mit der Idee entwickelt, Logik und Funktionalität zu trennen. Eine Animator-Steuerung enthält eine Zustandsmaschine, die sich ideal zur Steuerung des Ausführungsablaufs eignet. Mit SceneLinkedSMBs können Sie öffentliche Funktionen auf einem MonoBehaviour aufrufen, so dass es die Funktionalität steuern kann, da es leichter Szenenreferenzen erhalten kann. Auf diese Weise können SceneLinkedSMBs die Logik als Teil eines Zustandsautomaten und die MonoBehaviours steuern, die mit der Steuerungsfunktionalität verbunden sind.

Um ein Behaviour mit Hilfe der SceneLinkedSMB zu erstellen:

  • 1. Erstellen Sie eine Klasse, die von SceneLinkedSMB erbt, wobei der Parameter Generic der Typ des MonoBehaviour ist, auf den Sie in ihr zugreifen möchten. Zum Beispiel für Chomper:

SceneLinkedSMB

  • 2. Initiieren Sie das SceneLinked-Verhalten in jedem Objekt, das sie verwendet. Zum Beispiel, in unserem ChomperBehaviour-Skript Start function, Aufruf:

SceneLinkedSMB.Initialize(animator, this);

wobei der Animator die Referenz des Animators ist, der diese SceneLinkedSMB verwenden wird.

  • 3. In Ihrer SceneLinkedSMB zeigt das m_Monobehaviour-Mitglied auf das Objekt, auf dem der Animator läuft.
  • 4. Überschreibe die gewünschte Funktion (Enter, Exit, Update usw.) und implementiere das gewünschte Verhalten.

Tipp: Schaue dir jedes Skript mit SMB in seinem Namen an, um ein Beispiel dafür zu erhalten, wie das Projekt das mit jedem Zustand verbundene Codeverhalten verwendet.

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