Keep your place in this quest

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

Cave ist eine Game Engine, was bedeutet, dass sie es dir ermöglicht, deine Ideen in tatsächliche Videospiele umzusetzen. Sie dient dazu, alles zusammenzufügen, deine Level Designs, Interfaces und Logik zu erstellen. Für die eigentliche Erstellung von Kunstwerken wie Texturen, 3D-Modellen, Animationen, Sounds und Musik bevorzugst du möglicherweise spezialisierte Werkzeuge. Werkzeuge wie Blender, 3Ds Max, Maya, Sketchup für 3D, Adobe Photoshop, GIMP, Krita für Bildbearbeitung oder Audacity für Sound. Natürlich kannst du auch andere externe Werkzeuge verwenden. Wichtig ist hier:

Die meisten Spiele verwenden Inhalte, die außerhalb der Engine erstellt wurden.

Das ist in Cave nicht anders. Das bedeutet, dass du diese Dateien in die Engine importieren musst. Es ist daher essenziell, zu verstehen, wie dies funktioniert und was die guten und schlechten Praktiken sind. Importieren ist der Schritt, der diese Dateien in Cave bringt, damit sie Teil deines Projekts werden.

Diese Lektion führt in den Einsteiger-Import-Workflow ein.

Du wirst lernen:

  • Welche Arten von Dateien Cave importieren kann.
  • Was importierte Dateien innerhalb von Cave werden.
  • Warum einfache erste Importe besser sind als große Asset-Pakete.
  • Wie Modellimporte mehrere Asset-Arten erzeugen können.
  • Was nach dem Import zu überprüfen ist.

Das Ziel ist, dir zu helfen zu verstehen, was passiert, wenn externe Dateien zu Cave Assets werden.

Was Kann Importiert Werden?

Cave kann verschiedene Arten von externen Inhalten importieren.

Importierter Dateityp Wird zu
Bilder (verschiedene Formate) Texture Assets.
OGG Audio Audio Assets.
TTF-Schriftarten Schrift-Assets.
.cavePkg Dateien Importierte Cave Asset-Pakete.
3D-Modelle Meshes, Materialien, Texturen, Armatures, Animationen und Templates, abhängig von der Datei.

Nach dem Import werden diese Dateien zu Cave Assets im Asset Browser.

Das bedeutet, sie können in Scenes, Materials, Entities und Entity Templates, UI, Audiosystemen, Scripts, Logik und überall verwendet werden! Importierte Dateien sind nicht mehr nur lose Dateien auf der Festplatte. Sie werden zu Projektinhalten, auf die Cave Referenzen erstellt, speichert, organisiert und wiederverwendet.

Cave verwendet eigene Formate

Beim Importieren VON JEGLICHER Datei in Cave (Bilder, Texturen, Audios, 3D-Modelle usw.) wird das Asset in das proprietäre und eigene Format von Cave Engine konvertiert. Das ist wichtig, weil dieses interne Format viel schneller geparst und von der Engine genutzt werden kann, um die bestmögliche Leistung für dein Spiel zu liefern. Die Engine führt viele interne Optimierungen und Caching automatisch durch, damit deine Assets spielbereit sind.

> Das ist alles intern und du musst dir keine Sorgen machen, aber es ist wichtig, dass du verstehst, dass dieser Prozess passiert und wie er dich betrifft (und warum er gut ist).

Wenn du eine .png Bilddatei in Cave importierst, wird im finalen Spiel nicht die eigentliche png-Datei verwendet. Sie durchläuft sofort einen schnellen Konvertierungsprozess beim Import, danach wird das Cave-Format verwendet. Gleiches gilt für Audio- und 3D-Modelle. Besonders wichtig für 3D-Assets: Cave verwendet keine rohen DCC-Formate wie .fbx, .obj, .glb. Sie können zwar importiert werden, aber sie werden in das Engine-Format konvertiert.

Das passiert, weil diese Formate zwar populär sind, aber das Parsen von z.B. fbx oder auch png Dateien in einem Spiel aufwändig ist und die Leistung beeinträchtigen kann. Also extrahiert Cave alle notwendigen Daten wie Meshes, Materialien, Animationen, Texturen, konvertiert sie dann und speichert sie im Engine-Format.

