Cave: Einstiegshandbuch
Verstehen von Entity-Komponenten
Lesson 10 of 19 • 25 XP
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.

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-Komponentehinzu, und sie wird einen Platz in der 3D-Welt haben. - Fügen Sie eine
Mesh-Komponentehinzu, und sie kann sichtbar werden. - Fügen Sie eine
Rigid Body-Komponentehinzu, und sie kann mit der Welt kollidieren. - Fügen Sie eine
Python-Komponentehinzu, und sie kann Gameplay-Code ausführen. - Fügen Sie eine
Logic Bricks-Komponentehinzu, und sie kann visuelle Logik ausführen. - Fügen Sie eine
Audio Player-Komponentehinzu, 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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.