Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Komponenten definieren, was eine Entität tun kann.

Eine Entität ist der Container. Komponenten sind die Funktionen, die an diesem Container angehängt sind.

image.png

Diese Lektion führt die wichtigsten Komponententypen ein, die Sie als Anfänger sehen werden. Sie müssen noch nicht jede Option auswendig lernen. Das Ziel ist es, das Muster zu erkennen:

> Wenn eine Entität eine Funktion benötigt, fügen Sie normalerweise die Komponente hinzu, die diese Funktion bereitstellt.

Entitäten bestehen aus Komponenten

Eine neue Entität kann sehr einfach starten.

Wenn Sie dann Komponenten hinzufügen, wird sie leistungsfähiger:

  • Fügen Sie eine Transform-Komponente hinzu, und sie wird einen Platz in der 3D-Welt haben.
  • Fügen Sie eine Mesh-Komponente hinzu, und sie kann sichtbar werden.
  • Fügen Sie eine Rigid Body-Komponente hinzu, und sie kann mit der Welt kollidieren.
  • Fügen Sie eine Python-Komponente hinzu, und sie kann Gameplay-Code ausführen.
  • Fügen Sie eine Logic Bricks-Komponente hinzu, und sie kann visuelle Logik ausführen.
  • Fügen Sie eine Audio Player-Komponente hinzu, und sie kann Geräusche abspielen.

Dies ist der normale Cave-Workflow: Entitäten erstellen, indem Sie Komponenten kombinieren.

Zum Beispiel:

Objekt, das Sie wollen Mögliche Komponenten-Einrichtung
Fackel Transform, Mesh, Licht, Audio Player.
Tür Transform, Mesh, Rigid Body, Logic Bricks oder Python.
Spieler Transform, Charakter, Kamera, Animation, Python.
Gesundheits-Pickup Transform, Mesh, Rigid Body Trigger, Logic Bricks oder Python.

Anstatt nach einem speziellen Objekttyp für jede Situation zu suchen, komponieren Sie das Objekt, das Sie benötigen.


Kernkomponenten

Einige Komponenten sind so allgemein, dass Sie sie ständig sehen werden.

Komponente Hauptzweck
Transform-Komponente Speichert Position, Rotation und Skalierung.
Kamera-Komponente Definiert eine Kameraperspektive.

Transform-Komponente

Die Transform-Komponente speichert Position, Rotation und Skalierung.

image.png

Die meisten 3D-Entitäten hängen davon ab, weil die meisten Objekte irgendwo in der Welt existieren müssen. Wenn Sie eine Entität in der 3D-Ansicht bewegen, drehen oder skalieren, bearbeiten Sie deren Transform.

Viele andere Komponenten hängen von der Transformation ab:

  • Ein Licht benötigt eine Position.
  • Ein Mesh benötigt eine Position.
  • Eine Kamera benötigt eine Position.
  • Eine 3D-Schallquelle benötigt eine Position.

Kamera-Komponente

Die Kamera-Komponente definiert eine Kameraperspektive.

image.png

Verwenden Sie sie, wenn Sie möchten, dass eine Entität als Spielkamera agiert.

Kameras werden für:

  • Ego-Shooter.
  • Dritte-Person-Spiele.
  • Top-Down-Spiele.
  • Menüs.
  • Cutscenes.
  • Besondere Ansichten.

Eine Szene hat eine Standard-Szenenkamera, aber Spielkameras sind normalerweise Entitäten mit Kamera-Komponenten. Das macht sie einfacher zu bewegen, zu verknüpfen, zu animieren, zu skripten oder während des Spiels zu wechseln.


Grafikkomponenten

Grafikkomponenten steuern, was der Spieler sieht.

Komponente Verwenden Sie es für
Mesh-Komponente Sichtbare 3D-Objekte.
Licht-Komponente Lokale Lichtquellen.
Partikel-Komponente Visuelle Effekte, die aus vielen kleinen Teilen bestehen.
Animations-Komponente Abspielen von Skelettanimationen.
Animations-Socket-Komponente Anbringen von Kind-Entitäten an animierten Knochen.

Mesh-Komponente

Die Mesh-Komponente rendert ein Mesh unter Verwendung eines Materials.

image.png

Verwenden Sie es für:

  • Requisiten.
  • Wände.
  • Charaktere.
  • Türen.
  • Waffen.
  • Umgebungsstücke.
  • Alles Sichtbare.

Eine Mesh-Komponente verweist normalerweise auf ein Mesh-Asset und ein Material-Asset. Das Mesh bietet die Form, während das Material das Oberflächenerscheinungsbild steuert.

Licht-Komponente

Die Licht-Komponente fügt der Szene lokales Licht hinzu.