Das hat drei wichtige Auswirkungen:

  • Dein Spiel läuft schneller und belegt weniger Speicherplatz.
  • Das Asset-Importieren ist destruktiv: Cave behält keine Original-Referenz deines RAW-Assets, wenn du eine externe Änderung vornimmst, musst du erneut importieren.
  • Manche Funktionen könnten nicht verfügbar sein: Obwohl manche Asset-Formate unterstützt werden, sind nicht immer alle Features des Formats von Cave nutzbar. In dem Fall wirst du benachrichtigt und der Import-Prozess schließt diese nicht mit ein.

Jetzt, da du den Importprozess kennst, lernen wir ihn genauer kennen.


Bilder per Drag & Drop importieren

Du kannst Bilder importieren, indem du sie in den Asset Browser ziehst.

Cave unterstützt die meisten gängigen Bildformate:

  • PNG.
  • JPG und JPEG.
  • TGA.
  • BMP.
  • HDR.
  • PSD.
  • PNM.
  • GIF.
  • PIC.
  • DDS.

Importierte Bilder werden zu Texture Assets und können von Materialien, UI-Elementen, Himmelseinstellungen und anderen Systemen verwendet werden, die Bilddaten benötigen. Zum Beispiel kann eine Textur die Color Map eines Fels-Materials sein, ein Icon in der UI oder ein Skybox-Bild für eine Szene.

Für einen ersten Test halte es einfach: importiere eine Textur, weise sie einem Material zu, platziere das Material auf einem Mesh in der Szene und überprüfe das Ergebnis im 3D View.

Audio-Dateien importieren

Auch Audio kann importiert werden, indem du die Dateien in das Projekt ziehst. Aktuell importiert Cave OGG-Audiodateien. Falls du Audiodateien in anderen Formaten hast, konvertiere sie vor dem Import in OGG. Online-Tools können dafür genutzt werden, ebenso empfehlen wir die Software Audacity, die kostenlos und sehr einfach zu bedienen ist und Audio in OGG speichern kann.

Eine OGG-Datei ist ein freies, quelloffenes Multimedia-Containerformat, entwickelt von der Xiph.Org Foundation. Es wird vor allem für Streaming und Speicherung von hochwertiger digitaler Audio verwendet, oft mit besserer Klangqualität bei kleineren Dateien als traditionelle MP3s. ref

Importierte Audiofiles werden zu Audio-Assets, die überall in der Engine verwendet werden können, z.B. durch Audio Player Components, Logik-Bricks oder über Python-Code aufgerufen. Beispiel:

cave.playSound("My Audio File")

Gute erste Audio-Imports sind kurz und leicht testbar:

  • Ein Münzaufnahme-Sound.
  • Ein Button-Klick.
  • Eine Türöffnung.
  • Ein einfacher Ambient-Schleife.
  • Musik für den Soundtrack deines Spiels.

Schriftarten und Cave Packages importieren

Cave kann TTF-Schriftdateien importieren. TTF (TrueType Font) ist ein Schriftdateiformat, ursprünglich von Apple entwickelt und später von Microsoft übernommen, und heute eines der Standardformate für skalierbare digitale Textdarstellung.

Schriftarten werden hauptsächlich vom UI Element Component genutzt, um Spiel-HUDs, Texte, Menüs, Buttons, Untertitel, Credits, Dialog-Interfaces usw. zu erstellen. Die Wahl der Schriftart kann selbst in einem einfachen Menü einen großen Unterschied machen.

Cave Packages importieren

Cave kann auch .cavePkg Dateien importieren. Ein Cave Package ist ein Paket von Cave Assets, das in ein anderes Projekt eingebracht werden kann.

