3D - Spline Tutorium

Aus EEP Wiki
Wechseln zu: Navigation, Suche

Tutorial zur Erstellung eines 3D-Splines im Home-Nostruktor 13.0

Vorbemerkung

Es wird nicht nur die Erstellung eines 3D-Splines beschrieben, sondern auf dem Weg dorthin werden auch 2D-Splines behandelt werden, ebenso wie die Themen Oberleitung und Prellbock / Weichenlaternen.
Diese werden allerdings nur ergänzend erklärt, nicht jedoch an einem extra Spline konkret beschrieben.

Voraussetzungen

Ihr solltet mitbringen:

- Etwas Erfahrung in der Bildbearbeitung mit einem Programm Eurer Wahl
- Grundlegendes Verständnis des HomeNos 13.0
- Kenntnis der Hilfedatei zum HomeNos 13.0, speziell zum Einbinden von Texturen



Was wir in diesem Tutorial bauen werden

Der Eine oder Andere kennt vielleicht den Stahlfachwerkbrückenbaukasten für EEP 6; dieser beinhaltet eine Reihe spezieller Splines, die ich nun auch für EEP 8 ff umgesetzt habe. Einen dieser Splines werden wir auch in diesem Tutorial erstellen, und zwar eine eingleisige Gleisbrücke.

Hier zunächst mal der alte „2D“- Spline für EEP 6:



Spline01.jpg



Es lässt sich recht gut erkennen, dass es sich um eine Art „Strangprofil“ handelt; die Geländerdurchbrüche sind als Alpha-Maskierung in der Textur enthalten, ebenso wie auch alle Schattierungen schon in der Textur umgesetzt sind.

Das Ziel dieses Tutorials ist es nun, diese Darstellung in EEP 13 deutlich zu verbessern.



Spline02.jpg



Insbesondere die Struktur der Trägerkonstruktion soll dort, wo sie früher nur mit schwarzen Flächen angedeutet werden konnte, dreidimensional ausgestaltet werden. Trotzdem aber soll sich der Spline wie üblich frei verformen und in der Länge beliebig anpassen lassen.

Die Textur

Was im Vergleich obiger beider Bilder sofort auffällt, ist, dass beim EEP 6-Spline die Textur auch auf der Innenseite des Profils abgebildet wird. Dies war bis EEP 6 so und seitens des Kons nicht zu ändern. Ebenso erhielt jeder Eckpunkt des Profils die Helligkeit 255; also musste jede Schattierung schon in der Textur angelegt werden. Auch wurden dort Splines ja nicht im HomeNos erstellt, sondern in speziellen Textdateien mit der Endung .def.

Dies ist ab EEP 8 ff nun völlig anders. Hier werden Splines im HomeNos erstellt mit sehr viel mehr Gestaltungsmöglichkeiten als früher. Dies hat auch Auswirkungen auf die erforderliche Textur, die nun bei gleicher Größe eine erheblich detailliertere Darstellung ermöglicht.

Hier einmal zum Vergleich die Texturen für die beiden Versionen nebeneinander:



Spline03.jpg Spline04.jpg



In der linken Textur (für EEP6) ist gut die Alpha-Maskierung des Geländers zu erkennen sowie die schwarzen Flächen und die verschiedenen Schattierungen; die gesamte Textur wird einmal um den halben Spline „herumgewickelt“, und gespiegelt um die andere Hälfte.

In der rechten Textur (für EEP8) sind mehr Details enthalten, dagegen keine Geländerdurchbrüche oder Schattierungen. All dies wird später in der Konstruktion selbst erzeugt.

Dafür bietet sie noch Platz für Details, die im Spline selbst hier allerdings nicht benötigt werden, jedoch für weitere Modelle, die einmal zu diesem Spline passen sollen.

Noch einmal alleine die Textur (256x512 Pixel), wie wir sie für unseren 3D-Spline benötigen:



Spline04.jpg



Diese müssen wir nun als Bilddatei in den Parallelsordner unseres HomeNos 13.0 - Verzeichnisses einfügen. Der Alpha-Kanal für die Durchbrüche im oberen Teil der Textur ist hier nicht so wichtig, denn diesen Teil verwenden wir nicht für unseren Spline. Wichtig ist aber, wenn wir die Textur über den Dialog in den HomeNos 13.0 einfügen, die Option repeat_s zu aktivieren:



