Fahrzeug-SDK: Unterschied zwischen den Versionen
(Erster Teil) |
(Bis 2.1.1 erstellt) |
||
| Zeile 119: | Zeile 119: | ||
{Dateiname.cfg} | {Dateiname.cfg} | ||
</pre> | </pre> | ||
| + | |||
| + | = Import des 3D-Modells = | ||
| + | |||
| + | Kommen wir nun zum interessanten Part: Dem Import eines fertigen Fahrzeugs in OMSI. An dieser Stelle werden die Bedienung von Blender und grundlegende Modellierungstechniken als bekannt vorausgesetzt, es soll hier rein um die OMSI-spezifische Ausrüstung der Modelle sowie deren Export und Import gehen. Werfen wir zunächst einen Blick auf das Modell, welches wir nun nach OMSI importieren wollen: | ||
| + | |||
| + | [[Datei:SDKBus_0001.jpg|SDK-Demobus in Blender]] | ||
| + | |||
| + | Dieses auf die Schnelle entstandene Modell fiktiven Vorbilds ist natürlich nur sehr sparsam detailliert, dennoch verfügt es über die wesentlichen Funktionen, die für die Verwendung in OMSI wichtig sind. | ||
| + | |||
| + | Sinnvoll ist es, beim Durcharbeiten dieses Tutorials die beigefügte Modelldatei "Testbus.blend" '''''[Hinweis: Ist hier im Wiki noch nicht verfügbar!!!]''''' geöffnet zu haben, um das Beschriebene sogleich am echten Modell nachvollziehen zu können. | ||
| + | |||
| + | '''WICHTIG''' | ||
| + | |||
| + | ''Allgemeine OMSI-Baukonvention ist folgendes Koordinatensystem:'' | ||
| + | * ''x-Achse nach rechts'' | ||
| + | * ''y-Achse nach vorne'' | ||
| + | * ''z-Achse nach oben'' | ||
| + | |||
| + | == Außenmodell == | ||
| + | |||
| + | === Wagenkasten und Spiegel === | ||
| + | |||
| + | Der erste Schritt zu einem neuen Fahrzeugmodell ist in der Regel die Einbindung des Wagenkastens. | ||
| + | |||
| + | [[Datei:SDKBus_0002.jpg|Außenmodell des Wagenkastens]] | ||
| + | |||
| + | Das ist das Modell des Wagenkastens, also die reine Außenhülle des Fahrzeuges. Die Außen- und Innenspiegel sind hierbei bereits enthalten, da diese dieselbe Textur wie der Rest des Wagenkastens verwenden. | ||
| + | |||
| + | '''BAUTIPP''' | ||
| + | |||
| + | ''Starre, also nichtanimierte Bauteile, die später in OMSI die gleichen Materialeigenschaften haben sollen, sind nach Möglichkeit in einer o3d-Datei zusammenzufassen, wenn in den jeweiligen Einzelobjekten stets dieselbe Textur verwendet wird.'' | ||
| + | |||
| + | Für die Funktion der Spiegel genügt es, den Spiegelflächen eine Standard-Reflexionstextur zuzuweisen, die von OMSI automatisch als solche anhand des Dateinamens erkannt wird: | ||
| + | |||
| + | [[Datei:SDKBus_0003.jpg|Rückspiegel]] | ||
| + | |||
| + | Hierbei handelt es sich um Texturen mit dem Dateinamen ''reflexion0.bmp'', ''reflexion1.bmp'', usw. Der Index ''0...n'' verweist auf den dazugehörigen Eintrag der Reflexionskameras, die in der Bus-Datei definiert sind. Ist also die Reflexionskamera 1 für den rechten Außenspiegel zuständig, muss in Blender für den rechten Spiegel die Textur ''reflexion1.bmp'' verwendet werden. Alles Weitere erledigt OMSI automatisch. | ||
| + | |||
| + | Für den OMSI-Import erzeugen wir nun zunächst eine 3D-Datei im X-Format. Hierzu wird der Wagenkasten im Object Mode selektiert, danach folgende Funktion im Menü aufgerufen: | ||
| + | |||
| + | [[Datei:SDKBus_0004.jpg|300px|Aufrufen des X-Exporters unter Blender]] [[Datei:SDKBus_0005.jpg|Korrekte Einstellungen für die folgende Konvertierung ins o3d-Format]] | ||
| + | |||
| + | Stellen Sie sicher, dass alle Optionen wie gezeigt eingestellt sind und exportieren Sie den Wagenkasten mit Klick auf ''Export Sel'', wodurch nur das selektierte Objekt exportiert wird. Geben Sie der Datei einen entsprechenden Namen, z. B. ''testbus_body.x''. | ||
| + | |||
| + | Nun muss die X-Datei noch ins OMSI-eigene o3d-Format konvertiert werden. Rufen Sie hierzu den O3D-Konverter auf: | ||
| + | |||
| + | [[Datei:SDKBus_0006.jpg|O3D-Konverter]] | ||
| + | |||
| + | Klicken Sie auf ''Convert...'' und wählen Sie die eben erstellte X-Datei aus. Die O3D-Datei wird nun erzeugt. | ||
| + | |||
| + | Um diese nun in OMSI darzustellen, muss der Dateipfad in die ''model.cfg'' des Fahrzeugs eingetragen werden: | ||
| + | |||
| + | <pre> | ||
| + | |||
| + | ------------------- | ||
| + | Body | ||
| + | ------------------- | ||
| + | |||
| + | [mesh] | ||
| + | modeldata\testbus_body.o3d | ||
| + | |||
| + | </pre> | ||
| + | |||
| + | Die Überschrift ''Body'' dient hierbei als Kommentar zum leichteren Auffinden, was im Sinne der Lesbarkeit auch konsequent fortgeführt werden sollte. Jede O3D-Datei wird mit dem ''[mesh]''-Schlüsselwort aufgerufen, welches als Parameter den relativen Dateipfad zur O3D-Datei benötigt. In diesem Fall liegt die O3D-Datei also im Unterordner ''modeldata''. | ||
| + | |||
| + | Dann wollen wir uns das erste Ergebnis einmal in OMSI ansehen: | ||
| + | |||
| + | [[Datei:SDKBus_0007.jpg|Erster Screenshot in OMSI!]] | ||
| + | |||
| + | Schon nicht schlecht, der Wagen wirkt aber noch ein wenig matt und spielzeughaft. Wir sollten noch ein bisschen metallischen Glanz hinzufügen. | ||
Version vom 2. Dezember 2011, 17:27 Uhr
Fahrzeug-SDK
Verfasser: Rüdiger Hülsmann
Import ins OMSIWiki: Marcel Kuhnt
Inhaltsverzeichnis
Vorbemerkungen
Ziel des SDKs
Ziel dieses SDKs und Tutorials ist der Import von Fahrzeugen nach OMSI, deren Animation sowie die Einstellung fahrzeugspezifischer Parameter.
Dieses SDK behandelt weder die 3D-Modellierung von Fahrzeugen in Blender noch den Umgang mit Bildbearbeitungssoftware zum Erstellen von Texturen. Dies wird im Rahmen des vorliegenden SDKs als bekannt vorausgesetzt. Hinweise und Tipps zu 3D-Modellierung, den Umgang mit Blender und Bildbearbeistungssoftware beschränken sich somit auf den Umfang, der für den korrekten Import der Fahrzeuge notwendig ist.
Aufbau der Bus-Datei
Die Bus-Datei (*.bus, alternativ auch *.ovh) ist das wesentliche Element zur Definition eines Fahrzeugs. Sie enthält den Fahrzeugnamen, die zu verwendenden Modell- und Soundkonfigurationen, die Verweise auf die Scriptdateien sowie die allgemeinen physikalischen Daten. Im Aufbau ist sie eine normale OMSI-Konfigurationsdatei, das heißt, die bereits bekannten Konventionen zu Schlüsselwörtern und Kommentaren gelten auch hier.
Im Folgenden werden die enthaltenen Schlüsselwörter und die dazugehörigen Datensätze kurz erklärt.
Fahrzeugname und -beschreibung
[friendlyname]
{Hersteller}
{Fahrzeugtyp}
{Anstrich}
Definition der Einträge im Fahrzeugauswahlmenü. "Anstrich" ist der Name des Standardanstrichs, wenn keine Sonderlackierung (z.B. Werbung) aktiv ist.
[description]
{Beschreibung}
[end]
Fahrzeugbeschreibung im Fahrzeugauswahlmenü. "Beschreibung" ist ein Fließtext beliebiger Länge, welcher auch Zeilenwechsel enthalten darf. [end] markiert dann das Ende dieses Textes.
Fahrzeugnummer
[number]
{Dateiname.org}
Hiermit wird eine Wagennummerndatei festgelegt, welche sämtliche verfügbaren Wagennummern definiert. Der Eintrag fällt weg, wenn für das Fahrzeug keine Wagennummern vergeben werden sollen (bspw. bei privaten Fahrzeugen).
Kfz-Kennzeichen
Es kann gewählt werden zwischen zwei Varianten:
- Freie Wahl des Kennzeichens (bei KI-Fahrzeugen wird dann auf die Liste "registrations.txt" zurückgegriffen)
- Automatische Erzeugung des Kennzeichens anhand der Wagennummer
Für das erste Verfahren reicht der Befehl
[registration_free]
Für das zweite Verfahren wird der folgende Befehl verwendet:
[registration_automatic]
{Präfix}
{Postfix}
Das Kfz-Kennzeichen wird dann aus Präfix + Nummer + Postfix zusammengesetzt.
Beispiel: Sei die Wagennummer 3313, der Präfix "B-V" und der Postfix "H", dann ist das resultierende Kennzeichen für diese Wagennummer "B-V3313H".
Fahrzeuge, bei denen Wagennummer und Kfz-Kennzeichen voneinander abweichen, benötigen sowohl den Eintrag [number] als auch [registration_free]. Eine automatische Zuordnung von voneinander abweichenden Wagenummern und Kfz-Kennzeichen ist momentan noch nicht möglich.
Kilometerstand
[kmcounter_init]
{Baujahr}
{Jahreslaufleistung}
Aus diesen beiden Werten (Jahreslaufleistung in km) errechnet OMSI beim Platzieren des Fahrzeuges einen zum aktuellen OMSI-Datum passenden Kilometerstand
Zu verwendende Konfigurationsdateien
Konfigurationsdatei für den Fahrzeugsound:
[sound]
{Dateiname.cfg}
Konfigurationsdatei für den Fahrzeugsound im Falle des Einsatzes als KI-Fahrzeug (ist diese Datei nicht angegeben, wird auf die normale Sound-Konfigurationsdatei zurückgegriffen):
[sound_ai]
{Dateiname.cfg}
Konfigurationsdatei für das 3D-Modell
[model]
{Dateiname.cfg}
Konfigurationsdatei für die Laufpfade im Innenraum
[paths]
{Dateiname.cfg}
Konfigurationsdatei für Sitzplätze, Fahrscheinpositionen usw.
[passengercabin]
{Dateiname.cfg}
Import des 3D-Modells
Kommen wir nun zum interessanten Part: Dem Import eines fertigen Fahrzeugs in OMSI. An dieser Stelle werden die Bedienung von Blender und grundlegende Modellierungstechniken als bekannt vorausgesetzt, es soll hier rein um die OMSI-spezifische Ausrüstung der Modelle sowie deren Export und Import gehen. Werfen wir zunächst einen Blick auf das Modell, welches wir nun nach OMSI importieren wollen:
Dieses auf die Schnelle entstandene Modell fiktiven Vorbilds ist natürlich nur sehr sparsam detailliert, dennoch verfügt es über die wesentlichen Funktionen, die für die Verwendung in OMSI wichtig sind.
Sinnvoll ist es, beim Durcharbeiten dieses Tutorials die beigefügte Modelldatei "Testbus.blend" [Hinweis: Ist hier im Wiki noch nicht verfügbar!!!] geöffnet zu haben, um das Beschriebene sogleich am echten Modell nachvollziehen zu können.
WICHTIG
Allgemeine OMSI-Baukonvention ist folgendes Koordinatensystem:
- x-Achse nach rechts
- y-Achse nach vorne
- z-Achse nach oben
Außenmodell
Wagenkasten und Spiegel
Der erste Schritt zu einem neuen Fahrzeugmodell ist in der Regel die Einbindung des Wagenkastens.
Das ist das Modell des Wagenkastens, also die reine Außenhülle des Fahrzeuges. Die Außen- und Innenspiegel sind hierbei bereits enthalten, da diese dieselbe Textur wie der Rest des Wagenkastens verwenden.
BAUTIPP
Starre, also nichtanimierte Bauteile, die später in OMSI die gleichen Materialeigenschaften haben sollen, sind nach Möglichkeit in einer o3d-Datei zusammenzufassen, wenn in den jeweiligen Einzelobjekten stets dieselbe Textur verwendet wird.
Für die Funktion der Spiegel genügt es, den Spiegelflächen eine Standard-Reflexionstextur zuzuweisen, die von OMSI automatisch als solche anhand des Dateinamens erkannt wird:
Hierbei handelt es sich um Texturen mit dem Dateinamen reflexion0.bmp, reflexion1.bmp, usw. Der Index 0...n verweist auf den dazugehörigen Eintrag der Reflexionskameras, die in der Bus-Datei definiert sind. Ist also die Reflexionskamera 1 für den rechten Außenspiegel zuständig, muss in Blender für den rechten Spiegel die Textur reflexion1.bmp verwendet werden. Alles Weitere erledigt OMSI automatisch.
Für den OMSI-Import erzeugen wir nun zunächst eine 3D-Datei im X-Format. Hierzu wird der Wagenkasten im Object Mode selektiert, danach folgende Funktion im Menü aufgerufen:
Stellen Sie sicher, dass alle Optionen wie gezeigt eingestellt sind und exportieren Sie den Wagenkasten mit Klick auf Export Sel, wodurch nur das selektierte Objekt exportiert wird. Geben Sie der Datei einen entsprechenden Namen, z. B. testbus_body.x.
Nun muss die X-Datei noch ins OMSI-eigene o3d-Format konvertiert werden. Rufen Sie hierzu den O3D-Konverter auf:
Klicken Sie auf Convert... und wählen Sie die eben erstellte X-Datei aus. Die O3D-Datei wird nun erzeugt.
Um diese nun in OMSI darzustellen, muss der Dateipfad in die model.cfg des Fahrzeugs eingetragen werden:
------------------- Body ------------------- [mesh] modeldata\testbus_body.o3d
Die Überschrift Body dient hierbei als Kommentar zum leichteren Auffinden, was im Sinne der Lesbarkeit auch konsequent fortgeführt werden sollte. Jede O3D-Datei wird mit dem [mesh]-Schlüsselwort aufgerufen, welches als Parameter den relativen Dateipfad zur O3D-Datei benötigt. In diesem Fall liegt die O3D-Datei also im Unterordner modeldata.
Dann wollen wir uns das erste Ergebnis einmal in OMSI ansehen:
Schon nicht schlecht, der Wagen wirkt aber noch ein wenig matt und spielzeughaft. Wir sollten noch ein bisschen metallischen Glanz hinzufügen.