Wenn du im Asset Browser mit der rechten Maustaste auf einen Ordner oder eine Datei klickst, kannst du es als Cave Package exportieren. Wenn du ein Package exportierst, kannst du es später in andere Projekte importieren. Das ist sehr nützlich, um gemeinsame Logik über verschiedene Projekte hinweg zu teilen. Beachte, dass bei einem Export nur das enthalten ist, was sich im angeklickten Ordner oder Asset befindet. Wenn du also z.B. ein Material exportieren möchtest, das mehrere Texturen verwendet, solltest du alles in einen Ordner legen und dann den Ordner exportieren. Wenn du nur das Material importierst, werden die Texturen nicht mit importiert.

Wenn du ein Cave Package per Drag & Drop in den Asset Browser von Cave Engine legst, wird es importiert und die ursprünglich exportierte Datei-Struktur wird in dein vorhandenes Projekt rekonstruiert. Wieder sehr nützlich, um Assets wiederzuverwenden, Standard-Inhalte in neue Projekte zu bringen oder Projektteile zwischen Projekten zu verschieben.


3D-Modelle importieren

Kommen wir nun zu einem der wichtigsten Aspekte einer 3D-Spiel-Engine: dem Import von 3D-Modellen. Cave verwendet assimp zur Unterstützung zahlreicher 3D-Modellformate über den Model Importer.

Er unterstützt viele Modellformate, wobei FBX das hauptsächliche empfohlene Format für Cave ist.

Modellimporte können gleichzeitig mehrere Asset-Arten erzeugen:

  • Meshes.
  • Materialien.
  • Texturen.
  • Armatures.
  • Animationen.
  • Entity Templates.

Das genaue Ergebnis hängt von der Originaldatei ab.

Eine einfache Kiste erzeugt vielleicht nur ein Mesh, Material, Textur und ein Template. Ein animierter Charakter erzeugt Meshes, ein Armature, Animationen, Materialien, Texturen und ein komplexeres Template.

Empfohlene erste Importe

Für deine ersten Importe solltest du einfache, übersichtliche Assets verwenden. Kenney Asset Packs (CC0) sind eine anfängerfreundliche Wahl, da sie meist gut organisiert, leichtgewichtig und verständlich sind. Du kannst auch Quaternius Assets (CC0) ausprobieren oder im FAB Asset Store stöbern.

Gute erste Importe sind eine Kiste, ein Felsen, ein Low-Poly-Baum, ein einfaches Gebäude oder eine Figur. Vermeide es, mit einem riesigen Character Pack oder einer gewaltigen Umgebungsdatei zu starten. Einfache Assets erleichtern das Verständnis dafür, was Cave erstellt, welche Einstellungen wichtig sind und wie importierte Inhalte im Asset Browser erscheinen. Danach kannst du zu komplexeren Setups übergehen.

Modell Schritt für Schritt importieren

Wenn du ein Asset (z.B. FBX) per Drag & Drop in den Asset Browser ziehst, erscheint dieses Fenster:

image.png

Mehrere Dateien können gleichzeitig gezogen werden, für jede Datei wird ein Reiter erstellt. In jedem Reiter kannst du die Assets auswählen, die du importieren möchtest. Hier siehst du auch, welche Asset-Typen erkannt und vom Cave Importer konvertiert wurden. Du kannst individuell auswählen, was importiert wird oder nicht, und die Dateien entsprechend umbenennen. Die Asset-Namen können später ebenfalls noch geändert werden.

Oben, vor jedem Dateireiter, finden Sie zwei globale Optionen (pro Asset-Import):

  • Die Einstellungen, mit denen Sie auswählen können, ob Sie einen Unterordner für das importierte Asset erstellen möchten oder nicht, oder ob automatisch Physik im Entity Template generiert werden soll, das von der Engine erstellt wird.
  • Und auch die Filter-Optionen, die nützlich sind, wenn Sie Dutzende von Assets und Nodes importieren und sich nur für einen bestimmten Teil der Datei interessieren, wie z.B. das Mesh.