Spline05.jpg



Der HomeNos-Dialog schlägt automatisch die ID 40000 ff vor; ich finde es jedoch von Vorteil, eine ID kleiner als 30000 zu verwenden. Es gibt nämlich in den Kon-Fenstern die Möglichkeit, allen per Rahmen markierten Vertices eine ander Textur-ID zu geben, doch werden dabei IDs >30000 abgewiesen.

Wir erhalten kleinere IDs, indem wir die Datei händisch in der Texturen.txt anlegen. Auch dabei ist auf den Eintrag „repeat_s ()“ zu achten.

Näheres dazu findet sich in diesem Wiki unter: Erste Schritte – Arbeit mit Texturen.

Die Abmessungen unseres Splines

Wir haben also die Textur erfolgreich eingefügt, doch bevor wir nun im HomeNos zu konstruieren beginnen, sollten wir uns noch eine Skizze unseres doch recht komplexen Splines anlegen, anhand derer wir uns später orientieren können.



Spline06.jpg



Auf der Skizze sind bereits die wichtigsten Abmessungen in cm bzw. Einheiten eingetragen; es ist ja eine der Eigenheiten des Nos, dass die Koordinaten der y-Achse nach oben hin negativ werden… Die Schienenoberkante liegt auf Null; dies erleichtert später die korrekte Höheneingabe beim Anlagenbau in EEP. Der Track ist schwarz skizziert, die 3D-Spline-Objekte sind rot.

Arbeiten im HomeNos 13.0

Genug der Vorbereitungen; jetzt geht es zur Sache!

Alle Konstruktionen werden im HomeNos 13.0 als Projekte angelegt; dies gilt auch für Splines. Wir rufen also im Menü „Datei“ den Punkt „Neues Projekt“ auf und geben ihm den Namen „Gleisbruecke“ (oder sonst einen, der uns sinnvoll erscheint). Unter „Objektname“ müssen wir in Fall eines Splines nichts eingeben, da unser Objekt vom Programm automatisch „Track“ benannt werden wird. Wichtig ist aber, dass wir bei „Gleis-Projekt (Spline)“ ein Häkchen setzen:



Spline07.jpg



Anschließend klicken wir auf „Generiere es!“ und sehen, dass nun zwei Kon-Fenster geöffnet werden: „Track-Kon_001“ und „Track_Kon_002“. Wenn wir parallel im Windows-Explorer das Programmverzeichnis des HomeNos 13.0 geöffnet haben, sehen wir auch, dass dort im Ordner „Projekte“ ein neuer Unterordner „Gleisbruecke“ angelegt wurde, und darin wiederum ein Unterordner „Track“, welche nun schon unsere beiden Kon-Dateien enthält.

Mit den Track-Kon-Dateien hat es eine besondere Bewandtnis; sie funktionieren nicht so, wie Kon-Dateien es üblicherweise tun. Hier bilden sie einfach den Querschnitt des Profils ab; in unserer Skizze entspricht das den schwarzen Linien. Und es ist wichtig, beginnend mit dem Vertex 0, die Verbindungslinien einer Track-Kon-Datei stets im Uhrzeigersinn zu ziehen; wir legen auf diese Weise nämlich fest, was später die Vorder- bzw. Rückseite unseres Track-Konstruktes sein wird.

Es lassen sich im Track auch keine räumlich getrennten Konstrukte in einer Kon-Datei unterbringen, wie es bei „normalen“ Objekt-Kons durchaus möglich ist: das Programm wird immer alle Vertices einer Track-Kon-Datei in ihrer Reihenfolge miteinander zu verbinden suchen. Eine Ausnahme bildet nur die Verbindungslinie vom letzten zum ersten Vertex; diese wird im Profil auch dann nicht dargestellt, wenn wir sie in der Kon-Datei ziehen. Das Profil, das wir mit einer Kon-Datei darstellen können, wird also stets „offen“ bleiben; für ein „geschlossenes“ Profil, wie wir es ja für unsere Gleisbrücke brauchen, benötigen wir also mindesten zwei Kon-Dateien.

Glücklicherweise ist es im HomeNos 8.0 aber möglich, beliebig viele Kon-Dateien zu einem Spline-Profil zusammenzufügen. Wir können diese Möglichkeit auch dazu benutzen, Teile unserer Textur mehrfach zu verwenden.