image.png

Verwenden Sie es für:

  • Lampen.
  • Fackeln.
  • Magische Lichter.
  • Leuchtende Requisiten.
  • Spotlights.

Sonnen- und Umgebungslicht in der Szene wirken sich auf die gesamte Szene aus. Lichtkomponenten werden an Entitäten angebracht, wenn Sie lokales Licht an einem bestimmten Ort benötigen.

Partikel-Komponente

Die Partikel-Komponente erstellt wiederholte visuelle Elemente und Effekte.

image.png

Verwenden Sie Partikel für:

  • Rauch.
  • Funken.
  • Staub.
  • Feuer.
  • Wind.
  • Trümmer.
  • Magische Effekte.

Partikel sind nützlich, weil Sie nicht jede Funken- oder Staubwolke als volle manuell platzierte Entität haben möchten. Eine Partikelkomponente kann viele kleine visuelle Elemente erzeugen und steuern.

Animations-Komponente

Die Animations-Komponente spielt Skelettanimationen ab.

image.png

Sie funktioniert mit Armaturen und Animations-Assets und kann Wiedergabe, Mischen, Schichten und die endgültige animierte Pose verwalten.

Verwenden Sie es für:

  • Animierte Charaktere.
  • Animierte Kreaturen.
  • Skelettrequisiten.
  • Jedes importierte animierte Mesh, das Knochen verwendet.

Animations-Socket-Komponente

Die Animations-Socket-Komponente verbindet eine Kind-Entität mit einem bestimmten Knochen einer elterlichen animierten Entität.

image.png

Verwenden Sie es für:

  • Schwerter.
  • Gewehre.
  • Schilde.
  • Helme.
  • Rucksäcke.
  • Handrequisiten.

Anstatt das Requisiten jede Frame manuell zu aktualisieren, folgt der Socket dem ausgewählten Knochen.


Physikkomponenten

Physikkomponenten steuern Kollision und physikalische Bewegung.

Komponente Verwenden Sie es für
Rigid Body-Komponente Kollision, Physikobjekte, Trigger.
Charakter-Komponente Bewegung von Spieler- und NPC-Charakteren.
Physics Constraint-Komponente Verbindet steife Körper.

Rigid Body-Komponente

Die Rigid Body-Komponente verleiht einer Entität physikalisches Verhalten.

image.png

Verwenden Sie es für:

  • Statische Kollision.
  • Dynamische Objekte.
  • Physikrequisiten.
  • Triggerähnliche Geisterobjekte.

Zum Beispiel kann eine Wand einen statischen starren Körper verwenden, sodass der Spieler nicht hindurchgehen kann. Eine bewegliche Kiste kann einen dynamischen starren Körper verwenden, damit sie auf Kräfte reagieren kann.

Charakter-Komponente

Die Charakter-Komponente ist für charakterähnliche Bewegungen konzipiert.

image.png

Verwenden Sie es für Spieler oder NPCs, die:

  • Gehen.
  • Springen.
  • An Wänden entlangrutschen.
  • Mit Steigungen umgehen.
  • Sich wie ein Charakter anstelle eines losen physikalischen Objekts bewegen.

Dies ist normalerweise ein besserer Ausgangspunkt für einen steuerbaren Charakter als ein einfacher starrer Körper.

Physics Constraint-Komponente

Die Physics Constraint-Komponente verbindet steife Körper miteinander.

Sie ist nützlich für fortgeschrittene Physik-Setups, wie:

  • Scharniere.
  • Gelenke.
  • Brücken.
  • Ragdoll-ähnliche Setups.
  • Verbundene Physikobjekte.

Sie werden es nicht sofort benötigen, aber es ist gut zu erkennen, was es ist. Später kann es bei Dingen helfen wie schwingenden Türen, hängenden Objekten oder mechanischen Teilen.


Welt- und Spielkomponenten

Einige Komponenten helfen beim Aufbau der Welt oder der Präsentation des Spiels für den Spieler.

Komponente Verwenden Sie es für
Terrain-Komponente Außengelände und geschnitzter Boden.
Audio Player-Komponente Geräusche, Musik, Atmosphäre und 3D-Audio.
UI-Element-Komponente Text, Schaltflächen, Panels, HUDs und Menüs.

Terrain-Komponente

Die Terrain-Komponente erstellt und bearbeitet Terrain.

image.png

Verwenden Sie es für Außenlevel, Landschaften, Hügel, Täler, Straßen und große Bodenflächen.

Terrain hat eigene Bearbeitungstools, die später behandelt werden.

Audio Player-Komponente

Die Audio Player-Komponente spielt Geräusche oder Musik ab.

