Cave: Erste Schritte Anleitung
Cave: Erste Schritte Anleitung
Lesson 11 of 19 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
Entity Templates sind Caves wiederverwendbares Entity-System.
Sie ermöglichen es, eine Entity-Konfiguration einmal zu erstellen, als Asset zu speichern und Instanzen davon in verschiedenen Szenen zu platzieren.

Wenn du von einer anderen Engine kommst, kannst du Entity Templates als Caves prefab-ähnlichen Workflow betrachten. Wenn du neu in der Spieleentwicklung bist, denk an sie als wiederverwendbare Objekt-Rezepte.
Anstatt dieselbe Tür, denselben Gegner, Pickup oder UI-Widget jedes Mal neu zu bauen, erstellst du die Konfiguration einmal und verwendest sie überall, wo du sie brauchst.
Was sind Entity Templates?
Ein Entity Template ist ein Asset, das eine Entity-Struktur speichert.
Es kann enthalten:
- Eine Root Entity (jedes Template MUSS genau eine Root Entity haben).
- Child Entities.
- Komponenten.
- Komponenten-Einstellungen.
- Asset-Verweise.
- Eigenschaften.
- Tags.
Wenn du ein Template in einer Szene platzierst, erstellt Cave eine Instanz dieses Templates.
Die Instanz verwendet das Template-Asset als Basis, was bedeutet, dass sie dieselbe interne Struktur beibehält, aber als platziertes Objekt in einer bestimmten Szene existiert.
Warum Entity Templates wichtig sind
Viele Spielobjekte bestehen nicht aus nur einem Mesh.
Ein Pickup könnte enthalten:
- Ein sichtbares Modell.
- Einen Trigger.
- Ein Licht.
- Einen Partikeleffekt.
- Einen Sound.
- Logik, die die Belohnung gibt.
Ein Template ermöglicht es dir, diese komplette Konfiguration zusammenzuhalten.
Verwende Entity Templates für Dinge wie:
- Spielercharaktere.
- Gegner.
- Pickups.
- Türen.
- Kugeln.
- Fahrzeuge.
- Portale.
- Schadenvolumen.
- Requisiten.
- UI-Elemente.
- Wiederverwendbare Gameplay-Objekte.
Templates sparen Zeit und halten wiederholte Objekte konsistent. Wenn jeder Gesundheits-Pickup vom gleichen Template kommt, kannst du das Template einmal verbessern und dein Projekt organisiert halten.
Erstellen eines Entity Templates
Du kannst ein Entity Template im Asset Browser erstellen oder eine bestehende Szene-Entity in ein Template umwandeln, indem du sie im Scene Graph mit der rechten Maustaste anklickst oder Ctrl + T drückst.
Ein üblicher Workflow ist es, das Objekt zuerst direkt in der Szene zu bauen, zu testen und erst dann in ein Template umzuwandeln, wenn die Konfiguration nützlich ist. So sieht das aus:
- Eine Entity in einer Szene erstellen.
- Die benötigten Komponenten und Child Entities hinzufügen.
- Die Einstellungen anpassen.
- Die Entity zu einem Entity Template befördern.
- Dieses Template in derselben oder anderen Szenen wiederverwenden.
Aber sobald du sicher bist, dass du ein Objekt wie den Spieler, Gegner oder Power-Ups wiederverwenden wirst, ist es gute Praxis, es sofort zu erstellen, entweder im Asset Browser oder durch das Befördern wie oben beschrieben.
Im Scene Graph kann das Schnellbearbeitungsmenü eine Entity zu einem Template befördern. Die vom Editor angezeigte Tastenkombination ist Ctrl + T.
Template Asset vs. Template Instanz
Es ist hilfreich, das Template-Asset von der platzierten Instanz zu unterscheiden.
| Konzept | Bedeutung |
|---|---|
| Template Asset | Die wiederverwendbare Objektkonfiguration, die im Asset Browser gespeichert ist. |
| Template Instanz | Eine platzierte Kopie dieses Templates in einer Szene. |
Das Asset definiert die wiederverwendbare Struktur.
Die Instanz ist die Erscheinung dieser Struktur in einer bestimmten Szene.
Bearbeiten eines Entity Templates
Templates werden als eigenständige Assets bearbeitet.
Wenn du ein Template zum Bearbeiten öffnest, wechselt Cave zu einer Template-Bearbeitungsszene, in der du die interne Entity-Struktur des Templates direkt bearbeiten kannst.
Die wichtige Idee ist:
> Das Template besitzt seine interne Hierarchie.
Szenen-Instanzen nutzen diese Hierarchie, besitzen jedoch nicht direkt jedes Kind darin. Das hält alle Instanzen mit derselben wiederverwendbaren Konfiguration verbunden.
Es ist erwähnenswert, dass dies nicht mehr gilt, sobald das Spiel startet, denn beim Spielstart steht dir die gesamte Hierarchie des Templates sofort zur Verfügung und kann für die individuelle Anpassung genutzt werden. Beim Programmieren deiner Spiellogik kannst du also erwarten, mit Entity Template Instanzen, ihren Children usw. interagieren zu können.
Beispielsweise, wenn du ein Enemy-Template öffnest und ein neues Health Bar-Child hinzufügst, profitieren alle Instanzen dieses Enemy-Templates von der aktualisierten Struktur.
Warum Template-Children nicht direkt in der Szene bearbeitet werden
Wenn eine Template-Instanz in einer Szene platziert ist, gehören die internen Children weiterhin dem Template. Deshalb schützt Cave Template-Children vor direkter Szenenbearbeitung.
Beispielsweise könnte ein Enemy Template enthalten:
Enemy
Body Mesh
Detection Area
Health Bar
Diese internen Children solltest du im Template selbst bearbeiten, nicht als separate, szenenbesitzende Objekte.
Dies hält jede Instanz konsistent. Wenn jeder platzierte Gegner seine internen Children frei bearbeiten könnte, würde das Template seine Verlässlichkeit als wiederverwendbares Objekt verlieren.
Instanziierung eines Templates in einer Szene
Sobald ein Template existiert, kannst du es in einer Szene platzieren.
Beispielsweise kannst du ein Template aus dem Asset Browser in den 3D View ziehen.
Wird das Template platziert:
- Erscheint es im Scene Graph als Template-Instanz.
- Cave verwendet eine andere Template-Farbe (grün) für die Instanz.
- Die Instanz behält die Verbindung zum Template Asset.

