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 Entity tun kann.

Eine Entity ist der Container. Komponenten sind die Funktionen, die an diesen Container angehängt werden.

image.png

Diese Lektion stellt die wichtigsten Komponententypen vor, die du als Anfänger sehen wirst. Du musst noch nicht jede Option auswendig kennen. Das Ziel ist, das Muster zu erkennen:

> Wenn eine Entity eine Funktion benötigt, fügst du normalerweise die Komponente hinzu, die diese Funktion bereitstellt.

Entities bestehen aus Komponenten

Eine neue Entity kann sehr einfach starten.

Dann, sobald du Komponenten hinzufügst, wird sie leistungsfähiger:

  • Füge eine Transform Component hinzu, und sie hat einen Platz in der 3D-Welt.
  • Füge eine Mesh Component hinzu, und sie wird sichtbar.
  • Füge eine Rigid Body Component hinzu, und sie kann mit der Welt zusammenstoßen.
  • Füge eine Python Component hinzu, und sie kann Gameplay-Code ausführen.
  • Füge eine Logic Bricks Component hinzu, und sie kann visuelle Logik ausführen.
  • Füge eine Audio Player Component hinzu, und sie kann Sound abspielen.

Dies ist der normale Cave-Arbeitsablauf: Entities bauen, indem man Komponenten kombiniert.

Zum Beispiel:

Gewünschtes Objekt Mögliche Komponenten-Zusammenstellung
Fackel Transform, Mesh, Light, Audio Player.
Tür Transform, Mesh, Rigid Body, Logic Bricks oder Python.
Spieler Transform, Character, Camera, Animation, Python.
Gesundheits-Pickup Transform, Mesh, Rigid Body trigger, Logic Bricks oder Python.

Statt für jede Situation einen speziellen Objekttyp zu suchen, setzt du das Objekt zusammen, das du brauchst.


Kernkomponenten

Einige Komponenten sind so häufig, dass du ihnen ständig begegnen wirst.

Komponente Hauptzweck
Transform Component Speichert Position, Rotation und Skalierung.
Camera Component Definiert eine Kameraperspektive.

Transform Component

Die Transform Component speichert Position, Rotation und Skalierung.

image.png

Die meisten 3D-Entities sind davon abhängig, weil die meisten Objekte irgendwo in der Welt existieren müssen. Wenn du eine Entity in der 3D-Ansicht verschiebst, rotierst oder skalierst, bearbeitest du ihre Transform.

Viele andere Komponenten hängen von der Transform 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.

Camera Component

Die Camera Component definiert eine Kameraperspektive.

image.png

Verwende sie, wenn eine Entity als Spielkamera fungieren soll.

Kameras werden verwendet für:

  • First-Person-Spiele.
  • Third-Person-Spiele.
  • Top-Down-Spiele.
  • Menüs.
  • Zwischensequenzen.
  • Spezielle Ansichten.

Eine Szene hat eine Standard-Szenenkamera, aber Gameplay-Kameras sind normalerweise Entities mit Camera Components. Das macht sie einfacher zu bewegen, zu parenten, zu animieren, zu skripten oder während des Spiels zu wechseln.


Grafik-Komponenten

Grafik-Komponenten steuern, was der Spieler sieht.

Komponente Verwendung
Mesh Component Sichtbare 3D-Objekte.
Light Component Lokale Lichtquellen.
Particle Component Visuelle Effekte aus vielen kleinen Teilchen.
Animation Component Wiedergabe von Skelettanimationen.
Animation Socket Component Befestigung von Kind-Entities an animierten Knochen.

Mesh Component

Die Mesh Component rendert ein Mesh mit einem Material.

image.png

Verwende sie 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 gibt die Form vor, während das Material das Aussehen der Oberfläche steuert.

Light Component

Die Light Component fügt der Szene lokale Beleuchtung hinzu.

image.png

Verwende sie für:

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

