Schnelleinstieg (für Fortgeschrittene): Unterschied zwischen den Versionen

Aus EEP Wiki
Wechseln zu: Navigation, Suche
 
(13 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<b><font size="4">Schnelleinstieg</font></b>
+
<br>
  
 +
Der Schnelleinstieg mit der sich anschließenden praktischen Übung richtet sich in erster Linie an Anwender, die 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 selbsterklärend sind, gibt es doch Besonderheiten und konzeptionelle Anforderungen, die in der folgenden Übersicht aufgelistet und erläutert werden.
  
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 <u><font color="blue">Drahtgittern</font></u> und dem Auftragen von Texturen (dem sogenannten <u><font color="blue">UV-Mapping</font></u>) 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 <u><font color="blue">Grafik-Engine</font></u> 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 ==
  
 +
Da wir versuchen, dieses Wiki aktuell zu halten mit den Funktionen der jeweilig aktuellsten Version, finden Sie hier Neuerungen der einzelnen Versionen. Wenn Sie also (noch) nicht die aktuelle Version besitzen, können Sie hier überprüfen, ob die im Wiki beschriebene Funktion in Ihrer Version bereits enthalten ist.
 +
<br>
 +
=== Neues im Home-Nostruktor 15 ===
  
<b><font size="4">Unterschiede und Neuerungen im Vergleich zu früheren Programmversionen vom Home-Nostruktor</font></b>
+
* Beschriftungsfunktion für Modelle
 
+
* Neue Lichtfunktionen wie Veränderung der Helligkeit beim fertigen Modell
 
+
* Neue Systemachsen: PingPong, _DriveDir (Fahrtrichtungsposition) und MoorRPM (Drehzahlmesser, Antriebsableitung)
<b>1.  Projekte im ''"Projects"''-Ordner</b>
+
<br>
 
+
== Projekte im ''"Projects"''-Ordner ==
+
<br>
 
+
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 Konstruktionsdateien entsprechen jeder einzelnen Ansicht, ähnlich wie Layer in anderen Programmen. Die einzelnen Projektordner können auf externe Laufwerke oder USB-Sticks kopiert und auch von dort geöffnet werden.
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.
+
<br><br>
 
+
<font size="5">[[#top|▲]]</font>
+
== Speicherung der Fenster in der zuletzt eingestellten Größe und Ansicht ==
<b>2.  Speicherung der Fenster in der zuletzt eingestellten Größe und Ansicht</b>
+
<br>
 
+
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.
+
<br><br>
 
+
<font size="5">[[#top|▲]]</font>  
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.
+
== Vertikale Ausrichtung in der Normalprojektion ==
 
+
<br>
+
Neu erzeugte KON-Dateien der [https://de.wikipedia.org/wiki/Normalprojektion Normalprojektion] erhalten automatisch eine Ausgangsdrehung um die X-Achse von 270°, was im Instanzen-Dialog der KON-Dateien zu beachten ist und dort geändert werden kann.  
<b>3.  Vertikale Ausrichtung in der Normalprojektion</b>
 
 
 
 
 
 
Die mit dem Home-Nostruktor 8.0 neu erzeugten KON-Dateien der <u><font color="blue">Normalprojektion</font></u> erhalten automatisch eine Ausgangsdrehung um die X-Achse von 270°, was im Instanzen-Dialog der KON-Dateien zu beobachten ist.
 
 
 
 
 
<center>[[Datei:lage_270_grad.jpg]]</center>
 
<center>[[Datei:lage_270_grad.jpg]]</center>
 
+
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 Backface-[https://de.wikipedia.org/wiki/Culling Culling], die Ausleuchtung und das Z-Offset.
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.
+
<br><br>
+
<font size="5">[[#top|▲]]</font>
<b>4.  Zeichnen im Raster</b>
+
== Zeichnen im Raster ==
 
+
<br>
+
Alle [https://de.wikipedia.org/wiki/Vertex Vertices] und alle Außen- und Unterteilungslinien werden innerhalb der Kästchen des Rasters gezeichnet.
 
 
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.
 
 
 
 
 
 
<center>[[Datei:vertex_im_raster.jpg]]</center>
 
<center>[[Datei:vertex_im_raster.jpg]]</center>
 +
Dies ist insofern logisch, als ein [https://de.wikipedia.org/wiki/Vertex 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. Ein Vertex liegt also nicht etwa zwischen dem 46. und 47. Punkt des Koordinatensystems, sondern fällt exakt auf einen der beiden Punkte.
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Zeichnen und Abspeichern in 1cm-Rastereinteilung ==
 +
<br>
 +
Das Zeichnen und vor allem das Abspeichern der Geometrie in den Konstruktionsdateien wird in 1 cm-Rastereinteilung abgetastet. Wenn eine feinere Teilung im Modell gewünscht wird, kann man ein mehrfaches der Einteilung verwenden und im Instanzen-Dialog um den entsprechenden Faktor wieder herunterskalieren (Beispiel: 10 Rasterpunkte auf der X-Achse sollen 1 cm darstellen, dann wird der Wert der X-Skalierung auf 0.1 gesetzt).
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Texturabbildung in den Formaten DDS, PNG und TGA ==
 +
<br>
 +
Für das [https://de.wikipedia.org/wiki/UV-Koordinaten UV-Mapping] , d.h. die Texturabbildung der Modelle, werden im Home-Nostruktor die unkomprimierten Dateiformate DDS-, PNG- oder TGA angewendet. Diese Formate verfügen über einen integrierten [https://de.wikipedia.org/wiki/Alphakanal Alphakanal], der das Ausblenden der [https://de.wikipedia.org/wiki/Texel_(Bildsynthese) Texel] durch Alpha-Werte erheblich vereinfacht und die Anfertigung 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.
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Texturierung für alle Vertices ==
 +
<br>
 +
Bedingt durch die konsequente Arbeitsweise der [https://de.wikipedia.org/wiki/Pixel-Shader Pixel-Shader] und die Notwendigkeit, eine möglichst hohe Rendering-Geschwindigkeit zu gewährleisten, müssen prinzipiell alle Vertices in den [https://de.wikipedia.org/wiki/Drahtgittermodell Drahtgittermodellen] 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 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 [https://de.wikipedia.org/wiki/Grafikpipeline Rendering-Pipeline] unterbrochen und ein neuer Befehlssatz – speziell für untexturierte Vertices – geladen werden müsste.<br>
 +
Um eine solche Situation zu vermeiden, überwacht der Home-Nostruktor 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 – einer kleinen weißen Textur, die auf die "nackten" Vertices aufgetragen wird, um den Renderingsprozess nicht zu unterbrechen. Auch wenn dieser "Notfalleinsatz" immer greift, sind Sie besser beraten, wenn Sie das Textur-Mapping konsequent und sorgfältig kontrollieren.
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Systemtextur(en) ==
 +
<br>
 +
Beim Export eines Modells als *.3dm-Kapsel werden mehrere Einzel-Texturen zu einer großen Systemtextur verbunden. Das ist deshalb 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.<br>
 +
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 Renderingsprozess 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 mehrere, sondern eine einzige, wenn auch größere Textur zu verwenden.
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Smooth-Shading ==
 +
<br>
 +
Der Home-Nostruktor interpoliert standardmäßig die Farbwerte der Vertices und wendet ausschließlich [https://en.wikipedia.org/wiki/Shading Smooth-Shading] an. 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, sodass 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.
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Bestimmung der Materialfarbe aus der Farbe der Texel ==
 +
<br>
 +
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 <b>RGB-Wert <font color="red">200</font>, <font color="green">200</font>, <font color="blue">200</font></b>. 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.<br>
 +
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.
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Verzicht auf Untermodelle mit unbeweglichen Achsen ==
 +
<br>
 +
[[Datei: signal_gelb.png|50px]]
  
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.
+
Immobilien, Gleisobjekte und Landschaftselemente mit Achsen, die keinen Bewegungsbereich aufweisen oder deren Achsen nur einmal (beim Einsetzen) aktiviert werden, sollen begründete Ausnahme sein. Der Grund dafür liegt im erheblich erhöhten Renderingsaufwand in EEP selbst.
 
<b>5.  Zeichnen und Abspeichern in 1cm-Rastereinteilung</b>
 
 
 
 
 
 
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.
 
 
<b>6.  Neue Dateiformate und Entsprechungen für die Vorgängerversionen.</b>
 
 
 
 
 
 
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:
 
 
 
<center>[[Datei:Neu-Alt-1.jpg]]</center>
 
 
 
Neu im Home-Nostruktor 13.0 sind Dateien in den Formaten:
 
 
 
<center>[[Datei:Neu-Alt-2.jpg]]</center>
 
 
 
 
 
<b>7.  Texturabbildung in den Formaten DDS, PNG und TGA</b>
 
 
 
 
 
 
Für das <u><font color="blue">UV-Mapping</font></u> , 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 <u><font color="blue">DDS, PNG</font></u> und <u><font color="blue">TGA</font></u> über einen integrierten <b>Alphakanal</b> verfügen, der das Ausblenden der <u><font color="blue">Texel</font></u> durch <u><font color="blue">Alpha-Werte</font></u> erheblich vereinfacht und die Fertigung von Texturen beschleunigt. Die Aktualisierungsfunktion <b>[F5]</b> 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.
 
 
<b>8.  Texturierung für alle Vertices obligatorisch</b>
 
 
 
 
 
 
Bedingt durch die konsequente Arbeitsweise der <u><font color="blue">Pixelshader</font></u> 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 <u><font color="blue">RGD</font></u>, d.h. eines zusätzlichen Konstruktes innerhalb des Objekts führen. Dies wiederum hätte zur Folge, dass das Rendern des Modells in der <u><font color="blue">Rendering-Pipeline</font></u> 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.
 
 
 
 
<b>9.  Systemtextur(en)</b>
 
 
 
 
 
 
Beim Export eines Modells als <u><font color="blue">*.3dm-Kapsel</font></u> - 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 <u><font color="blue">UV-Mapping</font></u> 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 <b><u>nicht mehr als 15 mal</u></b> in den Dimensionen <u><font colr="blue">"u" und "v"</font></u> 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.
 
 
<b>10.  Smooth-Shading ist jetzt Standard</b>
 
 
 
 
 
 
In früheren Programmversionen wurden die Optionen <u><font color="blue">Smooth-Shading und Flat-Shading</font></u> 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 <u><font color="blue">R=200, G=200, B=200</font></u> empfohlen), müssen Sie das <u><font color="blue">Drahtgitter</font></u>, 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 <u><font color="blue">Interpolation</font></u> "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.
 
 
<b>11.  Bestimmung der Materialfarbe aus der Farbe der Texel</b>
 
 
 
 
 
 
Beim Aufbau der Modelle bis EEP6 war es durchaus gebräuchlich, die Materialfarbe auf der Basis der Vertexfarbe festzulegen, während die <u><font color="blue">Texturen</font></u> - oft in <u><font color="blue">Graustufen</font></u> - 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 <u><font color="blue">Primitiv</font></u> 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 <b>RGB-Wert <font color="red">200</font>, <font color="green">200</font>, <font color="blue">200</font></b>. 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!
 
 
<b>12.  Verzicht auf Untermodelle mit unbeweglichen Achsen</b>
 
 
 
 
 
 
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.
 
 
 
 
<center>[[Datei:22achsen.jpg]]</center>
 
<center>[[Datei:22achsen.jpg]]</center>
 
+
Die Anzahl der Achsenmodelle sind ein Multiplikator der Rendering-Pipeline; die Auswirkungen auf die Rechengeschwindigkeit können erheblich sein. Ein Modell muss die Pipeline so viele Male durchqueren, wie es Achsenmodelle besitzt ganz gleich, ob diese sich bewegen oder nicht. Hat ein Bahnhof z.B. zweiundzwanzig Untermodelle auf unbeweglichen Achsen aufzuweisen, läuft das Modell mindestens zweiundzwanzig Mal durch die Rendering-Pipeline, bis es diese fertig gerendert verlassen kann. Ein derartiges Konstruktionsprinzip lässt der Home-Nostruktor nicht kommentarlos zu. Versucht man, ein so konstruiertes Modell zu exportieren, erscheint beim Export eine entsprechende Performance-Warnung.
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.
 
 
 
 
<center>[[Datei:export_knuffingen.jpg]]</center>
 
<center>[[Datei:export_knuffingen.jpg]]</center>
 
+
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.
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.
+
<br><br>
+
<font size="5">[[#top|▲]]</font>
<b>13.  Bestimmung der Achsenorientierung durch Eingaben</b>
+
== Bestimmung der Achsenorientierung durch Eingaben ==
 
+
<br>
+
Lage und Orientierung der Achsen im Dialog der Achsenschachtelung werden über die Schaltfläche "Berechne Rotation" bestimmt. Damit bleibt Ihnen eine ständige Konfrontation mit der Eulerschen Winkel-Berechnung erspart.
 
 
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 <u><font color="blue">Eulerschen Winkel-Berechnung</font></u> erspart bleibt, wurde der Schieberegler durch die Schaltfläche mit dem Befehl "Berechne Rotation" ersetzt.
 
 
 
 
<center>[[Datei:berechne_rotation.jpg]]</center>
 
<center>[[Datei:berechne_rotation.jpg]]</center>
 +
Mit diesem Befehl öffnen Sie einen Dialog, in dem Sie den Rotationsgrad (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.
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Licht-System ==
 +
<br>
 +
Das Lichtsystem passt die Intensität des Lichtes dynamisch der Ausleuchtung der Anlage an. So können z.B. Signalbilder – unabhängig von der Tages- und Nachtzeit – auch von weitem abgelesen werden. Durch den Einsatz von [https://de.wikipedia.org/wiki/Lens_Flare Flares], d.h. Linsenlichtreflexen, lässt sich der erzielte Effekt noch steigern.<br>
 +
Bei Rollmaterialien gibt es noch eine weitere Funktion: Die Lichter können so gesteuert werden, dass sie an der gekoppelten Seite von Rollmaterialien automatisch erlöschen, wie dies bei realen Zügen normalerweise der Fall ist.
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Systemachsen ==
 +
<br>
 +
Um bestimmte Funktionsweisen von 3D-Modellen in EEP zu ermöglichen, wurden verschiedene Achsennamen vergeben, die exklusiv dafür reserviert sind und ausschließlich zum Aufruf der betreffenden 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. Es gibt eine ganze Reihe reservierter Achsennamen wie z.B.: _Nonstop, _1, _2, _3, _4, _5, _Antrieb, _DriveDirF, _DriveDirR, _TimerS, _TimerM, _TimerH, _Velocity.
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Schreibweise und Aufteilung von Parametern in INI-Einträgen ==
 +
<br>
 +
Es gibt 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. Die ausgelagerte INI-Datei ist hauptsächlich für die Katalogisierung und Lokalisierung des Modells und die Benennung von Achsen zuständig. Sie ist auch nachträglich änderbar, weil sie mit dem gleichen Dateinamen im selben Ressourcen-Ordner abgespeichert wird wie die .3dm-Datei, in der die interne INI-Datei gekapselt ist.
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Effekt-Technologien ==
 +
<br>
 +
* Reflexion – vertreten durch Glanz und Spiegelung
 +
* Linsenlichtreflexe – vertreten durch Flares
 +
* Randglühen – vertreten durch den [https://de.wikipedia.org/wiki/Blooming Bloom-Effekt]
 +
* Reliefzuordnung – vertreten durch das [https://de.wikipedia.org/wiki/Parallax_Mapping Parallax-Bumpmapping]
 +
* Spekularität – vertreten durch Masken des specularen Lichts
 +
<br>
 +
Die damit verfügbaren Gestaltungsmöglichkeiten sind für das Erscheinungsbild des Modells, hier besonders für die Materialoberfläche, ebenso wichtig wie ein gelungenes Drahtgitter oder eine fotorealistische Textur.
 +
<br><br>
 +
<font size="5">[[#top|▲]]</font>
 +
== Kurztutorium ==
 +
<br>
 +
Im [[Kurztutorium Stadthaus|diesem Kurztutorium "Stadthaus"]] lernen Sie, wie Sie
 +
* einzelne Konstruktionsinhalte und deren Instanzen zu Gruppen zusammenfassen,<br>
 +
* Normalvektoren anzeigen und deren Ausrichtung beeinflussen,<br>
 +
* eine Oberfläche mit spezifischen Materialeigenschaften ausstatten.<br>
 +
<br>
  
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 <u><font color="blue">Bogenmaß</font></u> umgerechnet und dieses Ergebnis im jeweiligen Eingabefeld für die Orientierung übernommen.
+
<br><br>
+
<font size="5">[[#top|▲]]</font>
<b>14.  Neues Lichtsignal-System</b>
+
== Navigation ==
 
+
{|
+
!style="text-align:left;width:150px"|
 
+
[[HomeNos Wiki - deutsch -|↑ Inhaltsverzeichnis]]
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.
+
!style="text-align:left;width:300px"|
 
+
[[Was ist der Home-Nostruktor?| ← 1.2 Was ist der Home-Nostruktor?]]
+
!style="text-align:left;width:300px"|
 
+
1.3 Schnelleinstieg (für Fortgeschrittene)
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.
+
|[[Konzepte: Projekt| 2.1 Was ist ein Projekt? → ]]
 
+
|}
 
 
 
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 <u><font color="blue">Flares</font></u>, 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.
 
 
<b>15.  Neue Systemachsen</b>
 
 
 
 
 
 
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".
 
 
<b>16.  Schreibweise und Aufteilung von Parametern in INI-Einträgen</b>
 
 
 
 
 
 
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."
 
 
<b>17.  Neue Technologien</b>
 
 
 
 
 
 
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 <u><font color="blue">Reflexion</font></u> - vertreten durch <u><font color="blue">Glanz</font></u> und <u><font color="blue">Spiegelung</font></u>,<br>
 
::•die <u><font color="blue">Linsenlichtreflexe</font></u> - vertreten durch <u><font color="blue">Flares</font></u>,<br>
 
::•das Randglühen - vertreten durch den <u><font color="blue">Bloom-Effekt</font></u>,<br>
 
::•die Reliefzuordnung - vertreten durch das <u><font color="blue">Parallax-Bumpmapping</font></u>,<br>
 
::•die <u><font color="blue">Spekularität</font></u> - vertreten durch Masken des specularen Lichts<br>
 
 
 
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.
 
 
 
 
 
 
 
 
 
 
<b><font size="4">Was kommt als Nächstes?</font></b>
 
 
 
 
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,<br>
 
::•eine Oberfläche mit ganz spezifischen Materialeigenschaften ausstatten.<br>
 
Und damit geht’s nun mitten hinein in die Praxis!
 
 
 
<center>[[Datei:fussspuren.gif]]</center>
 
 
 
 
 
 
 
 
 
[http://wiki.eepshopping.de/index.php?title=Hauptseite_EEP_Wiki&redirect=no Zurück zur Startseite]
 

Aktuelle Version vom 5. Juni 2021, 20:14 Uhr


Der Schnelleinstieg mit der sich anschließenden praktischen Übung richtet sich in erster Linie an Anwender, die 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 selbsterklärend sind, gibt es doch Besonderheiten und konzeptionelle Anforderungen, die in der folgenden Übersicht aufgelistet und erläutert werden.

Unterschiede und Neuerungen im Vergleich zu früheren Programmversionen vom Home-Nostruktor

Da wir versuchen, dieses Wiki aktuell zu halten mit den Funktionen der jeweilig aktuellsten Version, finden Sie hier Neuerungen der einzelnen Versionen. Wenn Sie also (noch) nicht die aktuelle Version besitzen, können Sie hier überprüfen, ob die im Wiki beschriebene Funktion in Ihrer Version bereits enthalten ist.

Neues im Home-Nostruktor 15

  • Beschriftungsfunktion für Modelle
  • Neue Lichtfunktionen wie Veränderung der Helligkeit beim fertigen Modell
  • Neue Systemachsen: PingPong, _DriveDir (Fahrtrichtungsposition) und MoorRPM (Drehzahlmesser, Antriebsableitung)


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 Konstruktionsdateien entsprechen jeder einzelnen Ansicht, ähnlich wie Layer in anderen Programmen. Die einzelnen Projektordner können auf externe Laufwerke oder USB-Sticks kopiert und auch von dort geöffnet werden.

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.

Vertikale Ausrichtung in der Normalprojektion


Neu erzeugte KON-Dateien der Normalprojektion erhalten automatisch eine Ausgangsdrehung um die X-Achse von 270°, was im Instanzen-Dialog der KON-Dateien zu beachten ist und dort geändert werden kann.

Lage 270 grad.jpg

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 Backface-Culling, die Ausleuchtung und das Z-Offset.

Zeichnen im Raster


Alle Vertices und alle Außen- und Unterteilungslinien werden innerhalb der Kästchen des Rasters gezeichnet.

Vertex im raster.jpg

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. Ein Vertex liegt also nicht etwa zwischen dem 46. und 47. Punkt des Koordinatensystems, sondern fällt exakt auf einen der beiden Punkte.

Zeichnen und Abspeichern in 1cm-Rastereinteilung


Das Zeichnen und vor allem das Abspeichern der Geometrie in den Konstruktionsdateien wird in 1 cm-Rastereinteilung abgetastet. Wenn eine feinere Teilung im Modell gewünscht wird, kann man ein mehrfaches der Einteilung verwenden und im Instanzen-Dialog um den entsprechenden Faktor wieder herunterskalieren (Beispiel: 10 Rasterpunkte auf der X-Achse sollen 1 cm darstellen, dann wird der Wert der X-Skalierung auf 0.1 gesetzt).

Texturabbildung in den Formaten DDS, PNG und TGA


Für das UV-Mapping , d.h. die Texturabbildung der Modelle, werden im Home-Nostruktor die unkomprimierten Dateiformate DDS-, PNG- oder TGA angewendet. Diese Formate verfügen über einen integrierten Alphakanal, der das Ausblenden der Texel durch Alpha-Werte erheblich vereinfacht und die Anfertigung 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.

Texturierung für alle Vertices


Bedingt durch die konsequente Arbeitsweise der Pixel-Shader und die Notwendigkeit, eine möglichst hohe Rendering-Geschwindigkeit zu gewährleisten, müssen prinzipiell alle Vertices in den Drahtgittermodellen 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 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 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 – einer kleinen weißen Textur, die auf die "nackten" Vertices aufgetragen wird, um den Renderingsprozess nicht zu unterbrechen. Auch wenn dieser "Notfalleinsatz" immer greift, sind Sie besser beraten, wenn Sie das Textur-Mapping konsequent und sorgfältig kontrollieren.

Systemtextur(en)


Beim Export eines Modells als *.3dm-Kapsel werden mehrere Einzel-Texturen zu einer großen Systemtextur verbunden. Das ist deshalb 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 Renderingsprozess 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 mehrere, sondern eine einzige, wenn auch größere Textur zu verwenden.

Smooth-Shading


Der Home-Nostruktor interpoliert standardmäßig die Farbwerte der Vertices und wendet ausschließlich Smooth-Shading an. 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, sodass 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.

Bestimmung der Materialfarbe aus der Farbe der Texel


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.

Verzicht auf Untermodelle mit unbeweglichen Achsen


Fehler beim Erstellen des Vorschaubildes: Datei fehlt

Immobilien, Gleisobjekte und Landschaftselemente mit Achsen, die keinen Bewegungsbereich aufweisen oder deren Achsen nur einmal (beim Einsetzen) aktiviert werden, sollen begründete Ausnahme sein. Der Grund dafür liegt im erheblich erhöhten Renderingsaufwand in EEP selbst.

22achsen.jpg

Die Anzahl der Achsenmodelle sind ein Multiplikator der Rendering-Pipeline; die Auswirkungen auf die Rechengeschwindigkeit können erheblich sein. Ein Modell muss die Pipeline so viele Male durchqueren, wie es Achsenmodelle besitzt – ganz gleich, ob diese sich bewegen oder nicht. Hat ein Bahnhof z.B. zweiundzwanzig Untermodelle auf unbeweglichen Achsen aufzuweisen, läuft das Modell mindestens zweiundzwanzig Mal durch die Rendering-Pipeline, bis es diese fertig gerendert verlassen kann. Ein derartiges Konstruktionsprinzip lässt der Home-Nostruktor nicht kommentarlos zu. Versucht man, ein so konstruiertes Modell zu exportieren, erscheint beim Export eine entsprechende Performance-Warnung.

Export knuffingen.jpg

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.

Bestimmung der Achsenorientierung durch Eingaben


Lage und Orientierung der Achsen im Dialog der Achsenschachtelung werden über die Schaltfläche "Berechne Rotation" bestimmt. Damit bleibt Ihnen eine ständige Konfrontation mit der Eulerschen Winkel-Berechnung erspart.

Berechne rotation.jpg

Mit diesem Befehl öffnen Sie einen Dialog, in dem Sie den Rotationsgrad (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.

Licht-System


Das Lichtsystem passt die Intensität des Lichtes dynamisch der Ausleuchtung der Anlage an. So können z.B. 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.
Bei Rollmaterialien gibt es noch eine weitere Funktion: Die Lichter können so gesteuert werden, dass sie an der gekoppelten Seite von Rollmaterialien automatisch erlöschen, wie dies bei realen Zügen normalerweise der Fall ist.

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 zum Aufruf der betreffenden 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. Es gibt eine ganze Reihe reservierter Achsennamen wie z.B.: _Nonstop, _1, _2, _3, _4, _5, _Antrieb, _DriveDirF, _DriveDirR, _TimerS, _TimerM, _TimerH, _Velocity.

Schreibweise und Aufteilung von Parametern in INI-Einträgen


Es gibt 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. Die ausgelagerte INI-Datei ist hauptsächlich für die Katalogisierung und Lokalisierung des Modells und die Benennung von Achsen zuständig. Sie ist auch nachträglich änderbar, weil sie mit dem gleichen Dateinamen im selben Ressourcen-Ordner abgespeichert wird wie die .3dm-Datei, in der die interne INI-Datei gekapselt ist.

Effekt-Technologien


  • Reflexion – vertreten durch Glanz und Spiegelung
  • Linsenlichtreflexe – vertreten durch Flares
  • Randglühen – vertreten durch den Bloom-Effekt
  • Reliefzuordnung – vertreten durch das Parallax-Bumpmapping
  • Spekularität – vertreten durch Masken des specularen Lichts


Die damit verfügbaren Gestaltungsmöglichkeiten sind für das Erscheinungsbild des Modells, hier besonders für die Materialoberfläche, ebenso wichtig wie ein gelungenes Drahtgitter oder eine fotorealistische Textur.

Kurztutorium


Im diesem Kurztutorium "Stadthaus" lernen Sie, wie Sie

  • einzelne Konstruktionsinhalte und deren Instanzen zu Gruppen zusammenfassen,
  • Normalvektoren anzeigen und deren Ausrichtung beeinflussen,
  • eine Oberfläche mit spezifischen Materialeigenschaften ausstatten.




Navigation

↑ Inhaltsverzeichnis

← 1.2 Was ist der Home-Nostruktor?

1.3 Schnelleinstieg (für Fortgeschrittene)

2.1 Was ist ein Projekt? →