In der folgenden Skizze sind alle Track-Kons mit ihrer Laufrichtung eingetragen (die grünen Striche zeigen Anfang und Ende der Track-Kons) , sowie alle 3D-Teile, zu denen wir später kommen:



Spline08.jpg



Es ist nicht zwingend, aber ich habe mir angewöhnt, die Track-Kon-Dateien umzubenennen nach dem Schema „Tk-00“, „Tk-01“, „Tk-02“ usw., und zwar aus zwei Gründen: erstens ist es bei umfangreichen Projekten nicht leicht, all die zugehörigen Kon-Dateien (in unserem Projekt werden es 10+4) stets auseinander zu halten; nach der Umbenennung bleiben die Nummern der kurzen Dateinamen aber trotz minimierter Fenster noch lesbar. Das erleichtert die Arbeit später sehr:



Spline09.jpg



Zweitens beginne ich die Nummerierung bei „00“ (statt bei 001), einfach weil später im Dialog der Modelleinstellungen auch die Nummerierung der Liste der Kon-Dateien mit „#00“ beginnt. So kommt es weniger leicht zu Verwechslungen zwischen den Kon-Dateien in diesem Dialog:



Spline10.jpg



Beginnen wir also mit der ersten Track-Kon, der „Tk-00“:



Spline11.jpg



