Tauschtexturen
Wie allen Simulationswelten am Computer sind auch eep Grenzen in Bezug auf die Individualität der Modelle gesetzt. Während der Modellbauer von jedem zunächst gleichen Modell mit Pinsel, Spachtel und Farbe individuelle Varianten herstellen kann, sehen in eep alle Exemplare des gleichen Modells exakt gleich aus. Der Konstrukteur kann zwar in engen Grenzen Farb- und Zustandsvarianten anbieten; der Gleichförmigkeit vieler 3D-Welten wird damit dennoch nur unzureichend begegnet.
Bei allem Respekt vor dem Erbauer dieser gelungenen eep-Anlage (im Lieferumfang von eep13 enthalten): Alle Strohballen sehen exakt gleich aus. In der Menge erzielen Sie eine leblose Wirkung.
Hier begegnen sich gerade zwei Straßenbahnen (es handelt sich um konvertierte Modelle aus der Frühzeit von eep). Sie fahren in entgegengesetzte Richtungen, haben aber das gleiche Fahrtziel und obendrein dieselbe Ordnungsnummer:
Viele dieser und ähnlicher Mängel lassen sich in eep lösen: Sie können die Konstruktion Ihrer Modelle so einrichten, dass der Anwender später eigene Varianten herstellen kann, ohne selbst "konstruieren" zu müssen. Das Verfahren wird in eep Arbeiten mit Tauschtexturen genannt.
Für die Realisierung sind von Konstrukteursseite aus nur wenige Schritte nötig.
Inhaltsverzeichnis
Was kommt in die Tauschtextur?
Für den Austausch auf Anwenderseite bieten sich kleinere Flächen auf dem Modell an, wie z. B. Fahrtziele, Beschilderungen, Betriebsnummern oder Hausnummern. In diesem Beispiel erfahren Sie das Anlegen einer Tauschtextur für zwei Hausnummern eines Eckgebäudes.
Anlegen der Tauschtextur
Das im Bild dargestellte Modell verfügt über eine übliche Textur für alle Flächen auf dem Modell. Die Hausnummer jedoch wurde in einer separaten Bilddatei abgelegt. Bei diesem Eckhaus sind dies zwei Nummern für die beiden Hausnummern in jeweils einer Straße.
Diese separate Bilddatei ist wesentlich kleiner als die Haupttextur des Modells. In diesem Falle reichen 256x256 Pixel. Bei der Texturgröße und beim Dateiformat gelten auch hier die üblichen Vorgaben.
Eintrag in der Datei texturen.txt
Zusätzlich zu den allgemeinen Vorgaben muss die ID der Textur in der Datei texturen.txt um 1 größer sein als die der zugehörigen Haupttextur, also z. B. so:
Textur{ id(5123) name(5123) automipmap() magfilter(1) minfilter(5) } Textur{ id(5124) name(5124) automipmap() magfilter(1) minfilter(5) usertexture() }
Außerdem erhält der Eintrag der Tauschtextur am Zeilenende das Attribut usertexture()
Zuweisen der Tauschtextur im Home-Nostruktor
Das zugehörige Objekt, hier also das Blechschild mit der Hausnummer, wird im Nostruktor mit den üblichen Werkzeugen angelegt. Das Rechteck erhält diese Attribute.
Anschließend erhalten die vier Vertizes des Rechtecks ihre Texturkoordinaten.
Zuweisen der Tauschtextur bei externen Konstruktionsprogrammen
Schaffen Sie ein separates Objekt, das Sie mit der Textur aus der Tauschtexturdatei belegen. Exportieren Sie das Objekt in für den Home-Nostruktor geeigneter Form (mittels PlugIn bzw. als *.x-Datei).
Importieren Sie das Objekt im Home-Nostruktor. Es wird im Instanzen-Dialog aufgelistet.
Der Modellexport
Am Attribut usertexture() erkennt der Home-Nostruktor beim Export des Modells die Tauschtextur also solche und lagert sie aus der 3DM-Kapsel aus. Sie wird jetzt als separate Datei innerhalb der Modellinstallation in eep vorgehalten. Somit ist gewährleistet, dass sie der Anwender mit einem Bildbearbeitungsprogramm bearbeiten, also tauschen, kann.
Speicherort für Tauschtexturen
Die ausgelagerte Texturdatei trägt grundsätzlich den Namen des 3DM-Modells. Der Konstrukteur muss das Installationsskript so einrichten, dass die Tauschtextur im Ordner Resourcen\Tauschtexturen abgelegt wird. Heißt also eine 3DM-Datei Beispiel_XYZ.3dm, so muss auch die ausgelagerte Textur-Vorlage Beispiel_XYZ.??? heißen und im Ordner Resourcen\Tauschtexturen liegen.
Beispiel für ein Installationsskript
[EEPInstall] EEPVersion = 7 File001 = "Geigenbauerhaus_HW1.3dm","Resourcen\Immobilien\Domizil\Stadt\Geigenbauerhaus_HW1.3dm" File002 = "Geigenbauer_TT_HW1.png","Resourcen\Tauschtexturen\Geigenbauerhaus_HW1.png" File003 = "Geigenbauer_TT_SIK_HW1.png","Resourcen\Tauschtexturen\Geigenbauerhaus_TT_SIK_HW1.png"
Die letze Zeile installiert eine Sicherheitskopie Geigenbauerhaus_TT_SIK_HW1.png der Tauschtextur. Falls der Anwender bei seinen Versuchen, die Tauschtextur zu bearbeiten, scheitert, kann er die Sicherheitskopie auf den Namen der ursprünglichen Datei kopieren und der Auslieferungszustand des Modells ist wieder hergestellt.
Mehrere Tauschtexturen
Manchmal ist eine Tauschtextur nicht hinreichend, besonders dann, wenn ein Teil des editierbaren Bereiches der Textur animiert werden soll und ein anderer nicht. Deshalb unterstützt der Home-Nostruktor bis zu drei Tauschtexturen innerhalb eines Modells.
Werden mehr als eine Tauschtextur verwendet, so lauten die Einträge in der Datei texturen.txt so:
Textur{ id(0001) name(0001) automipmap() magfilter(1) minfilter(5) usertexture() } Textur{ id(0002) name(0002) automipmap() magfilter(1) minfilter(5) usertexture2() } Textur{ id(0003) name(0003) automipmap() magfilter(1) minfilter(5) usertexture3() }
(Die fehlende "1" am Ende der ersten Zeile ist kein Fehler.)
Auch hier lagert der Home-Nostruktor beim Export des Modells die Texturen aus. Der Konstrukteur packt sie wie oben beschrieben in das Installationsverzeichnis und das Installationsskript. Dasbei gelten diese Namenskonventionen:
Beispiel_XYZ.png , Beispiel_XYZ2_.png und „Beispiel_XYZ3_.png.
Das Einfügen des Unterstriches vor dem Punkt (_.) soll verhindern, dass zu Konflikten mit solchen Modellbezeichnungen kommt, die mit einer Nummerierung enden, wie z.B. Haus_1, Haus_2, Haus_3 usw. In diesem Fall könnte sich die zugewiesene User-Textur mit dem Namen eines anderen Modells überschneiden, was durch die Schreibweise 2_.* und 3_.* weitestgehend ausgeschlossen wird.