Es kann verwendet werden für:

  • Musik.
  • Ambient-Looper.
  • Soundeffekte.
  • 3D-positionales Audio.
  • UI-Geräusche.

Audio kann auch durch Skripte, Logic Bricks, Timelines, UI-Callbacks und Animations-Callbacks ausgelöst werden.

UI-Element-Komponente

Die UI-Element-Komponente erstellt Spielebenennungselemente.

image.png

Verwenden Sie es für:

  • Text.
  • Schaltflächen.
  • Panels.
  • Menüs.
  • Gesundheitsleisten.
  • HUD-Elemente.

UI in Cave wird ebenfalls aus Entitäten gebaut, was bedeutet, dass UI Hierarchie, Komponenten, Eigenschaften und Logik wie andere Teile des Spiels verwenden kann.


Logikkomponenten

Logikkomponenten lassen Entitäten handeln.

Komponente Verwenden Sie es für
Python-Komponente Wiederverwendbare Python-Gameplay-Logik.
Python Code-Komponente Kleine Inline-Python-Logik.
Logic Bricks-Komponente Visuelle Skripting-Diagramme.
State Machine-Komponente Zustandsbasiertes Verhalten.

Python-Komponente

Die Python-Komponente fügt einer Entität ein Python-Skript-Asset hinzu.

image.png

Verwenden Sie es für wiederverwendbare Gameplay-Logik wie:

  • Verhalten von Türen.
  • Verhalten von Feinden.
  • Interaktionen.
  • UI-Logik.
  • Spielregeln.
  • Anpassbare Systeme.

Python Code-Komponente

Die Python Code-Komponente speichert kleine Inline-Python-Snippets direkt in der Komponente.

image.png

Verwenden Sie es für schnelle Tests, kleine lokale Verhaltensweisen oder einmalige Prototypen.

Für größere wiederverwendbare Logik ziehen Sie ein Python-Skript-Asset mit einer Python-Komponente vor.

Logic Bricks-Komponente

Die Logic Bricks-Komponente fügt einer Entität ein Logic Bricks-Asset hinzu.

image.png

Logic Bricks sind Caves visuelles Skripting-System. Sie ermöglichen es Ihnen, Verhalten zu erstellen, indem Sie Knoten verbinden, anstatt direkten Code zu schreiben.

image.png

Verwenden Sie sie für Trigger, einfache Interaktionen, UI-Verhalten und Gameplay-Ereignisse, die visuell leichter zu verstehen sind.

State Machine-Komponente

Die State Machine-Komponente fügt einer Entität eine hierarchische Zustandsmaschine hinzu.

image.png

Zustandsmaschinen sind nützlich für Verhaltensweisen, die klar definierte Zustände haben, wie zum Beispiel:

  • Untätig.
  • Gehen.
  • Verfolgen.
  • Angreifen.
  • Fliehen.
  • Tot.

Sie sind besonders nützlich für Feinde, NPCs und strukturierte Gameplay-Logik.


Fahrzeugkomponenten

Cave enthält auch fahrzeugbezogene Komponenten.

Sie werden diese sehen, wenn Sie Starterfahrzeuginhalte generieren.

Komponente Zweck
Fahrzeugkomponente Wandelt ein physikalisches Objekt in einen Fahrzeugtyp um.
Radkomponente Definiert das Radverhalten für ein Fahrzeug.

Die Fahrzeugkomponente funktioniert mit starren Körpern und Radkomponenten.

Die Radkomponente umfasst radbezogene Verhaltensweisen wie Federung, Lenkung, Radgröße und ob das Rad ein Vorderrad ist.

Praktische Komponentenrezepte

Hier sind ein paar einfache Möglichkeiten, um über die Komponentenkomposition nachzudenken:

Ziel Komponentenrezept
Sichtbares statisches Requisit Transform + Mesh.
Fester Wand Transform + Mesh + Rigid Body.
Bewegender Spieler Transform + Charakter + Python + Kamera.
Fackel mit Ambiente Transform + Mesh + Licht + Audioplayer.
Button in einem Menü UI-Element + Python oder Logiksteine.
Feindverhalten Charakter + Animation + Zustandsmaschine oder Python.

Diese sind keine strengen Regeln. Sie sind Ausgangspunkte.

Während Sie mehr Objekte erstellen, werden Sie schneller darin, die richtigen Komponenten für die Aufgabe auszuwählen.

Weitere Komponenten

Cave hat mehr spezialisierte Komponenten, als diese Lektion behandelt.

Das ist normal.

Sie müssen nicht jede Komponente kennen, bevor Sie Ihre erste Szene erstellen. Konzentrieren Sie sich vorerst auf das nützliche Muster: Eine Entität wird nützlich, wenn Sie die richtigen Komponenten hinzufügen.