Schnelleinstieg (für Fortgeschrittene)
Inhaltsverzeichnis
- 1 Schnelleinstieg
- 2 Unterschiede und Neuerungen im Vergleich zu früheren Programmversionen vom Home-Nostruktor
- 3 1. Projekte im "Projects"-Ordner
- 4 2. Speicherung der Fenster in der zuletzt eingestellten Größe und Ansicht
- 5 3. Vertikale Ausrichtung in der Normalprojektion
- 6 4. Zeichnen im Raster
- 7 5. Zeichnen und Abspeichern in 1cm-Rastereinteilung
- 8 6. Neue Dateiformate und Entsprechungen für die Vorgängerversionen
- 9 7. Texturabbildung in den Formaten DDS, PNG und TGA
- 10 8. Texturierung für alle Vertices obligatorisch
- 11 9. Systemtextur(en)
- 12 10. Smooth-Shading ist jetzt Standard
- 13 11. Bestimmung der Materialfarbe aus der Farbe der Texel
- 14 12. Verzicht auf Untermodelle mit unbeweglichen Achsen
- 15 13. Bestimmung der Achsenorientierung durch Eingaben
- 16 14. Neues Lichtsignal-System
- 17 15. Neue Systemachsen
- 18 16. Schreibweise und Aufteilung von Parametern in INI-Einträgen
- 19 17. Neue Technologien
- 20 Was kommt als Nächstes?
Schnelleinstieg
Der "Schnelleinstieg" mit der sich anschließenden praktischen Übung richtet sich in erster Linie an Anwender, die den Home-Nostruktor aus Vorgängerversionen kennen und mit den grundlegenden Techniken wie dem Zeichnen von Drahtgittern und dem Auftragen von Texturen (dem sogenannten UV-Mapping) vertraut sind. Auch wenn der Aufbau der Menüs, der Dialogfenster und die Werkzeuge zum Zeichnen des Drahtgitters weitgehend unverändert sind, so dass Sie sich gewissermaßen heimisch fühlen können und nicht erst lange zu suchen brauchen, gibt es doch Neuheiten und konzeptionelle Änderungen, die in der folgenden Übersicht aufgelistet und erläutert werden. Je intensiver Sie sich bewusst machen, welche Rahmenbedingungen sich durch die Einführung der neuen Grafik-Engine geändert haben und welche "Spielregeln" - salopp ausgedrückt - neu sind, desto schneller werden Sie sich im neuen Home-Nostruktor 13.0 zurechtfinden.
Unterschiede und Neuerungen im Vergleich zu früheren Programmversionen vom Home-Nostruktor
1. Projekte im "Projects"-Ordner
Um eine bessere Übersicht und ein möglichst einfaches Verfahren bei der Datensicherung zu gewährleisten, werden 3D-Modelle mitsamt ihren Konstruktionsdateien sowie allen weiteren, für den Betrieb notwendigen Komponenten als Projekte im Projects-Ordner gespeichert. Die einzelnen Projektordner können auf externe Laufwerte oder USB-Sticks kopiert und auch von dort geöffnet bzw. gestartet werden.
2. Speicherung der Fenster in der zuletzt eingestellten Größe und Ansicht
Bei der Speicherung von Projekten wird jedes einzelne Fenster in der jeweiligen Lage, Größe und Ansicht separat mitgespeichert. Wird ein gesichertes Projekt erneut geladen, öffnen sich die einzelnen Fenster automatisch in der zuletzt genutzten Ansicht. Dies ist vor allem bei Projekten mit sehr vielen Konstruktionsdateien zeitsparend und hilfreich, da Sie die Arbeitsoberfläche so wiederfinden wie Sie diese bei der letzten Sitzung verlassen haben. Die Fenster von neu angelegten und noch nicht gespeicherten Projekten zeigen sich in einer Standardansicht, die Sie nach Belieben verändern und anpassen können.
3. Vertikale Ausrichtung in der Normalprojektion
Die mit dem Home-Nostruktor 8.0 neu erzeugten KON-Dateien der Normalprojektion erhalten automatisch eine Ausgangsdrehung um die X-Achse von 270°, was im Instanzen-Dialog der KON-Dateien zu beobachten ist.
Die gezeichneten Konstruktionen werden also senkrecht aufgerichtet, so dass Sie das Objekt in der 3D-Projektion in seiner (uns natürlich erscheinenden) Ausrichtung betrachten können. Neu angelegte Instanzen, die einer KON-Datei hinzugefügt werden, "erben" automatisch die Parameter der zuletzt aufgerufenen Instanz, d.h. die Position, die Drehung, die Skalierung und alle weiteren Einstellungen wie z.B. das Face-Culling, die Ausleuchtung und das Z-Offset.
4. Zeichnen im Raster
Die Konstruktionen in den KON-Dateien werden jetzt innerhalb des Rasters und nicht auf dem Raster gezeichnet. Das bedeutet, dass alle Vertices und alle Außen- und Unterteilungslinien nicht mehr auf den Linien des Hintergrundrasters, sondern innerhalb der Kästchen des Rasters gezeichnet werden.
Dies ist insofern logisch, als ein Vertex - ebenso wie ein Pixel - keine Ausdehnung besitzt und somit unteilbar ist. Dieser Überlegung folgend, beschreibt ein Vertex einen ganz bestimmten Punkt und nicht einen Zwischenraum im Koordinatensystem. Anders ausgedrückt: Ein Vertex liegt nicht etwa zwischen dem 46. und 47. Punkt des Koordinatensystems, sondern fällt exakt auf einen der beiden Punkte.
5. Zeichnen und Abspeichern in 1cm-Rastereinteilung
Das Zeichnen und vor allem das Abspeichern der Geometrie in den Konstruktionsdateien wird (endlich) in 1cm-Rastereinteilung abgetastet. Das bedeutet, dass Vertices auch auf ungerade Koordinatenwerte fallen und so auch abgespeichert werden können. Im alten KON-Datei-System konnten Vertices entlang der X- und Y-Achse nur auf gerade Koordinaten gelegt und nur sehr umständlich über eine Skalierung oder Drehung der Konstruktionszeichnung mit anschließender Vergabe eines ungeraden Tiefenwertes in der Z-Dimension korrigiert werden. Dieser im alten System unvermeidliche Umstand gehört somit der Vergangenheit an.
6. Neue Dateiformate und Entsprechungen für die Vorgängerversionen
Die internen Dateiformate früherer Programmversionen des Home-Nostruktors zu Eisenbahn.exe Professional®© 2.43 bis 6.0, hier explizit das GSB- und MOD2-Format, werden vom Home-Nostruktor 8.0 nicht mehr unterstützt und können somit weder geladen noch editiert werden. Ausgenommen sind einzig und allein Dateien im bisherigen KON-Format. Diese werden anstandslos eingelesen und dabei zugleich automatisch in das neue KON-Dateiformat des Home-Nostruktors 8.0 konvertiert. Damit haben Sie die Möglichkeit, Ihre "alten" 3D-Modelle anhand der eigenen Konstruktionsdateien zu rekonstruieren und für den Einsatz in Eisenbahn.exe Professional®© 7.5 bzw. 8.0 zu exportieren. Die mit dem Home-Nostruktor 8.0 abgespeicherten KON-Dateien können ihrerseits wiederum nicht ohne vorherige Konvertierung in eine Vorgängerversion übernommen werden.
Den bisherigen internen Dateiformaten entsprechen die folgenden neuen Formate:
Neu im Home-Nostruktor 13.0 sind Dateien in den Formaten:
7. Texturabbildung in den Formaten DDS, PNG und TGA
Für das UV-Mapping , d.h. die Texturabbildung der Modelle, werden im Home-Nostruktor 13.0 ausschließlich die unkomprimierten Dateiformate DDS-, PNG- oder TGA angewendet, während das Dateiformat BMP nicht mehr unterstützt wird. Dies resultiert aus der Tatsache, dass die Dateiformate DDS, PNG und TGA über einen integrierten Alphakanal verfügen, der das Ausblenden der Texel durch Alpha-Werte erheblich vereinfacht und die Fertigung von Texturen beschleunigt. Die Aktualisierungsfunktion [F5] arbeitet in Echtzeit, so dass Sie das 3D-Modell im Home-Nostruktor und die dazugehörige Textur in Ihrem Grafikbearbeitungsprogramm simultan begutachten und editieren können.
8. Texturierung für alle Vertices obligatorisch
Bedingt durch die konsequente Arbeitsweise der Pixelshader und die Notwendigkeit, eine möglichst hohe Rendering-Geschwindigkeit zu gewährleisten, müssen prinzipiell alle Vertices in den Drahtgittermodellen Modelle texturiert sein und damit eine gültige Belegung mit einer Texturen-ID aufweisen. Bliebe in einem Modell nur ein einziger Vertex untexturiert, würde dies unweigerlich zur Bildung eines weiteren RGD, d.h. eines zusätzlichen Konstruktes innerhalb des Objekts führen. Dies wiederum hätte zur Folge, dass das Rendern des Modells in der Rendering-Pipeline unterbrochen und ein neuer Befehlssatz - speziell für untexturierte Vertices - geladen werden müsste. Um eine solche Situation zu vermeiden, überwacht der Home-Nostruktor 13.0 die Belegung aller Vertex-Listen beim Modellexport. Vertices, die keine gültige Textur-ID aufweisen, weil diese vergessen oder übersehen wurden, werden automatisch mit einer Art "Notfall"-Textur überzogen - eine kleine weiße Textur, die auf die "nackten" Vertices aufgetragen wird, um den Renderingprozess nicht zu unterbrechen. Auch wenn dieser "Notfalleinsatz" immer greift, sind Sie besser beraten, wenn Sie das Textur-Mapping konsequent und sorgfältig kontrollieren.
9. Systemtextur(en)
Beim Export eines Modells als *.3dm-Kapsel - dies ist eine der wichtigsten Errungenschaften des Home-Nostruktors 13.0 - können mehrere Einzel-Texturen zu einer großen Systemtextur verbunden werden, wobei das UV-Mapping der Zusammenführung der Texturen entsprechend angepasst wird. Dies ist deshalb so vorteilhaft und bedeutsam, weil die Anzahl der Texturen ein Multiplikator der Rendering-Pipeline ist und deshalb möglichst klein gehalten werden sollte. Mit Rücksicht auf den Rechenaufwand und die Adressierung ist eine einzige Textur für das gesamte Modell die optimale und allzeit anzustrebende Lösung. Um das Optimum einer solchen Systemtextur zu erreichen, darf sich eine Textur nicht mehr als 15 mal in den Dimensionen "u" und "v" wiederholen. Wird eine wiederholbare Textur öfter als 15 mal gekachelt, kann sie nicht in die sogenannte Systemtextur eingebunden, sondern muss ausgelagert, also "verbannt" werden, was den Renderingprozess wiederum verlangsamt. Beim Aufbau von Modellen, die viele Wiederholungen des Texturmotivs erfordern, sollte die Kachelung gleich in der einen Haupttextur berücksichtigt und angewendet werden. Damit wird die Textur in ihren Dimensionen zwar größer, doch im Blick auf die Rendering-Geschwindigkeit ist es vorteilhafter, nicht zwei oder noch mehr, sondern eine einzige, wenn auch größere Textur zu verwenden.
10. Smooth-Shading ist jetzt Standard
In früheren Programmversionen wurden die Optionen Smooth-Shading und Flat-Shading alternativ angeboten. Wenn Smooth-Shading nicht aktiviert und eingeschaltet wurde, kam automatisch Flat-Shading zum Einsatz, so dass kein Farbverlauf erzeugt wurde. Außerdem konnten die Farbwerte der Vertices durch die Farbwerte der Texel ersetzt werden. Da der Home-Nostruktor 13.0 - im Unterschied zu allen Vorgängerversionen - die Farbwerte der Vertices standardmäßig interpoliert und ausschließlich Smooth-Shading anwendet, entfällt die bisherige Option, mit der die Farbverlauf-Interpolation ein- oder ausgeschaltet werden konnte. Wenn Vertices unterschiedliche Farbwerte aufweisen (grundsätzlich wird ein einheitlicher Farbwert von R=200, G=200, B=200 empfohlen), müssen Sie das Drahtgitter, separiert nach den Farbwerten, auf mehrere KON-Dateien aufteilen, so dass jede KON-Datei nur eine separierte Farbe speichert. Eine homogene Farbe ist nur durch die Aufteilung der Konstruktion in mehrere Zeichnungen zu erzeugen, da bei gleichfarbigen Vertices kein sichtbarer Farbverlauf entstehen kann - aus der Interpolation "Rot" zu "Rot" kann nichts anderes als "Rot" entstehen. Damit erübrigt sich auch der Ersatz der Vertexfarbe durch eine Textur, da die Ausleuchtung des Modells, die in einem solchen Fall von der Farbmodulation durch das Licht ausgeschlossen wäre, damit ad absurdum geführt würde.
11. Bestimmung der Materialfarbe aus der Farbe der Texel
Beim Aufbau der Modelle bis EEP6 war es durchaus gebräuchlich, die Materialfarbe auf der Basis der Vertexfarbe festzulegen, während die Texturen - oft in Graustufen - die Nuancen des Glanzes bzw. die Silhouette des Schattenwurfs simulierten. Für die endgültig interpolierte - besser gesagt: fusionierte - Farbe eines Pixels war es absolut ohne Belang, ob die Schattierung der Vertices grau und die Färbung der Textur blau oder ob umgekehrt die Farbe der Vertices blau und die Schattierung der Textur grau war, denn in beiden Fällen wurde die gleiche Farbe errechnet. Darüber hinaus konnte jeder Vertex innerhalb eines Polygons für das Primitiv farbbestimmend sein.
Diese bisherigen Techniken sind zwar weiterhin möglich, passen aber nicht mehr in das Konzept der neuen Grafik-Engine und sollten deshalb vermieden werden. Für eine korrekte und bei allen Modellen identische Ausleuchtung des Drahtgitters ist es notwendig, dass möglichst alle Vertices den gleichen Farbwert aufweisen, und zwar den RGB-Wert 200, 200, 200. Dieser relativ helle Grauton, der keine Buntheit, sondern nur einen Farbreiz vermittelt, eignet sich hervorragend für die Modulation durch das ambiente oder gerichtete Licht, da er abgedunkelt und vor allem auch aufgehellt werden kann. Würde ein Vertex den RGB-Farbwert 255, 255, 255, d.h. Weiß aufweisen, könnte er durch das Licht nicht mehr aufgehellt werden, da reines Weiß nicht noch weißer werden kann. Sinngemäß trifft dieser Sachverhalt auch auf andere Vertex-Farben zu, beispielsweise auf die Farbe Blau. Geht man davon aus, dass diese Farbe aus den Werten: R=0, G=0, B=255 besteht, kann das Licht lediglich den roten und grünen Kanal aufhellen, da der Blau-Kanal seinen Endwert von 255 bereits erreicht hat. Damit würde sich die Ausleuchtung verändern, was auch zwangsläufig eine veränderte Farbwirkung zur Folge hätte. Wer hat sich nicht schon über Modelle geärgert, die farblich nicht zueinander passen - Loks, die viel heller wirkten als Waggons, oder umgekehrt? Eben!
12. Verzicht auf Untermodelle mit unbeweglichen Achsen
Der Export von 3D-Modellen, und zwar explizit von Immobilien, gleisbegleitenden Objekten und Landschaftselementen mit Achsen, die keinen Bewegungsbereich aufweisen, ist im Home-Nostruktor 13.0 kaum mehr möglich, und das aus gutem Grund: Aus einer gewissen Bequemlichkeit heraus hat man sich den Aufbau komplexer Modelle früher dadurch erleichtert, dass bestimmte Teile auf unbeweglichen Achsen platziert wurden. Beispielsweise wurde ein Bahnsteig oder ein Bahnhof so konstruiert, dass Leuchten, Sitzbänke, Wartehäuschen und ähnliches auf unbeweglichen Achsen standen, weil deren Position bequem mit dem Schieberegler der Achsenschachtelung (den es jetzt nicht mehr gibt) festgelegt werden konnte.
Da die Anzahl der Achsenmodelle jedoch ein Multiplikator der Rendering-Pipeline ist, waren die Auswirkungen auf die Rechengeschwindigkeit fatal. Warum? Weil ein Modell die Pipeline so viele Male durchqueren muss, wie es Achsenmodelle besitzt - ganz gleich, ob diese sich bewegen oder nicht. Hatte ein Bahnhof z.B. zweiundzwanzig Untermodelle auf unbeweglichen Achsen aufzuweisen, lief das Modell mindestens zweiundzwanzig mal (!) durch die Rendering-Pipeline, bis es diese fertig gerendert verlassen konnte. Ein derartiges Konstruktionsprinzip lässt der Home-Nostruktor 13.0 nicht mehr kommentarlos zu. Würde man ein Modell, das nach diesem Prinzip gebaut wurde, zu exportieren versuchen, erschiene beim Export entsprechende Performance-Warnung.
Statt komplexe Modelle unter Verwendung von unbeweglichen Achsen aufzubauen, lässt sich - nicht weniger komfortabel - die Import-Funktion von Objekten in andere Objekte (z.B. das Basis-Objekt) nutzen.
13. Bestimmung der Achsenorientierung durch Eingaben
Wie im vorausgehenden Absatz bereits angedeutet, werden Lage und Orientierung der Achsen im Dialog der Achsenschachtelung jetzt nicht mehr mit Hilfe des bisherigen Schiebereglers bestimmt. Der Verzicht auf den Schieberegler ist im wesentlichen dadurch begründet, dass dieser nicht stufenlos linear funktioniert, so dass die Gleitkommazahlen oftmals auf- oder abgerundet und damit nicht hundertprozentig exakt berechnet wurden. Damit Ihnen eine ständige Konfrontation mit der Eulerschen Winkel-Berechnung erspart bleibt, wurde der Schieberegler durch die Schaltfläche mit dem Befehl "Berechne Rotation" ersetzt.
Mit diesem Befehl öffnen Sie einen Dialog, in dem Sie den Grad der Rotation (z.B. 22,5°) für eine oder alle Transformationsachsen eingeben können. Damit wird das Winkelmaß automatisch in das Bogenmaß umgerechnet und dieses Ergebnis im jeweiligen Eingabefeld für die Orientierung übernommen.
14. Neues Lichtsignal-System
Mit der Einführung der neuen Grafik-Engine in EEP 7.0 wurde ein neues Lichtsignal-System ausgearbeitet. Dieses setzt bei zwei markanten Nachteilen des bisherigen Systems an, die überwunden werden sollten: die Berechnung der Lichter von Lichtsignalen über bewegliche Achsen und die unveränderbare Farbe einer "gewöhnlichen" Licht-ID.
Der erste Ansatz ist auf den Umstand zurückzuführen, dass die Berechnung der Lichter von Lichtsignalen bis zur Ära von EEP 6.0 nur über bewegliche Achsen erfolgen konnte. Da die Berechnung über bewegliche Achsen (auch wenn diese nicht bewegt werden) die Performance sehr viel stärker belastet als eine Berechnung über Licht-ID's, war nach der Umstellung ein deutlicher Performance-Anstieg zu verzeichnen, vor allem in Bahnhofsbereichen, wo ohnehin viele Signale platziert werden.
Der zweite Ansatz bezieht sich darauf, dass die Licht-ID's (besser: die Helligkeit der Vertices beim Einschalten des Lichts) sich bislang nicht an das Umgebungslicht der Anlage anpassen ließen, was zur Folge hatte, dass die Signalbilder der Lichtsignale am Tag viel zu dunkel wirkten und nur aus nächster Nähe zu identifizieren waren. Bereits in einer Entfernung von nur 80 Metern war kein Unterschied zwischen rotem und grünem bzw. zwischen an- und ausgeschaltetem Signalbild zu erkennen. Mit der Umstellung auf das neue Lichtsystem, das die Intensität des Lichts dynamisch der Ausleuchtung der Anlage anpasst, können die Signalbilder - unabhängig von der Tages- und Nachtzeit - auch von weitem abgelesen werden. Durch den Einsatz von Flares, d.h. Linsenlichtreflexen, lässt sich der erzielte Effekt noch steigern.
Die dynamische Anpassung der Farbwerte war so überzeugend, dass das Lichtsignal-System, das eigentlich nur für Lichtsignale gedacht war, auch auf Rollmaterialien übertragen wurde. Auch hier hat sich damit zugleich eine zusätzliche Funktionserweiterung ergeben: Lichter können jetzt so gesteuert werden, dass die Lichter der gekoppelten Seiten von Rollmaterialien automatisch erlöschen, wie dies bei realen Zügen normalerweise der Fall ist. Weitere Einzelheiten über den Aufbau sind im Kapitel "Neues Lichtsignal-System" nachzulesen.
15. Neue Systemachsen
Um bestimmte Funktionsweisen von 3D-Modellen in EEP zu ermöglichen, wurden verschiedene Achsennamen vergeben, die exklusiv dafür reserviert sind und ausschließlich zu diesem Zweck, d.h. zum Aufruf der jeweiligen Funktion benutzt werden dürfen. Da die Funktion und deren Ansteuerung durch das ausführende Programm - Home-Nostruktor bzw. EEP - bereitgestellt wird, werden die reservierten Achsennamen auch "Systemachsen" genannt. Im Vergleich zu früheren Versionen des Home-Nostruktors gibt es eine ganze Reihe neuer und exklusiv für Systemachsen reservierter Achsennamen wie z.B.: _Nonstop, _1, _2, _3, _4, _5, _Antrieb, _DriveDirF, _DriveDirR, _TimerS, _TimerM, _TimerH, _Velocity. Die komplette Liste der reservierten Achsennamen entnehmen Sie bitte dem Kapitel "Vorgaben und Normen".
16. Schreibweise und Aufteilung von Parametern in INI-Einträgen
Bis zur Ära von EEP 6 befanden sich alle Befehlsketten wie auch deren Parameter und modellbeschreibende Scripte in jeweils einer externen, für jedermann einsehbaren und editierbaren INI- bzw. TXT-Datei (*.txt bei Rollmaterialien). Mit der Einführung des gekapselten Dateiformats 3DM hat sich dies dahingehend geändert, dass es jetzt eine strikte Trennung zwischen der internen, für die Funktionalität des Modells zuständigen System-INI-Datei und der externen, ausgelagerten Modell-INI-Datei gibt, die jetzt nur noch für die Katalogisierung und Lokalisierung des Modells zuständig ist. Damit - und das ist wichtig - hat sich auch die Schreibweise der Parameter geändert, die unbedingt eingehalten werden muss. Schrieb man bislang beispielsweise "WINDPOWER = 1.0" oder "DOORAXES = 0", so werden dieselben Parameter jetzt in der System-INI mit "WindPower = 1.0" und "DoorAxes = 0" geschrieben. Eine Übersicht über alle in den INI-Dateien vorkommenden Parameter liefert Ihnen das Kapitel "INI-Dateien."
17. Neue Technologien
Das Beste kommt zum Schluss, so sagt man, und so ist es auch zu verstehen, dass die wichtigsten Attribute der neuen Grafik-Engine von EEP 7.5 und EEP 8.0 den krönenden Abschluss bilden. Zu den spektakulärsten Errungenschaften gehören Effekte wie:
- •die Reflexion - vertreten durch Glanz und Spiegelung,
- •die Linsenlichtreflexe - vertreten durch Flares,
- •das Randglühen - vertreten durch den Bloom-Effekt,
- •die Reliefzuordnung - vertreten durch das Parallax-Bumpmapping,
- •die Spekularität - vertreten durch Masken des specularen Lichts
- •die Reflexion - vertreten durch Glanz und Spiegelung,
Auch wenn Sie mit den Fachbegriffen nicht vertraut sind und die zugrunde liegenden physikalischen Effekte noch nicht einordnen können, sind die damit verfügbaren Gestaltungsmöglichkeiten für das Erscheinungsbild, hier explizit für die Materialoberfläche, mindestens ebenso wichtig wie ein gelungenes Drahtgitter oder eine fotorealistische Textur.
Was kommt als Nächstes?
Nach dieser ersten Übersicht über die wichtigsten Änderungen und Neuerungen im Home-Nostruktor 13.0 folgt nun eine praktische Übung, die veranschaulichen soll, was zuvor nur aufgelistet und theoretisch erläutert wurde. Dabei versteht es sich, dass wir nicht alle Aspekte gleichermaßen behandeln können und uns auf die grundlegenden Arbeitstechniken beschränken müssen. Im folgenden Tutorial lernen Sie, wie Sie
- •einzelne Konstruktionsinhalte und deren Instanzen zu Gruppen zusammenfassen,>br>
- •Normalvektoren anzeigen und deren Ausrichtung beeinflussen,
- •eine Oberfläche mit ganz spezifischen Materialeigenschaften ausstatten.
Und damit geht’s nun mitten hinein in die Praxis!