Aus Workflow-Perspektive ist dies einer der schnellsten Wege, Levels zu bauen. Du erstellst eine wiederverwendbare Tür, Pickup, Gegner oder Requisite einmal und platzierst Instanzen wo immer das Level sie braucht.
Lokale Template-Anpassung
Template-Instanzen können dennoch lokal angepasst werden:

Der Hauptweg dafür sind Eigenschaften, die durch die Root Template Entity exponiert werden.
Das gibt dir eine nützliche Balance:
- Die Struktur bleibt wiederverwendbar.
- Jede platzierte Instanz kann eigene Werte haben.
Beispielsweise können mehrere Gegner dasselbe Enemy Template nutzen, während jede Instanz unterschiedliche Gesundheit, Geschwindigkeit, Patrouillen-Einstellungen oder Verhaltensoptionen hat.
Beispiele für lokale Template-Eigenschaften
Nützliche lokale Eigenschaften sind:
| Eigenschaft | Beispielhafte Verwendung |
|---|---|
| Gegner-Gesundheit | Einen Gegner schwächer oder stärker machen. |
| Gegner-Geschwindigkeit | Langsame und schnelle Varianten erstellen. |
| Schaden-Menge | Dasselbe Gefahren-Setup mit unterschiedlichen Gefahrenstufen wiederverwenden. |
| Portal-Ziel-Level | Jedes Portal zu einer anderen Szene schicken. |
| Pickup-Wert | Münzen, Edelsteine oder Belohnungen mit unterschiedlichem Wert. |
| Tür-Verschlusszustand | Dasselbe Tür-Setup für verschlossene und offene Türen nutzen. |
| UI-Text | Dasselbe UI-Widget mit unterschiedlichen Beschriftungen verwenden. |
Zum Beispiel kann ein Portal-Template an vielen Stellen eingesetzt werden, wenn jedes platzierte Portal eine lokale Eigenschaft hat, die die Zielszene festlegt.
Beispiele für Starter-Projekt-Templates
Starter-Projekte können je nach ausgewählten Optionen mehrere nützliche Templates enthalten.
Du findest möglicherweise Beispiele wie:
- Spieler-Template.
- Gegner-Template.
- Schaden-Template.
- Portal-Template.
- Fahrzeug-Template.
- Wiederverwendbare Gameplay-Elemente.
Diese sind es wert, untersucht zu werden. Öffne sie, schau dir die Hierarchie und Komponenten an und sieh, welche Eigenschaften exponiert sind.
Der generierte Inhalt ist nicht nur zur Nutzung da, sondern soll dich auch lehren, wie echte Cave-Objekte aufgebaut sein können.
Gute Anwendungsbereiche für Entity Templates
Erstelle ein Template, wenn ein Objekt:
- Oft wiederholt wird.
- In mehreren Szenen verwendet wird.
- Aus mehreren Komponenten aufgebaut ist.
- Aus mehreren Child Entities besteht.
- Konsistent verhalten soll.
- Als wiederverwendbares Gameplay-Element nützlich ist.
Gute Kandidaten sind:
- Gegner.
- NPCs.
- Waffen.
- Kugeln.
- Sammelobjekte.
- Türen.
- Checkpoints.
- Fallen.
- Level-Portale.
- Fahrzeuge.
- Zerstörbare Requisiten.
- UI-Widgets.
- Wiederverwendbare Level-Design-Elemente.
Je häufiger du ein Objekt wiederverwendest, desto wertvoller wird ein Template.
Wann man kein Template nutzen sollte
Nicht alles muss ein Template sein.
Einzigartige Objekte, die nur einmal vorkommen und nur in einer Szene sinnvoll sind, können normale Szenen-Entities bleiben.
Zum Beispiel:
- Ein einmaliges filmisches Requisit.
- Ein spezieller, szenenspezifischer Trigger.
- Eine einzigartige Deko, die nie wiederverwendet wird.
- Ein temporäres Testobjekt.
Templates sind mächtig, aber am nützlichsten, wenn Wiederverwendung tatsächlich zählt. Jeden kleinen Gegenstand zu früh in ein Template umzuwandeln, kann das Projekt schwieriger statt leichter machen.
Eine einfache Template-Regel
Wenn du dich dabei erwischst, dieselbe Entity-Konfiguration mehr als einmal zu kopieren, erwäge, daraus ein Entity Template zu machen.
Diese eine Gewohnheit kann viel Zeit sparen und dein Projekt beim Wachsen deutlich sauberer halten.