Ein grundlegender Modellimport sieht üblicherweise folgendermaßen aus:

  1. Erstellen oder wählen Sie einen Ordner im Asset Browser aus.
  2. Ziehen Sie die Modell-Datei in diesen Ordner.
  3. Warten Sie, bis Cave die Datei analysiert hat.
  4. Überprüfen Sie die Importoptionen.
  5. Wählen Sie aus, welche generierten Assets importiert werden sollen.
  6. Passen Sie bei Bedarf die Import-Skalierung an.
  7. Bestätigen Sie den Import.
  8. Untersuchen Sie die generierten Assets im Asset Browser.

Die Importoptionen können generierte Assets nach Typ gruppiert anzeigen.

So können Sie entscheiden, was importiert werden soll, anstatt alles blind zu akzeptieren. Das ist nützlich, da Modell-Dateien oft mehr Daten enthalten, als man tatsächlich benötigt.

WICHTIGER TIPP:

Wenn Sie Hunderte von Assets oder ein Asset-Paket herunterladen, wie das Kenney- oder Quaternius-Asset-Paket, werden Sie feststellen, dass diese Pakete normalerweise eine separate FBX-Datei pro Objekt enthalten, und in jeder FBX-Datei gibt es eine Kopie des Materials und manchmal sogar der Textur, die über alle diese Assets hinweg verwendet werden.

Wenn Sie alle diese Assets per Drag & Drop importieren, die in jeder Datei eine Kopie desselben Materials enthalten, importiert Cave erwartungsgemäß auch alle Kopien, was eine Menge unnötiger Daten in Ihr Projekt bringt und schließlich die Spielperformance verschlechtert. Das ist kein Fehler der Engine, sondern liegt daran, dass in jeder FBX-Datei eine Materialkopie enthalten ist.

Best Practice in diesem Fall: Importieren Sie zuerst eine einzelne FBX-Datei in die Engine, prüfen Sie, was in dieser Datei enthalten ist, und bestätigen Sie das Material darin. Sobald diese erste Datei importiert ist und das Material in Ihrem Projekt vorhanden ist, importieren Sie alle anderen Dateien und deaktivieren die Material- und Texturimporte über die Filter, da diese bereits mit der ersten Datei importiert wurden. Wenn Sie dann den Import bestätigen, wird Cave versuchen, das bereits vorhandene Material anhand des Namens zu finden und zu verwenden.

Verständnis importierter Meshes

Ein importiertes Modell kann ein Mesh oder mehrere Meshes erzeugen. Dies hängt davon ab, wie das Modell im ursprünglichen DCC-Tool erstellt wurde.

Beispielsweise:

Quellmodell Mögliches Importergebnis
Einfacher Kasten Ein Mesh, ein Material, ein Entity Template.
Objekt mit separaten Teilen Mehrere Meshes und Materialien, ein Entity Template.
Animierter Charakter Meshes, Armatur und Animationen, ein Entity Template.

Nach dem Import sollten Sie die generierten Mesh-Assets und das generierte Entity Template überprüfen.

Beachten Sie, dass für jeden Import ein Entity Template erzeugt wird.

Das Entity Template versucht, die Szenenkonfigurationen, die Sie im DCC-Tool (z.B. Blender) erstellt haben, nachzubilden. Wenn Sie also ein Layout in Ihrer Modellierungssoftware angelegt haben, bei dem Objekte an bestimmten Stellen platziert sind, finden Sie diese Anordnung im Entity Template wieder. Üblicherweise verwenden Sie das rohe Entity Template nicht direkt, aber es ist nützlich, um Objekte schnell in eine Szene zu ziehen, sie lokal zu bearbeiten oder als Vorlage für weitere Bearbeitungen in Cave.

Nach dem Import sollten Sie häufige Probleme überprüfen:

  • Ist das Objekt zu klein?
  • Ist es zu groß?
  • Ist es falsch rotiert?
  • Wurde es unerwartet aufgeteilt?
  • Sieht das generierte Template korrekt aus?

Es ist besser, solche Probleme sofort zu erkennen, bevor Sie das Asset umfangreich in einer Szene verwenden.

Wenn Sie Probleme mit den importierten Assets finden, lohnt es sich, sie in Blender oder einem anderen DCC zu öffnen, um die Korrektheit zu überprüfen. Wir empfehlen auch, die Asset-Meshes vor dem Import in Cave zu triangulieren.