Das Szenenlicht der Sonne und Umgebungslicht beeinflusst die gesamte Szene. Licht-Komponenten werden an Entities platziert, wenn du lokale Beleuchtung an einem bestimmten Ort brauchst.

Particle Component

Die Particle Component erzeugt wiederholte visuelle Elemente und Effekte.

image.png

Verwende Partikel für:

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

Partikel sind nützlich, weil du nicht jeden Funken oder Staubwirbel als einzelne manuell platzierte Entity haben möchtest. Eine Particle Component kann viele kleine visuelle Effekte erzeugen und steuern.

Animation Component

Die Animation Component spielt Skelettanimationen ab.

image.png

Sie arbeitet mit Armaturen und Animations-Assets und kann Wiedergabe, Blending, Layer und die finale animierte Pose verwalten.

Verwende sie für:

  • Animierte Charaktere.
  • Animierte Kreaturen.
  • Skelettale Requisiten.
  • Alle importierten animierten Meshes, die Knochen verwenden.

Animation Socket Component

Die Animation Socket Component befestigt eine Kind-Entity an einem bestimmten Knochen einer übergeordneten animierten Entity.

image.png

Verwende sie für:

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

Statt das Requisit jedes Frame manuell zu aktualisieren, folgt die Socket-Komponente dem ausgewählten Knochen.


Physik-Komponenten

Physik-Komponenten steuern Kollisions- und physikalische Bewegungen.

Komponente Verwendung
Rigid Body Component Kollision, physikalische Objekte, Trigger.
Character Component Bewegungen von Spieler- und NPC-Charakteren.
Physics Constraint Component Verbindung von Rigid Bodies.

Rigid Body Component

Die Rigid Body Component verleiht einer Entity physikalisches Verhalten.

image.png

Verwende sie für:

  • Statische Kollision.
  • Dynamische Objekte.
  • Physik-Requisiten.
  • Trigger-ähnliche Ghost-Objekte.

Beispielsweise kann eine Wand eine statische Rigid Body nutzen, damit der Spieler nicht hindurchgehen kann. Eine bewegliche Kiste kann eine dynamische Rigid Body verwenden, um auf Kräfte zu reagieren.

Character Component

Die Character Component ist für charaktertypische Bewegungen ausgelegt.

image.png

Verwende sie für Spieler oder NPCs, die:

  • Gehen.
  • Springen.
  • An Wänden entlanggleiten.
  • Steigungen bewältigen.
  • Sich wie Charaktere bewegen und nicht wie lose physikalische Objekte.

Dies ist normalerweise ein besserer Ausgangspunkt für steuerbare Charaktere als eine einfache Rigid Body.

Physics Constraint Component

Die Physics Constraint Component verbindet Rigid Bodies miteinander.

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

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

Du brauchst sie nicht sofort, aber es ist gut, sie zu erkennen. Später kann sie bei Schwingtüren, hängenden Objekten oder mechanischen Teilen helfen.


Welt- und Spiel-Komponenten

Einige Komponenten helfen dabei, die Welt aufzubauen oder das Spiel dem Spieler zu präsentieren.

Komponente Verwendung
Terrain Component Außengelände und gestaltete Flächen.
Audio Player Component Sounds, Musik, Ambiente und 3D-Audio.
UI Element Component Text, Buttons, Panels, HUDs und Menüs.

Terrain Component

Die Terrain Component erzeugt und bearbeitet Terrain.

image.png

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

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

Audio Player Component

Die Audio Player Component spielt Sounds oder Musik ab.

Sie kann verwendet werden für:

  • Musik.
  • Ambient-Loops.
  • Soundeffekte.
  • 3D-basierte Positionierung des Audios.
  • UI-Sounds.

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

UI Element Component

Die UI Element Component erzeugt Spiele-Interface-Elemente.

image.png

Verwende sie für:

  • Text.
  • Buttons.
  • Panels.
  • Menüs.
  • Gesundheitsanzeigen.
  • HUD-Elemente.

