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.
Inhaltsverzeichnis
Vordefinierte Modellvarianten durch Tauschtexturen
Für die Realisierung sind von Konstrukteursseite aus nur wenige Schritte nötig.
Was kommt in die Tauschtextur?
Für den Austausch auf Anwenderseite bieten sich zunächst kleinere Flächen auf dem Modell an, wie z. B. Fahrtziele, Beschilderungen, Betriebsnummern oder Hausnummern. Es kann jedoch auch die komplette Außenhaut eines Fahrzeugs angepasst werden. 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 mit Objekt - Import Objekt
. Es wird im Instanzen-Dialog aufgelistet.
Der Modellexport
Am Attribut usertexture() erkennt der Home-Nostruktor beim Export des Modells die Tauschtextur als solche, bindet sie wie die Basis-Textur in die 3DM-Kapsel ein, verwaltet sie jedoch als austauschbar durch den Anwender. Zusätzlich wird sie 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 zusätzliche Kopie der Texturdatei trägt grundsätzlich den Namen des 3DM-Modells. Der Konstrukteur kann das Installationsskript so einrichten, dass die Tauschtextur im Ordner Resourcen\Tauschtexturen abgelegt wird. Weil hier aber absehhbar ein ähnlich unübersichtliche Situation entstehen wird wie bei anderen Ablagesystematiken in EEP (z. B. den Kategorien), empfehlen die Modellbaurichtlinien das Installieren der Tauschtextur in den Ordner des Modells selbst. Heißt also eine 3DM-Datei Beispiel_XYZ.3dm, so muss auch die ausgelagerte Textur-Vorlage Beispiel_XYZ.??? heißen und im Ordner des Modells (oder 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\Immobilien\Domizil\Stadt\Geigenbauerhaus_TT_SIK_HW1.png" //alternativ: File003 = "Geigenbauer_TT_SIK_HW1.png","Resourcen\Tauschtexturen\Geigenbauerhaus_TT_SIK_HW1.png" //
Die letze Zeile (von der nur eine der beiden Varianten verwendet werden darf) 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
Bis zu drei Tauschtexturen
Manchmal ist eine einzige 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. Dabei gelten diese Namenskonventionen:
Beispiel_XYZ.png Beispiel_XYZ2_.png Beispiel_XYZ3_.png
Das Einfügen des Unterstriches vor dem Punkt (_.) soll verhindern, dass es 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.