WICHTIG: Beim Import eines 3D-Modells in Cave versucht die Engine automatisch, die Flächen zu triangulieren. Manchmal kann es jedoch zu Fehlern bei der Triangulation kommen, die dazu führen, dass Ihr 3D-Modell „Löcher“ oder falsch erstellte Flächen aufweist. Um dies zu vermeiden, sollten Sie die Flächen in Ihrem DCC-Modellierungstool selbst triangulieren.


Verständnis von Materialien und Texturen

Importierte Modelle können auch Materialien und Texturen erzeugen.

Ein Material steuert, wie eine Oberfläche aussieht. Eine Textur liefert Bilddaten, die vom Material verwendet werden.

Nach dem Import sollten Sie immer das Material überprüfen:

  • Ist die Albedo-Textur zugewiesen?
  • Sind Normalmaps korrekt zugewiesen?
  • Wurden Roughness- oder Metallic-Maps importiert?
  • Sieht das Material im Viewport korrekt aus?

Importe sind nützlich, aber keine Zauberei.

Es ist normal, Materialien nach dem Import anzupassen. Zum Beispiel müssen Sie möglicherweise die Roughness anpassen, eine fehlende Textur beheben oder eine bessere Materialkonfiguration für den visuellen Stil Ihres Spiels wählen.

Multi-Material-Meshes

In Cave verwendet ein Mesh genau ein Material. Wenn ein Objekt in Ihrem DCC-Tool mehrere Materialien verwendet, stellt Cave dies als mehrere Meshes dar.

Eine Entity kann trotzdem mehrere Mesh Components enthalten, sodass das Endobjekt in der Szene gleich aussieht. Die Struktur ist nur anders:

Objekt mit mehreren Materialien
  Mesh Component mit Material A
  Mesh Component mit Material B
  Mesh Component mit Material C

Dies ermöglicht in Cave eine klare Beziehung von einem Mesh zu einem Material, während komplexe importierte Objekte korrekt dargestellt werden.

Aufgrund der Arbeitsweise von Cave wird ein Multi-Material-Mesh beim Import in Ihrem Projekt im Asset Browser in verschiedene Teile aufgesplittet. Cave wird aber versuchen, die finale Entity im Entity Template für Sie mit allen Meshes kombiniert wiederherzustellen.

Importiertes Entity Template

Beim Import eines Modells erstellt Cave ein Entity Template, das die ursprüngliche Anordnung repräsentiert. Dieses Template ist nützlich, weil es die beabsichtigte Zusammensetzung möglichst beibehält.

Zum Beispiel kann ein importiertes Gebäude erzeugen:

  • Mehrere Mesh-Assets.
  • Mehrere Material-Assets.
  • Texture-Assets.
  • Ein Entity Template, das die Teile zusammensetzt.

Dieses Template ist üblicherweise das einfachste Asset, das Sie in eine Szene ziehen können.

Wenn das importierte Objekt als Template korrekt aussieht, können Sie es genauso verwenden wie jedes andere Cave-Template. Ziel ist es, diese Assets in Szenen zu bringen und daraus spielbare Bereiche zu machen.

Grundlegende Importtipps

Halten Sie Importe sauber:

  • Bevorzugen Sie FBX für Modelle.
  • Triangulieren Sie Flächen vorher.
  • Verwenden Sie OGG für Audio.
  • Halten Sie Asset-Namen lesbar.
  • Bevorzugen Sie Namen mit Leerzeichen oder PascalCase.
  • Importieren Sie in organisierte Ordner.
  • Prüfen Sie die Import-Skalierung.
  • Untersuchen Sie die generierten Materialien.
  • Testen Sie das importierte Template im Viewport.
  • Speichern Sie nach dem Import.

Importieren ist ein normaler Teil der Entwicklung.

Gehen Sie in kleinen Schritten vor, prüfen Sie das Ergebnis, und bauen Sie dann weiter auf. Ein sauberer Import-Workflow spart Ihnen viel Zeit, sobald Ihr Projekt mehr eigene Inhalte verwendet.