1 Allgemeines
Hier wird einmal am Beispiel des Müllabfuhr-Sets gezeigt, wie man Emergency 4 Dateien in Emergency 5 einbinden kann. Dabei wird auf den Import und Export der Dateien mittels Blender und der Vorbereitungen für den Emergency 5 Import eingegangen.
Beispiel Modell https://em-hub.de/filebase/file/…r-set/#overview. Bei den Modellen müssen immer die Lizenzbedingungen beachtet werden.
Wir starten mit dem Download der ZIP. In der Zip liegen meist die einzelnen Objekte mit Texturen und .v3o Datei.
Damit wir mit den v3o Dateien arbeiten können, benötigen wir das Blender v3o Plugin https://em-hub.de/filebase/file/567-blender-4-2-v3o-plugin/
Für den späteren Export nach OGRE benötigen wir ein blender2Ogre Plugin https://github.com/OGRECave/blender2ogre
2 Ordner Struktur anlegen
Damit wir das Modell später ordentlich importieren können und direkt eine übersichtlichere Struktur haben, sollten wir einen neuen Ordner für alle 3d Modell Importe anlegen.
Der Ordner muss in einer Versionsverwaltung liegen, dabei werden Git Ordner oder SVN Ordner unterstützt. Entweder erstellen wir mittels Git (git init) eine neue Versionsverwaltung (oder eine bereits vorhandene) oder wir nutzen die SVN Hilfsdatei von Torcota https://em-hub.de/filebase/file/382-svn-hilfsdatei/
Für jedes Modell/ Paket, welches wir nun fertig machen wollen, erstellen wir einen Ordner innerhalb dieses Verzeichnisses.
Für das Beispiel hier erstelle ich einen Ordner mit dem Namen "muellabfuhr". Achtet bitte bei dem Pfad und den Namen eures Verzeichnisses darauf, das keine Umlaute enthalten sind und alles im besten Fall kleingeschrieben ist.
In das Verzeichnis legen wir uns nun die einzelnen Dateien für die zu importierenden Modelle ab.
In diesem Beispiel importieren wir den F2000. Dafür legen wir 2 Ordner an (f2000, raeder)
3d
- muellabfuhr
- - f2000
In die Verzeichnisse verschieben wir nun die Elemente aus der ZIP Datei passend zu den Objekten.
Jetzt müssen wir die Modelle erstmal noch vorbereiten.
3 Modelle vorbereiten
Zum Vorbereiten der Modelle gehört das Einbinden der Modelle in Blender und das aufräumen und ordentliche benennen und verknüpfen der Materials.
Als Erstes stellen wir sicher, das die v3o Datei unseren Namens-Konventionen entspricht (kleingeschrieben, keine Umlaute / Sonderzeichen). Für das Beispiel änder ich den Namen von "F2000.v3o" zu "f2000.v3o".
Als Nächstes starten wir Blender. Ich nutze für das Beispiel die Blender Version 3.6.22.
Danach löschen wir in Blender die Camera, den Cube und das Light. Dafür wählen wir die Objekte jeweils einzeln aus und löschen diese entweder mittels Kontextmenü (Rechtsklick) oder mit der Delete Taste.
Jetzt haben wir ein leeres Blenderprojekt. Über File > Import > Emergency 4 (v3o) starten wir jetzt den Import der v3o Datei. In dem Blender File View wählen wir die v3o Datei in unserem Verzeichnis aus. Dann importieren wir die Datei.
Als Nächstes ändern wir jetzt die Namen der Meshes und der Materials. Diese können wir ganz einfach innerhalb der Projektansicht von Blender bearbeiten, dafür klappen wir das Objekt (f2000) bis zur untersten Ebene aus.
Zu sehen sind nun in Grün die Meshes und in Rot die Materials.
Für dieses Beispiel, in dem wir einen orangen F2000 importieren, ändere ich die Namen der Materials dementsprechend. Die Namen der Materials und Meshes muss der Namens-Konventionen entsprechen (kleingeschrieben, keine Umlaute / Sonderzeichen).
Jetzt speichern wir das Modell erstmal als Blender Projekt in unser Verzeichnis ab. Das machen wir über File > Save und wählen dort unser Verzeichnis aus. Der Name sollte passend zur v3o Datei sein, hier im Beispiel wähle ich "f2000.blend".
Jetzt haben wir das Mesh und die Materials richtig benannt.
4 Texturen vorbereiten
Als Nächstes müssen wir die Texturen passend zu den Materials vorbereiten. Für Emergency sind mehrere Punkte für die Texturen wichtig, einerseits muss das Format der Texturen zum Import entweder eine DDS Datei oder eine TIF Datei (wichtig .tif, nicht .tiff) sein. Dazu muss der Name der Texturen zu den Materials passen und gleichzeitig per Suffix angeben, um was für eine Textur es sich handelt.
Der Suffix der Datei (_c = ColorMap, _n NormalMap, _t TintableMap, _a AlphaMap, _s SpecularMap, _g GloassMap) gibt den Typ der Textur an. Für das Beispiel heißt es, dass wir die zwei Texturen einerseits zu den genutzten Materials umbenennen und gleichzeitig ein _c anhängen, da wir hier nur die ColorMap vorliegen haben. Aus "Fahrgestell.png" wird "f2000_kabine_orange_c.png" und aus "manf2000 orange.png" wird "f2000_orange.png".
Mittels Photoshop (oder anderem Programm) konvertieren wir jetzt noch das Dateiformat zu TIF (wichtig .tif, nicht .tiff).
Hierbei müssen wir zusätzlich darauf achten, das die Auflösung des Bildes auf beiden Achsen durch vier teilbar ist, sonst ist kein Import in Emergency 5 möglich. Für das Beispiel heißt dies, das wir die Datei "f2000_orange.png" skalieren müssen, da diese aktuell in 565x565 vorliegt.
5 3. Texturen verknüpfen
Wieder in Blender können wir jetzt die angepassten Texturen verknüpfen. Wir öffnen in Blender unser abgespeichertes Projekt. Als Erstes ändern wir den Darstellung Modus innerhalb von Blender, so dass uns gleich die richtigen Texturen angezeigt werden.
Als Nächstes müssen wir die einzelnen Texturen an die Materials verknüpfen. Dafür wählen wir im Material Browser von Blender das Material aus und verknüpfen dort unter Base Color unsere Texture.
Dafür wählen wir bei der Base Color aus, dass wir eine Image Texture hinterlegen möchten. Danach verknüpfen wir bei der Texture unsere passende Texture. Nach der auswahl sollte die Texture in Blender zu sehen sein.
Diese Schritte wiederholen wir für jedes Material.
Als nächstes Speichern wir das Blenderprojekt.
6 Export mittels Blender
Für den Export von Blender nach Emergency 5 nutzen wir ein Blender2Ogre (Ogre Engine) Plugin für Blender https://github.com/OGRECave/blender2ogre
In Blender wählen wir das Objekt aus, welches wir exportieren wollen. Dann starten wir über File > Export > Ogre3D den export. Wichtig ist die auswahl des Objektes!
Im folgenden Modal sind die Einstellungen in der rechten Seitenleiste wichtig, diese geben an, nach welcher Orientierung das Mesh erstellt werden soll und welche Daten mit exportiert werden sollen.
Für uns ist hier die Orientierung nach xzy wichtig und der Export der Materials als seperate Dateien. Weiter soll das Mesh exportiert und ggf. optimiert werden. Alle anderen Dateien lassen wir unverändert.
Damti unser Verzeichnis nicht unübersichtlich wird, erstellen wir einen neuen Ordner "export" für den Export, dies kann direkt im Export Modal von Blender erstellt werden. In den neuen Ordner navigieren wir rein und starten dort den Export mittels "Export Ogre".
Nach dem Export erhalten wir einen MiniReport von Blender.
Jetzt können wir Blender schließen.
Folgende Dateien wurden in unserem Beispiel für den F2000 angelegt (1 Mesh, 2 Materials, 2 Texturen).
7 Export nachbereiten
Den Export von Blender müssen wir noch minimal die Materials anpassen. Dafür öffnen wir die Materials mit einem Editor unserer Wahl (VSCode, Notepad++, Editor).
In dem Material müssen wir den Part mit "rtshader_system" entfernen und die Datei wieder speichern. Das wiederholen wir für alle Materials.
Bitte überprüft hier nochmal die Texturen, der Export kann die Dateiänderung der TIF Dateien von .tif auf .tiff ändern. Dies müssen wir hier nochmal korrigieren. Ihr könnt hier meist einfach die Dateiendung ändern. Prüft danach, dass die TIF (.tif) sich öffnen lässt und noch die richtige Texture anzeigt. Falls dies nicht der Fall ist, repariert bitte die TIF Datei (neu anlegen, ...).
Falls ihr die Texturen umbenannt habt, müsst ihr auch nochmal in den Material Dateien prüfen, das dort der korrekte Dateiname mit der korrekten Dateiendung angegeben ist.
Für das Beispiel musste ich hier beide Texturen von .tiff auf .tif umbenennen und die Dateiendung in den Materials anpassen.
Jetzt ist der Export bereit, um in Emergency 5 importiert zu werden.
8 Import in Emergency 5
Für den Import müsst ihr Emergency 5 mit euer Ziel Mod im Editor gestartet haben. Stellt bitte im AssetBrowser (F11) sicher, dass eure Mod aktiv (Running Projekt, Rechtsklick auf Modnamen) ist und euer Ziel Workdirektory ausgewählt ist (Rechtsklick auf Workdir, Set as Default ...). Euer Projekt und Workdir sollte unterstrichen sein. Schließt nun wieder den AssetBrowser
Jetzt starten wir mit dem Import. Dazu zieht ihr einfach die Mesh Datei des exportes in den Editor. Für mein Beispiel nehme ich die f2000.mesh und diese in den Editor.
Es öffnet sich ein Modal "Asset Imports". Falls dies nicht der Fall ist, findet man im Debug Log eine Fehlermeldung und den Grund, warum der Import nicht erfolgreich war.
In dem Modal sieht man genau, was alles importiert und erstellt wird. Für das Beispiel wird 1 Mesh, 2 Material, 2 Texturen, 2 kompilierte Texturen und ein Prefab erstellt bzw. importiert.
Hier kann nun für jedes Asset noch die Kategorie auswählt werden. Sobald alles konfiguriert ist, kann der Import mit "Ok" bestätigt werden.
Wir packen hier meist die Meshes, Prefabs, Materials und nicht kompilierten Texturen in eigene Kategorien, damit wir diese einfacher zuordnen und wiederfinden können. (external_mesh, external_prefab, external_material, external_textures)
Als kompilierte Texturen sind hier die Texturen, die mit _material_ beginnen zu verstehen.
Durch das Bestätigen des Imports hat man direkt das neu erstellt Prefab ausgewählt und kann es auf der Karte platzieren. Damit wurde das Objekt erfolgreich importiert und kann jetzt im Editor weiter ausgebaut werden.
Bei Fragen gerne im Discord (discord-emergency-luedenscheid.de) im #modding-talk melden.