Konstruktion von Fahrwegen (Splines): Unterschied zwischen den Versionen
HW1 (Diskussion | Beiträge) |
AlexE (Diskussion | Beiträge) |
||
(104 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 7: | Zeile 7: | ||
Splines können im Gegensatz zu anderen Modellen vom Anwender gestreckt und gebogen werden. Dabei wird ihre Textur nicht – wie beim Strecken anderer Modelle – gedehnt oder gestaucht, vielmehr so wiederholt, dass es dem Auge des Betrachters im Idealfall nicht auffällt. Damit werden Splines zuallererst für die Darstellung von Gleisen, Schienen, Straßen, Dämmen, Mauern, Wasserläufen etc.verwendet. | Splines können im Gegensatz zu anderen Modellen vom Anwender gestreckt und gebogen werden. Dabei wird ihre Textur nicht – wie beim Strecken anderer Modelle – gedehnt oder gestaucht, vielmehr so wiederholt, dass es dem Auge des Betrachters im Idealfall nicht auffällt. Damit werden Splines zuallererst für die Darstellung von Gleisen, Schienen, Straßen, Dämmen, Mauern, Wasserläufen etc.verwendet. | ||
− | Ein Spline lässt sich als in die Länge gestreckter Querschnitt eines Autoreifens vorstellen. | + | Ein Spline lässt sich als in die Länge gestreckter Querschnitt eines Autoreifens vorstellen. |
− | + | ||
+ | [[Datei:splines_00.jpg|mini|left|Der Spline ist ein Schlauch.]] | ||
+ | <div style="clear:both"></div> | ||
== Splines konstruieren == | == Splines konstruieren == | ||
=== Standard-Splines === | === Standard-Splines === | ||
Die Konstruktion von Splines unterscheidet sich grundsätzlich von der aller anderen Modelle. Dies wird beim Anlegen eines neuen Projekts deutlich. Bereits hier entscheidet der Konstrukteur, dass er einen Spline zu konstruieren beabsichtigt und der Home-Nostruktor richtet die entsprechende Arbeitsumgebung ein. | Die Konstruktion von Splines unterscheidet sich grundsätzlich von der aller anderen Modelle. Dies wird beim Anlegen eines neuen Projekts deutlich. Bereits hier entscheidet der Konstrukteur, dass er einen Spline zu konstruieren beabsichtigt und der Home-Nostruktor richtet die entsprechende Arbeitsumgebung ein. | ||
− | + | <div style="clear:both"></div> | |
− | [[Datei:splines_01.jpg]] | + | [[Datei:splines_01.jpg|mini|left]] |
+ | <div style="clear:both"></div> | ||
Zwei leere Kon-Dateien hat der Home-Nostruktor angelegt. In <tt>Track-Kon_001.kon</tt> zeichnet der Konstrukteur die Querschnittsdefinition, in <tt>Track-Kon_002.kon</tt> eine optionale Oberleitung im Längsschnitt. | Zwei leere Kon-Dateien hat der Home-Nostruktor angelegt. In <tt>Track-Kon_001.kon</tt> zeichnet der Konstrukteur die Querschnittsdefinition, in <tt>Track-Kon_002.kon</tt> eine optionale Oberleitung im Längsschnitt. | ||
Zeile 20: | Zeile 23: | ||
Eine sehr einfache Querschnittsdefinition in der Datei Kon-001 für einen Fußweg kann so aussehen: | Eine sehr einfache Querschnittsdefinition in der Datei Kon-001 für einen Fußweg kann so aussehen: | ||
− | [[Datei:splines_02.jpg]] | + | [[Datei:splines_02.jpg|splines_02.jpg|mini|left]] |
+ | <div style="clear:both"></div> | ||
Die vier Vertizes werden nacheinander im Uhrzeigersinn gesetzt. Die Zwischenlinien sind nicht erforderlich, erleichtern jedoch die Übersicht. Diese Merkmale sind charakteristisch für die Spline-Konstruktion: | Die vier Vertizes werden nacheinander im Uhrzeigersinn gesetzt. Die Zwischenlinien sind nicht erforderlich, erleichtern jedoch die Übersicht. Diese Merkmale sind charakteristisch für die Spline-Konstruktion: | ||
Zeile 32: | Zeile 36: | ||
Im Vorschaufenster sieht der Spline so aus: | Im Vorschaufenster sieht der Spline so aus: | ||
− | [[Datei:splines_03.jpg]] | + | [[Datei:splines_03.jpg|miniatur|left]] |
+ | <div style="clear:both"></div> | ||
Diese Merkmale sind zu erkennen: | Diese Merkmale sind zu erkennen: | ||
* Der Spline hat noch keine Textur. | * Der Spline hat noch keine Textur. | ||
− | * Seine seitliche Kante wirkt trotz | + | * Seine seitliche Kante wirkt trotz eckiger Konstruktion gerundet. Das hat Konsequenzen für das Konstruieren von [[Gleisobjekte|Gleisobjekten]], die in Verbindung mit Splines stehen. |
− | * Die linke Kante ist unsichtbar, weil der Spline kein [[Backface Culling]] aufweist. | + | * Die linke Kante ist entgegen der "Autoreifen-Abbildung" ganz oben unsichtbar, weil der Spline kein [[Konzepte:_Backface-Culling|Backface Culling]] aufweist. |
+ | |||
+ | |||
+ | |||
+ | |||
+ | <gallery widths="220" heights="300" perrow="2" caption="Beispiele für Querschnittsdefinitionen"> | ||
+ | Splines_32.jpg|miniatur|Böschungsmauer (HW1) | ||
+ | Splines_05.jpg|miniatur|Linke Hälfte eines Feldweges (RE1) | ||
+ | Splines_07.jpg|miniatur|Linke Hälfte eines Brücken-Splines (AF1) (ToDo) | ||
+ | Splines_06.jpg|miniatur|Aus EEP-6-Zeiten: Ausschnitt aus einer Stadtmauer (HW1) | ||
+ | </gallery> | ||
+ | |||
+ | === Harte und weiche Kanten === | ||
+ | In einigen Abbildungen dieser Beispiele weisen blaue Pfeile auf direkt nebeneinander liegende Vertizes hin. Sie erzwingen eine senkrechte Ausrichtung der <tt>Normals</tt> und verhindern so eine optische Abrundung der betreffenden Kante. | ||
+ | |||
+ | Im Bild des einfaches Wegesplines oben fehlte der zusätzliche Vertex, weshalb der Home-Nostruktor und EEP dort eine weiche Kante ausbilden. | ||
+ | |||
+ | <gallery widths="220" heights="300" perrow="3" caption="Harte Kante"> | ||
+ | Splines_03.jpg|miniatur|Weiche Kante | ||
+ | Splines_03a.jpg|miniatur|Hinzufügen eines weiteren Vertex (dabei die oben geschilderten Zwänge beachten!) | ||
+ | Splines_03b.jpg|miniatur|Harte Kante | ||
+ | </gallery> | ||
+ | |||
+ | Eine andere Möglichkeit der Ausbildung von deutlichen (Textur-)kanten wird durch das Zerlegen des Splines in einzelne Stränge erreicht. Im Gegensatz zur Abbildung eines Gleis-Spline weiter oben sind hier Schienenoberfläche und Schienenkörper in separaten Kon-Dateien des gleichen Splines definiert. | ||
+ | |||
+ | [[Datei:splines_13.png|miniatur|left]] | ||
+ | <div style="clear:both"></div> | ||
+ | <tt>Meterspur-Spline (CE1)</tt> | ||
+ | |||
+ | === Interaktiver und dynamischer Spline ab EEP16.4 === | ||
+ | |||
+ | Mit dem Plugin 4 zu EEP 16.4 wurde ein neuer interaktiver Strecken- und Straßenspline eingeführt, der sein Aussehen dynamisch verändern kann. Der Spline interagiert dabei mit entsprechend | ||
+ | dafür ausgerüsteteten Rollmaterialien. Ein Bau dieses Splines ist für alle vier Kategorien des EEP-Fahrwegsystems möglich [Gleise (Eisenbahn), Schiene (Straßenbahn), Straße und Wasserwege] | ||
+ | Die grundsätzliche Konstruktion dieser Splines basiert auf der Anlage verschiedener Layer (Schichten). Dabei wird jedem Layer eine gewünschte Auswahl aus vorab erstellten .kon-Dateien zugeordnet. | ||
+ | Diese Layer können dann später von Rollmaterialien in EEP angesprochen werden und das Spline ändert je nach Eintrag in der .ini-Datei des Rollmaterial sein Erscheinungsbild. | ||
+ | Der Vorgang der dynamischen Veränderung des Erscheinungsbilds findet nicht sofort auf der gesamten Strecke des Splines statt, sondern nach und nach über den Verlauf und Teil der Strecke, welche das Rollmaterial gerade "überfährt" und somit die Spline-Änderung ansteuert. | ||
+ | |||
+ | Der grundlegende Aufbau der interaktiven Splines entspricht dem der Standard-Splines. Das heißt man zeichnet zunächst in der Track-Kon_001.kon im Objekt Track die Querschnittsdefinition des späteren | ||
+ | Fahrwegs. Dieser ersten Querschnittsdefinition können nun weitere Querschnittsdefinition Track-Kon_002.kon, Track-Kon_003.kon etc. folgen, welche später über die interne .ini-Datei den verschiedenen Layern zugeordnet werden können. Die weiteren Querschnittdefinitionen können z.B. eine Ansammlung von herabgefallenem Laub am Straßenrand, einen alternativen Strassenbelag oder ein alternatives Schotterbett darstellen. Ebenso ist die | ||
+ | Visualisierung von "nacktem" Erduntergrund oder anderen Zuständen einer in Bau befindlichen Strasse oder eines Gleises verwirklichbar. Der Idee des Konstrukteurs sind hier keine Grenzen gesetzt. | ||
+ | |||
+ | beispielhafter Aufbau eines interaktiven Splines mit verschiedenen Layern (Schichten) und 3D-Objekten | ||
+ | |||
+ | <gallery widths="220" heights="300" perrow="3" caption=""> | ||
+ | Track_Strasse-Schichten-mit-3D-Objekten.jpg | | ||
+ | </gallery> | ||
+ | |||
+ | Arbeitsschritte: | ||
− | + | <gallery widths="220" heights="300" perrow="3" caption=""> | |
+ | interaktiver-Spline_Objekt-Track.jpg |miniatur|1. Zeichnen der Querschnittsdefinitionen | ||
+ | interaktiver-Spline-Objektdialog.jpg|miniatur|2. Auswählen der Querschnittsdefinitionen im Objektdialog anhand der Nummer (#??) der Kon-Datei | ||
+ | Interaktiver-Spline-interne-System-ini.jpg | 3. Zuweisung der einzelnen Querschnittsdefinitionen zu verschiedenen Layern | ||
+ | |||
+ | </gallery> | ||
− | + | -in Bearbeitung- | |
=== Invertierte und kombinierte Splines === | === Invertierte und kombinierte Splines === | ||
+ | |||
+ | Weil Splines nur eine sichtbare Seite aufweisen, müssen Splines, deren Innenseiten sichtbar sein sollen, in Gegenrichtung angelegt werden. | ||
+ | |||
+ | <gallery widths="220" heights="300" perrow="3" caption="Tunnelspline (Free-Modell HW1)"> | ||
+ | Splines_08.jpg|miniatur|Tunnelspline komplett | ||
+ | Splines_09.jpg|miniatur|Ausschnitt der Definition | ||
+ | Splines_10.jpg|miniatur|Innen hui, außen pfui! | ||
+ | </gallery> | ||
+ | |||
+ | Folglich müssen Splines, die innen und außen sichtbar sein sollen, eine umgestülpte Spline-Definition erhalten: | ||
+ | |||
+ | <gallery widths="220" heights="300" perrow="3" caption="Röhren-Spline mit sichtbarer Innen- und Außenseite"> | ||
+ | Splines_11.jpg|Die Spline-Definition | ||
+ | Splines_12.jpg|Modellvorschau | ||
+ | </gallery> | ||
+ | |||
+ | Die Lücke links ist hier aus Anschauungsgründen größer, als sie in der Realität sein muss. Die Linien können sich auch durchkreuzen, solange ihre Endkanten im Material des Hohlraums verborgen bleiben. Dies zeigt auch die Abbildung des Tunnel-Splines weiter oben am Zusammentreffen von Vertex 0 und 25. | ||
+ | Solche Hülsen können auch durch Kombination zweier Spline-Definitionen erzielt werden. | ||
+ | |||
+ | === 3D-Splines ab EEP16.3 === | ||
== Weichenlaterne und Prellbock: der Achsendialog == | == Weichenlaterne und Prellbock: der Achsendialog == | ||
+ | |||
+ | Um einen Spline exportieren zu können, muss er mit Achsen für Weichenlaterne und Prellbock versehen werden, auch dann, wenn diese Achse keine Objekte enthalten. | ||
+ | |||
+ | Hierzu werden die [[Reservierte_Achsennamen|reservierten Achsennamen]] <code>_1</code> und <code>_2></code> verwendet. | ||
+ | |||
+ | <gallery widths="220" heights="300" perrow="3" caption="Achsendialoge von Spline-Definitionen"> | ||
+ | Splines_14.jpg|miniatur|Minimallösung ohne Objekte | ||
+ | Splines_15.jpg|miniatur|Einfache Weichenlaterne und Prellbock; hervorgehoben: Weichenlaterne _2 mit Objekt <code>Weichenlaterne</code> (Spielzeugbahn HW1) | ||
+ | Splines_16.jpg|miniatur|Individuelle Weichenlaterne für Rechtsweiche mit korrekter Anzeige des weißen Kreises und Prellbock; hervorgehoben Weichenlaterne <code>_4</code> mit Objekt <tt>WLR</tt>: (Meterspurgleis CE1) | ||
+ | </gallery> | ||
+ | |||
+ | Hinweis: Für den Einbau individueller Weichenlaternen mit vorbildgerechtem Signalbild siehe [[Reservierte_Achsennamen|reservierten Achsennamen]]. | ||
+ | |||
== Texturieren == | == Texturieren == | ||
+ | Das Anlegen einer Textur kann wie üblich im Grafikprogramm erfolgen; die Festlegung der Texturkoordinaten erfolgt im Home-Nostruktor. Bei den Dimensionen der Textur sind die [[Richtlinien]] für Texturgrößen zu beachten. | ||
+ | |||
+ | Im Konstruktionsfenster ist ein Vertex ausgewählt. | ||
+ | [[Datei:splines_33.jpg|miniatur|left|Vertex Nr. 8 ist ausgewählt.]] | ||
+ | <div style="clear:both"></div> | ||
+ | |||
+ | Das Texturkoordinaten-Fenster des Home-Nostruktor erscheint mit Mausklick auf das Textur-Vorschaufenster. Es zeigt den Spline als Projektion. Die Senkrechte entspricht den Werten der Spline-Breite, die Waagerechte gibt den zu wiederholenden Verlauf wieder: | ||
+ | [[Datei:splines_34.jpg|miniatur|left|Detail-Sicht mit waagerechter Linie der Texturkoordinate]] | ||
+ | <div style="clear:both"></div> | ||
+ | Die dünne waagerechte Linie zeigt der Verlauf des Splines (hier: Vertex 8). Ist noch kein Wert definiert, so fehlt die dünne Linie. Ein Mausklick in der betreffenden Höhe (y-Koordinate) lässt die dünne Linie erscheinen. Gleichzeitig wählt er den y-Wert für den betreffenden Vertex aus. Der x-Wert ist bis auf den Sonderfall des Vertex 0 unerheblich und kann ignoriert werden. | ||
+ | |||
+ | === Die Wiederholungsrate === | ||
+ | Splines sind als Wiederholungsmuster angelegt. Die Periode beträgt 10m. Nicht immer entspricht die Texturlänge (der x-Wert) diesen 10m. Den Verrechnungsfaktor zwischen Texturlänge und vorgebenen 10m bestimmt der Wert im Feld <code>TexturX</code> im Texturkoordinaten-Fenster. | ||
+ | [[Datei:splines_35.jpg|miniatur|left|Der x-Wert <tt>3.5</tt> lässt die Spline-Länge dreieinhalb Mal auf 10m laufender Spline-Länge wiederholen.]] | ||
+ | <div style="clear:both"></div> | ||
+ | Der Wiederholungsfaktor wird für den Vertex 0 bestimmt. Die x-Werte aller anderer Texturkoordinaten sind ohne Belang und können weggelassen werden. | ||
== Die Spline-ID == | == Die Spline-ID == | ||
+ | Anders als alle anderen Konstruktionen werden Splines von EEP intern registriert. Dabei erhält jeder Spline vom Konstrukteur eine ID, die in der internen <code>ini-Datei</code> des Splines vermerkt ist. Dabei muss darauf geachtet werden, dass die betreffende ID noch nicht anderweitig vergeben ist. | ||
+ | |||
=== Splines für den Hausgebrauch === | === Splines für den Hausgebrauch === | ||
+ | Weil die meisten Spline-IDs für bei Trend akkreditierte Konstrukteure reserviert sind, bleiben für eigene Splines nur bestimmte Zahlenbereiche übrig: | ||
+ | |||
+ | <pre> | ||
+ | 201 - 250 | ||
+ | 601 - 650 | ||
+ | 951 - 1000 | ||
+ | 6001 - 6100 | ||
+ | </pre> | ||
+ | |||
+ | Aus diesen Bereichen darf der nicht kommerzielle Konstrukteur IDs verwenden. Sollte er seine Anlage an einen Dritten weitergeben, so bleiben die verbauten Spline-IDs erhalten und zeigen dort womöglich auf einen anderen Spline. So wird u. U. aus einem Feldweg ein Gleis oder aus einer Telegrafenleitung ein Bahnsteig. | ||
+ | |||
=== Splines für den EEP-Shop === | === Splines für den EEP-Shop === | ||
+ | |||
+ | Damit die oben beschriebenen Konflikte bei offiziell vertriebenen Splines ausbleiben, erhält der akkreditierte Konstrukteur auf Anfrage von Trend einen Nummernblock (meistens 10 IDs enthaltend), den er für seine Projekte verwendet. Es liegt in der Verantwortung des Konstrukteurs, dass er zugeteilte IDs nur ein einziges Mal und nur diese verwendet. | ||
+ | |||
+ | Hinweis: Derzeit werden die Nummernblöcke von Gottfried Bauer vergeben. Er ist über die Moderatoren des Forums ''Mein EEP Forum'' zu erreichen. | ||
== Die interne ini-Datei == | == Die interne ini-Datei == | ||
+ | === Referenzpunkte === | ||
+ | Der Home-Nostruktor versieht jeden Spline mit je einem Referenzpunkt an den Längsenden, ohne dass der Konstrukteur sie definieren muss oder kann. Sie liegen immer im Koordinatenursprung und bleiben bei der Modellvorschau unsichtbar. Zur Laufzeit bilden sie die Andockstellen und sind an den Gizmos zu erkennen. | ||
+ | |||
=== Pflichteinträge === | === Pflichteinträge === | ||
− | === | + | Es gibt nur zwei Pflichteinträge. Sie legen die Spline-ID und die vorläufige Einbauhöhe über der Anlagenoberfläche fest: |
+ | <pre> | ||
+ | [System] | ||
+ | ModelType = 0x0000 | ||
+ | |||
+ | [Track] | ||
+ | Id_Code = ???? | ||
+ | HeightOG = 20.0 | ||
+ | </pre> | ||
+ | |||
+ | Beim ersten Verlegen (ohne Andocken an vorhandene Objekte) wird der Referenzpunkt dieses Splines in einer Höhe von 20cm liegen <code>HeightOG = 20.0</code>. Damit liegt die reale Oberfläche des Splines bei 30cm. Er durchschneidet die Anlagenoberfläche an den Enden um 5cm. | ||
+ | |||
+ | [[Datei:splines_31.jpg|miniatur|left]] | ||
+ | <div style="clear:both"></div> | ||
+ | |||
+ | Hinweis: Die rote x-Koordinate markiert nicht die Einbauhöhe. | ||
+ | |||
+ | |||
+ | Alle anderen Einträge der folgenden Tabelle betreffen Sonderfälle oder sie sind optional. | ||
+ | |||
+ | === Optionale Einträge === | ||
+ | |||
+ | Details zu weiteren Einträgen für Weichenlaternen, Unterdrückung des Lokomotivrauches, Anzahl der Straßenspuren etc. sind im Artikel zur [[Interne_Ini-Datei_der_Modelle#Splines|internen ini-Datei]] gelistet. | ||
== Splines und die EEP-Kategorien == | == Splines und die EEP-Kategorien == | ||
+ | Zu den Altlasten von EEP gehört die früher völlig ausreichende, heute unzureichend anmutende Klassifizierung in vier Fahrweggruppen <tt>Gleise (Eisenbahn), Schiene (Straßenbahn), Straße</tt> und <tt>Wasser</tt>. Diese Trennung hilft dem Anlagenbauer, unerwünschtes Andocken an "artfremde" Objekte zu verhindern und zudem durch die Möglichkeit des Ausblendens in den EEP-Editoren, die Übersicht zu behalten. Angesichts eines Spline-Angebots, das in die Tausende geht, erscheinen heute jedoch weder die Bezeichnungen der vier Gruppen noch deren Beschränkung auf vier hinreichend. | ||
+ | |||
+ | In der Folge wurde die Gruppe ("Kategorie") <tt>Wasserwege</tt> zunächst für Luftfahrt, dann für alles Übrige, das in keine der drei übrigen Kategorien passt, erweitert. Inzwischen heißt die Kategorie <tt>Sonstige Splines</tt> und versammelt alles Mögliche, von der Telegrafenleitung über "Zwangsschienen" im Brückenbau bis zu Zäunen, Schotterbetten und Waldkulissen. | ||
+ | |||
+ | Bei der Überlegung, in welchen Layer - so der zutreffende Ausdruck - der geschaffene Spline einsortiert wird, muss der Konstrukteur die spätere problemlose Handhabung des Anwenders im Auge behalten. Damit sich parallel verlegte und inhaltlich zusammengehörige Splines nicht gegenseitig ins Gehege kommen, werden z.B. Schottersplines, die als Gleisbett unter dem Schienenstrang liegen, nicht in den Layer für Gleise, sondern z.B. in denjenigen für Straßenbahnen oder Straßen gelegt. Nur so ist es dem Anwender möglich, die sehr eng beieinander (oft direkt untereinander) liegenden Splines später auseinander zu halten. | ||
+ | |||
+ | Die Zuordnung zu Layer und Unterkategorie erfolgt wie allgemein durch die Festlegung des [[Modellicons]] in der [[Externe_*.ini-Dateien_der_Modelle|externen ini-Datei]] des Splines. | ||
== Dreidimensionale Splines == | == Dreidimensionale Splines == | ||
+ | |||
+ | Splines können Modellteile enthalten, die aus der Schlauchform ausbrechen. Dabei werden im Nostruktor zusätzlich zum Schlauch, also der eigentlichen Spline-Definition, weitere Objekte angelegt. Bedinung ist, dabei, dass die Objekte rhythmisch wiederholt werden. | ||
+ | |||
+ | === Objekte im Spline === | ||
+ | |||
+ | Ein Bahnsteigspline enthält senkrechte Pfosten, die die Bahnsteigkante abstützen. | ||
+ | |||
+ | [[Datei:spline_3D_02.jpg|miniatur|left]] | ||
+ | |||
+ | <div style="clear:both"></div> | ||
+ | |||
+ | Hier wurde das Objekt <tt>Pfosten</tt> zusätzlich zum obligatorischen Objekt <tt>Track </tt> angelegt und mit einer Konstruktion versehen: | ||
+ | |||
+ | [[Datei:spline_3D_01.jpg|miniatur|left]] | ||
+ | |||
+ | <div style="clear:both"></div> | ||
+ | |||
+ | Im Achsendialog wird das Objekt unter die Basis gekreuzt und mit dem Objekt (hier gleichnamig: "Pfosten") gefüllt. Das Objekt liegt auf der (unbeweglichen) Achse 3. | ||
+ | |||
+ | [[Datei:spline_3D_03.jpg|miniatur|left]] | ||
+ | |||
+ | <div style="clear:both"></div> | ||
+ | |||
+ | === Wiederholungsrate === | ||
+ | |||
+ | Der Pfosten wird wiederholt. Die Periode hierzu wird in der <tt>internen *.ini-Datei</tt> festgelegt. Sie bezieht sich auf die Normlänge des Splines von 10m: | ||
+ | |||
+ | [[Datei:spline_3D_04.jpg|miniatur|left]] | ||
+ | |||
+ | <div style="clear:both"></div> | ||
+ | |||
+ | <p> | ||
+ | Der Wert <code>PeriodAxis?? = nn</code> (hier: 4.0) ergibt, dass der Pfosten 4 x auf einer Länge von 10 m, also alle 2,5 m, wiederholt wird. | ||
+ | </p> |
Aktuelle Version vom 14. September 2021, 15:56 Uhr
Spline bedeutet in der EEP-Begriffswelt zweierlei:
- Eine Programmfunktion in EEP, die das halbautomatische Setzen und Ausrichten von Objekten entlang von Fahrwegen erlaubt.
- Die Fahrwege selbst.
Dieser Artikel beschreibt die Konstruktion und Funktionsweise der Fahrwege (fortan nur noch: Splines).
Splines können im Gegensatz zu anderen Modellen vom Anwender gestreckt und gebogen werden. Dabei wird ihre Textur nicht – wie beim Strecken anderer Modelle – gedehnt oder gestaucht, vielmehr so wiederholt, dass es dem Auge des Betrachters im Idealfall nicht auffällt. Damit werden Splines zuallererst für die Darstellung von Gleisen, Schienen, Straßen, Dämmen, Mauern, Wasserläufen etc.verwendet.
Ein Spline lässt sich als in die Länge gestreckter Querschnitt eines Autoreifens vorstellen.
Inhaltsverzeichnis
Splines konstruieren[Bearbeiten]
Standard-Splines[Bearbeiten]
Die Konstruktion von Splines unterscheidet sich grundsätzlich von der aller anderen Modelle. Dies wird beim Anlegen eines neuen Projekts deutlich. Bereits hier entscheidet der Konstrukteur, dass er einen Spline zu konstruieren beabsichtigt und der Home-Nostruktor richtet die entsprechende Arbeitsumgebung ein.
Zwei leere Kon-Dateien hat der Home-Nostruktor angelegt. In Track-Kon_001.kon zeichnet der Konstrukteur die Querschnittsdefinition, in Track-Kon_002.kon eine optionale Oberleitung im Längsschnitt. Hinweis: Eine Falle ist die Präsentation der Datei Track-Kon_002.kon im oberen der beiden Fenster. Es muss zum unteren Fenster gewechselt werden. Eine sehr einfache Querschnittsdefinition in der Datei Kon-001 für einen Fußweg kann so aussehen:
Die vier Vertizes werden nacheinander im Uhrzeigersinn gesetzt. Die Zwischenlinien sind nicht erforderlich, erleichtern jedoch die Übersicht. Diese Merkmale sind charakteristisch für die Spline-Konstruktion:
- Der Spline ist symmetrisch, damit er später vom Anwender in beiden Richtungen aneinandergesetzt werden kann.
- Die Home-Nostruktor nummeriert die Vertizes während des Setzens durch; er beginnt bei 0.
Hinweis: Die Zählung, die der Home-Nostruktor vornimmt, ist nicht beeinflussbar. Deshalb muss das Setzen im Uhrzeigersinn erfolgen. Weitere Vertizes können später allenfalls "rechts" vom zuletzt gesetzten Vertex hinzugefügt werden. In allen anderen Fällen muss der Spline komplett neu gezeichnet werden.
Im Vorschaufenster sieht der Spline so aus:
Diese Merkmale sind zu erkennen:
- Der Spline hat noch keine Textur.
- Seine seitliche Kante wirkt trotz eckiger Konstruktion gerundet. Das hat Konsequenzen für das Konstruieren von Gleisobjekten, die in Verbindung mit Splines stehen.
- Die linke Kante ist entgegen der "Autoreifen-Abbildung" ganz oben unsichtbar, weil der Spline kein Backface Culling aufweist.
- Fehler beim Erstellen des Vorschaubildes: Datei fehlt
Böschungsmauer (HW1)
- Splines 07.jpg
Linke Hälfte eines Brücken-Splines (AF1) (ToDo)
Harte und weiche Kanten[Bearbeiten]
In einigen Abbildungen dieser Beispiele weisen blaue Pfeile auf direkt nebeneinander liegende Vertizes hin. Sie erzwingen eine senkrechte Ausrichtung der Normals und verhindern so eine optische Abrundung der betreffenden Kante.
Im Bild des einfaches Wegesplines oben fehlte der zusätzliche Vertex, weshalb der Home-Nostruktor und EEP dort eine weiche Kante ausbilden.
Eine andere Möglichkeit der Ausbildung von deutlichen (Textur-)kanten wird durch das Zerlegen des Splines in einzelne Stränge erreicht. Im Gegensatz zur Abbildung eines Gleis-Spline weiter oben sind hier Schienenoberfläche und Schienenkörper in separaten Kon-Dateien des gleichen Splines definiert.
Meterspur-Spline (CE1)
Interaktiver und dynamischer Spline ab EEP16.4[Bearbeiten]
Mit dem Plugin 4 zu EEP 16.4 wurde ein neuer interaktiver Strecken- und Straßenspline eingeführt, der sein Aussehen dynamisch verändern kann. Der Spline interagiert dabei mit entsprechend dafür ausgerüsteteten Rollmaterialien. Ein Bau dieses Splines ist für alle vier Kategorien des EEP-Fahrwegsystems möglich [Gleise (Eisenbahn), Schiene (Straßenbahn), Straße und Wasserwege] Die grundsätzliche Konstruktion dieser Splines basiert auf der Anlage verschiedener Layer (Schichten). Dabei wird jedem Layer eine gewünschte Auswahl aus vorab erstellten .kon-Dateien zugeordnet. Diese Layer können dann später von Rollmaterialien in EEP angesprochen werden und das Spline ändert je nach Eintrag in der .ini-Datei des Rollmaterial sein Erscheinungsbild. Der Vorgang der dynamischen Veränderung des Erscheinungsbilds findet nicht sofort auf der gesamten Strecke des Splines statt, sondern nach und nach über den Verlauf und Teil der Strecke, welche das Rollmaterial gerade "überfährt" und somit die Spline-Änderung ansteuert.
Der grundlegende Aufbau der interaktiven Splines entspricht dem der Standard-Splines. Das heißt man zeichnet zunächst in der Track-Kon_001.kon im Objekt Track die Querschnittsdefinition des späteren Fahrwegs. Dieser ersten Querschnittsdefinition können nun weitere Querschnittsdefinition Track-Kon_002.kon, Track-Kon_003.kon etc. folgen, welche später über die interne .ini-Datei den verschiedenen Layern zugeordnet werden können. Die weiteren Querschnittdefinitionen können z.B. eine Ansammlung von herabgefallenem Laub am Straßenrand, einen alternativen Strassenbelag oder ein alternatives Schotterbett darstellen. Ebenso ist die Visualisierung von "nacktem" Erduntergrund oder anderen Zuständen einer in Bau befindlichen Strasse oder eines Gleises verwirklichbar. Der Idee des Konstrukteurs sind hier keine Grenzen gesetzt.
beispielhafter Aufbau eines interaktiven Splines mit verschiedenen Layern (Schichten) und 3D-Objekten
- Fehler beim Erstellen des Vorschaubildes: Datei fehlt
Arbeitsschritte:
- Fehler beim Erstellen des Vorschaubildes: Datei fehlt
1. Zeichnen der Querschnittsdefinitionen
- Fehler beim Erstellen des Vorschaubildes: Datei fehlt
2. Auswählen der Querschnittsdefinitionen im Objektdialog anhand der Nummer (#??) der Kon-Datei
- Fehler beim Erstellen des Vorschaubildes: Datei fehlt
3. Zuweisung der einzelnen Querschnittsdefinitionen zu verschiedenen Layern
-in Bearbeitung-
Invertierte und kombinierte Splines[Bearbeiten]
Weil Splines nur eine sichtbare Seite aufweisen, müssen Splines, deren Innenseiten sichtbar sein sollen, in Gegenrichtung angelegt werden.
Folglich müssen Splines, die innen und außen sichtbar sein sollen, eine umgestülpte Spline-Definition erhalten:
Die Lücke links ist hier aus Anschauungsgründen größer, als sie in der Realität sein muss. Die Linien können sich auch durchkreuzen, solange ihre Endkanten im Material des Hohlraums verborgen bleiben. Dies zeigt auch die Abbildung des Tunnel-Splines weiter oben am Zusammentreffen von Vertex 0 und 25. Solche Hülsen können auch durch Kombination zweier Spline-Definitionen erzielt werden.
3D-Splines ab EEP16.3[Bearbeiten]
Weichenlaterne und Prellbock: der Achsendialog[Bearbeiten]
Um einen Spline exportieren zu können, muss er mit Achsen für Weichenlaterne und Prellbock versehen werden, auch dann, wenn diese Achse keine Objekte enthalten.
Hierzu werden die reservierten Achsennamen _1
und _2>
verwendet.
Hinweis: Für den Einbau individueller Weichenlaternen mit vorbildgerechtem Signalbild siehe reservierten Achsennamen.
Texturieren[Bearbeiten]
Das Anlegen einer Textur kann wie üblich im Grafikprogramm erfolgen; die Festlegung der Texturkoordinaten erfolgt im Home-Nostruktor. Bei den Dimensionen der Textur sind die Richtlinien für Texturgrößen zu beachten.
Im Konstruktionsfenster ist ein Vertex ausgewählt.
Das Texturkoordinaten-Fenster des Home-Nostruktor erscheint mit Mausklick auf das Textur-Vorschaufenster. Es zeigt den Spline als Projektion. Die Senkrechte entspricht den Werten der Spline-Breite, die Waagerechte gibt den zu wiederholenden Verlauf wieder:
Die dünne waagerechte Linie zeigt der Verlauf des Splines (hier: Vertex 8). Ist noch kein Wert definiert, so fehlt die dünne Linie. Ein Mausklick in der betreffenden Höhe (y-Koordinate) lässt die dünne Linie erscheinen. Gleichzeitig wählt er den y-Wert für den betreffenden Vertex aus. Der x-Wert ist bis auf den Sonderfall des Vertex 0 unerheblich und kann ignoriert werden.
Die Wiederholungsrate[Bearbeiten]
Splines sind als Wiederholungsmuster angelegt. Die Periode beträgt 10m. Nicht immer entspricht die Texturlänge (der x-Wert) diesen 10m. Den Verrechnungsfaktor zwischen Texturlänge und vorgebenen 10m bestimmt der Wert im Feld TexturX
im Texturkoordinaten-Fenster.
Der Wiederholungsfaktor wird für den Vertex 0 bestimmt. Die x-Werte aller anderer Texturkoordinaten sind ohne Belang und können weggelassen werden.
Die Spline-ID[Bearbeiten]
Anders als alle anderen Konstruktionen werden Splines von EEP intern registriert. Dabei erhält jeder Spline vom Konstrukteur eine ID, die in der internen ini-Datei
des Splines vermerkt ist. Dabei muss darauf geachtet werden, dass die betreffende ID noch nicht anderweitig vergeben ist.
Splines für den Hausgebrauch[Bearbeiten]
Weil die meisten Spline-IDs für bei Trend akkreditierte Konstrukteure reserviert sind, bleiben für eigene Splines nur bestimmte Zahlenbereiche übrig:
201 - 250 601 - 650 951 - 1000 6001 - 6100
Aus diesen Bereichen darf der nicht kommerzielle Konstrukteur IDs verwenden. Sollte er seine Anlage an einen Dritten weitergeben, so bleiben die verbauten Spline-IDs erhalten und zeigen dort womöglich auf einen anderen Spline. So wird u. U. aus einem Feldweg ein Gleis oder aus einer Telegrafenleitung ein Bahnsteig.
Splines für den EEP-Shop[Bearbeiten]
Damit die oben beschriebenen Konflikte bei offiziell vertriebenen Splines ausbleiben, erhält der akkreditierte Konstrukteur auf Anfrage von Trend einen Nummernblock (meistens 10 IDs enthaltend), den er für seine Projekte verwendet. Es liegt in der Verantwortung des Konstrukteurs, dass er zugeteilte IDs nur ein einziges Mal und nur diese verwendet.
Hinweis: Derzeit werden die Nummernblöcke von Gottfried Bauer vergeben. Er ist über die Moderatoren des Forums Mein EEP Forum zu erreichen.
Die interne ini-Datei[Bearbeiten]
Referenzpunkte[Bearbeiten]
Der Home-Nostruktor versieht jeden Spline mit je einem Referenzpunkt an den Längsenden, ohne dass der Konstrukteur sie definieren muss oder kann. Sie liegen immer im Koordinatenursprung und bleiben bei der Modellvorschau unsichtbar. Zur Laufzeit bilden sie die Andockstellen und sind an den Gizmos zu erkennen.
Pflichteinträge[Bearbeiten]
Es gibt nur zwei Pflichteinträge. Sie legen die Spline-ID und die vorläufige Einbauhöhe über der Anlagenoberfläche fest:
[System] ModelType = 0x0000 [Track] Id_Code = ???? HeightOG = 20.0
Beim ersten Verlegen (ohne Andocken an vorhandene Objekte) wird der Referenzpunkt dieses Splines in einer Höhe von 20cm liegen HeightOG = 20.0
. Damit liegt die reale Oberfläche des Splines bei 30cm. Er durchschneidet die Anlagenoberfläche an den Enden um 5cm.
Hinweis: Die rote x-Koordinate markiert nicht die Einbauhöhe.
Alle anderen Einträge der folgenden Tabelle betreffen Sonderfälle oder sie sind optional.
Optionale Einträge[Bearbeiten]
Details zu weiteren Einträgen für Weichenlaternen, Unterdrückung des Lokomotivrauches, Anzahl der Straßenspuren etc. sind im Artikel zur internen ini-Datei gelistet.
Splines und die EEP-Kategorien[Bearbeiten]
Zu den Altlasten von EEP gehört die früher völlig ausreichende, heute unzureichend anmutende Klassifizierung in vier Fahrweggruppen Gleise (Eisenbahn), Schiene (Straßenbahn), Straße und Wasser. Diese Trennung hilft dem Anlagenbauer, unerwünschtes Andocken an "artfremde" Objekte zu verhindern und zudem durch die Möglichkeit des Ausblendens in den EEP-Editoren, die Übersicht zu behalten. Angesichts eines Spline-Angebots, das in die Tausende geht, erscheinen heute jedoch weder die Bezeichnungen der vier Gruppen noch deren Beschränkung auf vier hinreichend.
In der Folge wurde die Gruppe ("Kategorie") Wasserwege zunächst für Luftfahrt, dann für alles Übrige, das in keine der drei übrigen Kategorien passt, erweitert. Inzwischen heißt die Kategorie Sonstige Splines und versammelt alles Mögliche, von der Telegrafenleitung über "Zwangsschienen" im Brückenbau bis zu Zäunen, Schotterbetten und Waldkulissen.
Bei der Überlegung, in welchen Layer - so der zutreffende Ausdruck - der geschaffene Spline einsortiert wird, muss der Konstrukteur die spätere problemlose Handhabung des Anwenders im Auge behalten. Damit sich parallel verlegte und inhaltlich zusammengehörige Splines nicht gegenseitig ins Gehege kommen, werden z.B. Schottersplines, die als Gleisbett unter dem Schienenstrang liegen, nicht in den Layer für Gleise, sondern z.B. in denjenigen für Straßenbahnen oder Straßen gelegt. Nur so ist es dem Anwender möglich, die sehr eng beieinander (oft direkt untereinander) liegenden Splines später auseinander zu halten.
Die Zuordnung zu Layer und Unterkategorie erfolgt wie allgemein durch die Festlegung des Modellicons in der externen ini-Datei des Splines.
Dreidimensionale Splines[Bearbeiten]
Splines können Modellteile enthalten, die aus der Schlauchform ausbrechen. Dabei werden im Nostruktor zusätzlich zum Schlauch, also der eigentlichen Spline-Definition, weitere Objekte angelegt. Bedinung ist, dabei, dass die Objekte rhythmisch wiederholt werden.
Objekte im Spline[Bearbeiten]
Ein Bahnsteigspline enthält senkrechte Pfosten, die die Bahnsteigkante abstützen.
Hier wurde das Objekt Pfosten zusätzlich zum obligatorischen Objekt Track angelegt und mit einer Konstruktion versehen:
Im Achsendialog wird das Objekt unter die Basis gekreuzt und mit dem Objekt (hier gleichnamig: "Pfosten") gefüllt. Das Objekt liegt auf der (unbeweglichen) Achse 3.
Wiederholungsrate[Bearbeiten]
Der Pfosten wird wiederholt. Die Periode hierzu wird in der internen *.ini-Datei festgelegt. Sie bezieht sich auf die Normlänge des Splines von 10m:
Der Wert PeriodAxis?? = nn
(hier: 4.0) ergibt, dass der Pfosten 4 x auf einer Länge von 10 m, also alle 2,5 m, wiederholt wird.