Der erste Vertex (Vertex#0) befindet rechts unten, von dort geht die Verbindungslinie nach oben, dann nach links, und schließlich wieder nach unten. Dies entspricht dem Abschnitt „Tk-00“ in unserer Skizze. Wer genau hinschaut, erkennt, dass in den Ecken je 3 Vertices untergebracht sind. Dies geschieht aus folgendem Grund: stoßen bei Track-Kons zwei Flächen aufeinander, wird an ihrer Kante die Flächennormale gemittelt; anders als bei „normalen“ Objekten lässt sich dies auch nicht ändern.
Unsere ebenen Flächen würden also bei Lichteinfall ungleichmäßig ausgeleuchtet wirken. Um das zu vermeiden, haben wir grundsätzlich zwei Möglichkeiten: entweder spendieren wir jeder Fläche eine eigene Kon-Datei (dann stehen die Normalen alle senkrecht), oder wir bilden jede Ecke aus drei Vertices, was die Kante später optisch wie eine Fase erscheinen lassen wird, was oft besser wirkt als die erste Möglichkeit:



Spline12.jpg



Das gelbe Fensterchen mit den Angaben zu jedem Vertex können wir erzeugen, indem wir mit der rechten Maustaste auf den entsprechenden Vertex klicken.



Spline13.jpg



Hier mehrere Fasen in einer Detailansicht unseres Brückensplines, wie sie durch die Verwendung von 3 Vertices an den Kanten entstehen.

Nachdem wir die Vertices und Verbindungslinien der Reihe nach gesetzt haben, teilen wir ihnen im Vertexdialog jeweils ihre Texturkoordinaten zu.

Hinweiser.gif

Wichtiger Hinweis
Wenn unsere Modelle in den Verkauf gehen, verlangt Trend für alle Vertices den unveränderten Wert 200/200/200; alle Schattierungen müssen in der Textur dargestellt werden


Der X-Wert beträgt immer 4.0, was bedeutet, dass unsere Textur alle 250 cm wiederholt wird (die Angabe 4.0 besagt, dass unserer Textur in der X-Achse 4mal auf 10m gekachelt wird).
Die Y-Werte müssen wir im Vertex-Dialog herausfinden:



Spline14.jpg



Weiter geht es mit Tk-01:



Spline15.jpg



Links oben ist eine kleine Stahlkante nachgebildet, an die sich dann nach rechts die Holzbretter anschließen.

Ganz unten befindet sich ein weiterer Vertex in der Mitte, an dem die Textur gespiegelt wird (Y = 0.152). Den Rest der Y-Werte herauszufinden, sei hier dem User überlassen.

Wenn wir nun die beiden ersten Track-Kons einfügen (sollte standardmäßig schon geschehen sein; wenn nicht, Schaltfläche Spline19.jpg klicken) und uns das Resultat im 3D-Betrachter anschauen, sieht das Ganze allerdings noch recht merkwürdig aus:



Spline16.jpg



Was ist da los? Unser Track-Kon Tk-00 wird wie erwartet abgebildet, aber Tk-01 erscheint als merkwürdiges Drahtgebilde. Zwar erkennen wir das Profil, aber so nützt es uns wenig.

Des Rätsels Lösung liegt in den Modelleinstellungen im rechten Teil des Dialogs:



Spline17.jpg



Ganz rechts finden wir das Eingabefeld „ID“. Alle hier aufgelisteten Kon-Dateien müssen über die ID „1“ verfügen. Lautet die ID dagegen „2“ (wie standardmäßig bei der Track-Kon_002), dann wird die Kon-Datei entlang ihrer Verbindungslinien als Drahtgebilde in der X/YEbene dargestellt.

Dies dient der Darstellung von Kon-Dateien als Oberleitung, womit auch dieses Geheimnis geklärt wäre.

Allerdings soll unsere Gleisbrücke keine Oberleitung erhalten; der Grund ist, dass sie später in EEP oft in kleinen Stücken (so ab 250 cm) aneinandergesetzt wird, was jede Oberleitung natürlich unsinnig aussehen lässt.

Wir geben also der Tk-01 die ID 1, und voilá:



Spline18.jpg



Wie bekommen wir nun die weiteren noch benötigten Track-Kons in unser Arbeitsfenster? Wir klicken dazu auf „Datei – neu“, was uns ein weiteres Kon-Fenster beschert samt zugehörigem Datei-Eintrag. Dieses Fenster speichern wir als „Tk-02“, setzen unsere Vertices nach der Skizze und vergeben wieder die Vertex-Eigenschaften.

Anschließend fügen wir die Kon-Datei mit Spline19.jpg ein, geben auch ihr in den Modelleinstellungen die ID 1, und so weiter bis zur Tk-05. Das Geländer besteht aus vier weiteren Kon-Dateien; da sich die Konstrukte jedoch nicht rundum schließen lassen, verwenden wir hier einen kleinen Trick:



Spline20.jpg



Der Vertex#0 ist von dem Viererblock unten der Vertex rechts oben. Von dort geht es zum Vertex links unten im Block, dann im Uhrzeigersinn einmal die Kon herum, und zum Schluss wieder im Viererblock unten von rechts unten nach links oben. Die erste und die letzte Verbindungslinie kreuzen also einander, was bei Track-Kons im Gegensatz zu Objekt-Kons funktioniert und unserem Geländerprofil an der Unterseite eine kleine Naht verpasst. In dieser Weise sind alle vier Track-Kons Tk-06 bis Tk-09 aufgebaut. Track-Kons lassen sich nicht instanzieren, daher brauchen wir die vier Kon-Dateien einzeln.

Wenn wir alles erledigt haben, sollte unser Track jetzt in etwa so aussehen:



Spline21.jpg



3D-Objekte für unseren Spline

Bis jetzt haben wir einen der üblichen 2D-Splines erzeugt; wollten wir ihn so nach EEP exportieren, müssten wir nur noch einige wenige Einstellungen vornehmen und könnten das dann tun. Weil wir bei anderer Gelegenheit vielleicht ja tatsächlich nur einen 2D-Spline erstellen möchten, sei hier kurz aufgeführt, welche Einstellungen das sind.

Zum einen die Einstellungen in der System.INI. Das Handbuch listet unter „interne System-INI der Modelle – Bsp.-INIs inkl. Erläuterungen – 2) Gleisstile (Splines)“ alle relevanten auf.
Dann die zwingend erforderlichen Einstellungen im Achsendialog. Hier sei im Wiki auf den Abschnitt „Achsennamen (Transformationsachsen) – reservierte Achsennamen“ verwiesen, insbesondere auf die Achsen „Basis“, „_1“ und „_2“. Wie aus dem Wiki hervorgeht, müssen wir die Achsen _1 und _2 auf jeden Fall kreuzen, auch wenn wir weder einen Prellbock noch eine Weichenlaterne einfügen wollen. In diesem Fall bleiben die Achsen eben leer; ansonsten müssten wir den Achsen hier die entsprechenden Modelle zuweisen.
Streng genommen sind ja Prellböcke und Weichenlaternen schon selbst 3D-Objekte, die per Achsendialog an ihre Splines gekoppelt sind. Und tatsächlich werden auch bei 3D-Splines die Objekte per Achsendialog an den Track gekoppelt. Doch bevor wir das tun können, müssen wir uns diese Objekte ja erst einmal konstruieren.
Dazu klicken wir im Menü des HomeNos 13.0 auf dieses Icon:



Spline22.jpg



Es öffnet sich der Neues Objekt / Projekt – Dialog:



Spline23.jpg



Wir nennen das Objekt „Base“ (dieser Name ist zwingend) und generieren es. Im Windows-Explorer können wir sehen, dass jetzt neben dem Ordner „Track“ unseres Projekts ein weiterer Ordner „Base“ angelegt wird. Gleichzeitig steht jetzt im Objekt-Auswahl-Fenster neben dem blauen „Speichern“-Icon nicht mehr „Track“, sondern „Base“. Diesem Objekt müssen wir nun mit Klick auf das Icon „neu“ eine erste Kon-Datei hinzufügen; ich habe mir auch hier Kurzbezeichnungen angewöhnt: Bk-00…Bk-XX.
Wir erkennen unschwer die Entsprechung in der Skizze unseres Splines:



Spline24.jpg



Damit diese Kon-Datei passend in unseren Spline eingefügt wird, müssen wir sie noch im Instanzen-Dialog entsprechend drehen. Außerdem wollen wir hier beide Seiten sehen und erzeugen eine weitere Instanz, deren Rückseite wir in den Modelleinstellungen per Faceculling sichtbar machen:



Spline25.jpg





Spline26.jpg



Ebenso verfahren wir mit Bk-01 (die 45°-Teile erlauben es, eine Nietenreihe passend einzufügen):



Spline27.jpg



Nun noch die Kons Bk-02 (die Gurte der T-Träger) und Bk-03 (die Geländerstützen) erstellen, im Instanzen-Dialog passend drehen, einfügen, in den Modelleinstellungen anhaken und ihnen eine ID geben (kann hier die ID 1 sein, aber auch eine andere), und dann geht es in den Achsendialog.

Der Achsendialog

Um unser 3D-Objekt „Base“ an unseren Track zu koppeln, müssen wir ihm eine Achse verpassen. Die Achsen _1 bis _5 (seit PlugIn 2 zu EEP X anscheinend auch _6) sind reserviert; wir nennen unsere Achse schlicht _B1 (ein anderer, nicht reservierter Name ginge aber auch).

Wir kreuzen dazu unter die Basis die Achsen _1, _2 und _B1. Der Basis ist dabei das Modell „Track“ zugeordnet; auf die Achse _B1 setzen wir das Modell „Base“, die Achsen _1 und _2 bleiben leer:



Spline28.jpg





Spline29.jpg



Wir können nun schon unser 3D-Objekt „Base“ an unserem Spline bewundern:



Spline30.jpg



Allerdings fehlt noch etwas, nämlich die periodische Wiederholung des Objekts entlang des Splines; in unserem Fall soll es wie die Textur des Tracks alle 250 cm wiederholt werden.

Systemeinstellungen

Wir gehen zu diesem Zweck in die Systemeinstellungen und hängen an den dort stehenden Text die Zeile „PeriodAxix03 = 4.0“ an (die 03 steht für die dritte Achse unter der Basis, die 4.0 für die Anzahl periodischer Wiederholungen auf 10m). Dann geben wir noch einen passenden ID_Code ein (hier der des alten Splines aus EEP6), und stellen die Gleishöhe auf 760 cm (ist ja schließlich eine Brücke):



Spline31.jpg



Sobald wir nun auf „Update des Modells“ klicken, sollten wir unseren fertigen Spline sehen:



Spline32.jpg



Zu guter Letzt geben wir unserem Spline in der externen Modell-INI noch eine exakte Bezeichnung – z.B. „Gleisbrücke grün 1gl“, dann sollten wir unser Projekt über „Datei – Projekt speichern“ sichern. Wir können nun auch diesen Spline nach EEP exportieren (unter Gleisstile – Gleise, einzustellen in den Projekteigenschaften). Dazu müssen wir noch im Exportdialog den „Typ des Modells“ als „Splines/Bahngleise“ auswählen.



Spline33.jpg



Ich bedanke mich ganz herzlich bei Rainer Tolle (RT2), der dieses Tutorial im Mai 2013 erstellt und jetzt für dieses Wiki zur Verfügung gestellt hat



Zurück zur Startseite