UI in Cave wird ebenfalls aus Entities aufgebaut, was bedeutet, dass UI Hierarchie, Komponenten, Eigenschaften und Logik wie andere Teile des Spiels verwenden kann.


Logik-Komponenten

Logik-Komponenten bringen Entities zum Verhalten.

Komponente Verwendung
Python Component Wiederverwendbares Python-Gameplay-Verhalten.
Python Code Component Kleine Inline-Python-Verhalten.
Logic Bricks Component Visuelle Skript-Graphen.
State Machine Component Zustandsbasiertes Verhalten.

Python Component

Die Python Component fügt einer Entity ein Python-Skript-Asset hinzu.

image.png

Verwende sie für wiederverwendbare Gameplay-Logik, wie:

  • Türverhalten.
  • Gegnerverhalten.
  • Interaktionen.
  • UI-Logik.
  • Spielregeln.
  • Eigene Systeme.

Python Code Component

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

image.png

Verwende sie für schnelle Tests, kleine lokale Verhaltensweisen oder einmalige Prototypen.

Für größere wiederverwendbare Logik empfiehlt sich ein Python-Skript-Asset zusammen mit einer Python Component.

Logic Bricks Component

Die Logic Bricks Component bindet ein Logic Bricks-Asset an eine Entity.

image.png

Logic Bricks sind Caves visuelles Skriptsystem. Sie ermöglichen es dir, Verhalten durch das Verbinden von Knoten zu erstellen, statt direkt Code zu schreiben.

image.png

Verwende sie für Trigger, einfache Interaktionen, UI-Verhalten und Gameplay-Ereignisse, die visueller leichter verständlich sind.

State Machine Component

Die State Machine Component bindet eine hierarchische Zustandsmaschine an eine Entity.

image.png

State Machines sind nützlich für Verhaltensweisen mit klaren Zuständen, wie zum Beispiel:

  • Idle (Leerlauf).
  • Walk (Gehen).
  • Chase (Verfolgen).
  • Attack (Angriff).
  • Flee (Flucht).
  • Dead (Tot).

Sie sind besonders hilfreich für Gegner, NPCs und strukturierte Gameplay-Logik.


Vehicle Components

Cave enthält auch fahrzeugbezogene Komponenten.

Du kannst diese sehen, wenn du Starter-Fahrzeuginhalte generierst.

Component Purpose
Vehicle Component Verwandelt ein physikalisches Objekt in eine fahrzeugähnliche Karosserie.
Wheel Component Definiert das Verhalten des Rades für ein Fahrzeug.

Die Vehicle Component arbeitet mit einem Rigidbody und Wheel Components zusammen.

Die Wheel Component umfasst radbezogene Verhaltensweisen wie Federung, Lenkung, Radien und ob das Rad vorne angebracht ist.

Praktische Component-Rezepte

Hier sind einige einfache Wege, um über die Zusammensetzung von Komponenten nachzudenken:

Ziel Component-Rezept
Sichtbares statisches Objekt Transform + Mesh.
Solide Wand Transform + Mesh + Rigid Body.
Beweglicher Spieler Transform + Character + Python + Camera.
Fackel mit Atmosphäre Transform + Mesh + Light + Audio Player.
Knopf in einem Menü UI Element + Python oder Logic Bricks.
Gegnerverhalten Character + Animation + State Machine oder Python.

Dies sind keine strengen Regeln, sondern Ausgangspunkte.

Mit der Zeit wirst du schneller darin, die richtigen Komponenten für den jeweiligen Zweck auszuwählen.

Weitere Components

Cave hat mehr spezialisierte Komponenten, als in dieser Lektion behandelt wurden.

Das ist normal.

Du musst nicht jede Komponente kennen, bevor du deine erste Szene erstellst. Konzentriere dich zunächst auf das nützliche Muster: Eine Entity wird dann nützlich, wenn du die richtigen Components hinzufügst.