Eine Bitte an die ersten TPF Modder

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Servus,


    ich hätte eine große Bitte an die ersten Modder die es geschafft haben, eigene Mods in gleicher Qualität wie die TPF Vanilla Mods ins Spiel einzubinden. Dabei geht es vorallem um die Handhabung mit dem .dds Formaten, und wie man die einzelnen Texturen erstellt. Oder auch was es für neue Möglichkeiten für scripts etc. gibt. (Bahnhöfe, sind Depots mit mehreren Gleisanschlüssen, ....)

    Nun zur Bitte: Könntet ihr dafür ein kleines Tutorial oder Howto schreiben. Am Besten im Zuge eines Lexikon-Eintrags den dann jeder beliebig erweitern kann (so erspart man sich das Durchlesen ewig langer Forum Threads).
    Ich denke das würde der Community sehr helfen, da nicht jeder Modder einzeln darauf kommen muss wie das nun mit den neuen Formaten funktioniert.. Somit spart sich jeder Zeit und kann dadurch vielleicht ja das ein oder andere Modell mehr heraus bringen ;-)

  • Bei den loadIndicators müssen seats angefügt werden, ums mal ganz simpel zu sagen. Ansonsten habt ihr ja jede Menge Vorlagen parat :P Es gibt bei den seats auch noch optionale Parameter wie crew=true oder standing = true *glaub*. Wenn ich mal Zeit finde und keiner schneller war, schreib ich mal was zusammen. Aber die nächsten Tage bin ich wieder nich daheim - wird also zäh bei mir.

  • Vor allem für die Sitzplätze

    das sieht jetzt wie ich finde nicht allzu kompliziert aus. Glaub das kann man sich gut aus einer Vanilla .mdl abschauen, man muss halt die Abstände ändern, aber das muss man ohnehin selber. Am besten Modell in Blender oder so laden und damit die Abstände ablesen. Und ich glaube nach der Reihenfolge die in der .mdl angegeben ist, wird der Waggon befüllt. Also ruhig etwas wirr die Sitzplätze eintragen...

  • Und ich glaube nach der Reihenfolge die in der .mdl angegeben ist, wird der Waggon befüllt.

    Nope. Wird zufällig verteilt befüllt. Hast du eine Kapazität von 200 angegeben und 100 Sitzplätze wird daraus 50 Kapazität ingame bei immernoch 100 Sitzen. Sprich bei voller Befüllung wird nur jeder 2. Sitz besetzt sein. Ich denke jedesmal andere. Also rein zufällige Verteilung. Bei Zügen gilt im Übrigen die Gesat-Kapazität und Gesamt-Sitzanzahl (aller Wagen/Loks/Triebköpfe wie auch immer bla).

  • Also die Grundtexturen für TpF scheinen nicht schwer herzustellen sein.


    Offenbar gibt es nun vieeele Ebenen, die man nicht ganz so einfach mal so automatisch generieren kann. Meine Beobachtungen mal zusammengefasst:
    - Im Textur-Stammverzeichnis gibt es die HDR-Maps für Licht an/Licht aus. D.h. einfach ne Textur mit den Lampen hell und dunkel, dann sollte es gehen? Wie ist es mit dem Programmieren? Ist das Licht an eine Animation? Kein Plan.... Die Lampen müssen separat vermesht werden und bekommen eine eigene Material.
    - Ganz normal und bekannt sind die sogenannten albedo_opacity. Dort wird mit der Textur-RGB die Textur geregelt und mit dem Alpha-Kanal die Transparenz. Alles beim Alten...
    - cblend_dirt_rust gibt an, wie der Schmutz verteilt wird. Offenbar läuft das über den grünen Kanal (der ironischerwiese grau ist). Hier ist offenbar die Regel, je heller die Fläche je weniger Rost. Je grauer desto mehr. Die Kontraste dürften dann auch widergeben, wie tief der Rost/Schmutz in die Oberfläche "einschneidet". Kanal rot bleibt weiß, Kanal blau ist schwarz...Zusammengenommen gibt es eine Höhenkarte in orange/gelbtönen.
    - Es gibt die dirt_albedo. Das ist nichts anderes als die Normale Textur mit vieel Dreck. Was die Alpha hier generiert ist mir noch unklar. Was ist dunkel, was ist hell?
    - Metal_gloss ist das, was früher die Alpha der Textur war. Nur jetzt wird das alles farblich angesteuert, wie bei einer Normal. Magenta dürfte starke Reflektion sein. Türkis eine "normale" Reflektion, grünlich eher seidenmatt wie Gummi, dunkelblau eher wenig Reflektion. Aber hier sind weitere Infos sicher hilfreich.
    - Dann eine Normalmap, die so sein sollte wie bisher.


    Liege ich insgesamt falsch? Was gibt es anzumerken?

    Einmal editiert, zuletzt von Skyjoe ()

  • Also die Grundtexturen für TpF scheinen nicht schwer herzustellen sein.

    ich glaub du hast es schon ganz gut mit deiner Auflistung getroffen. Mein Problem ist nur, wie erstelle ich genau solche Texturen? Ich hab ehrlich gsagt keine Lust meine fertige Glossy AO Map dann irgendwie händisch einzufärben damit diese fürs Spiel passt - da muss es doch etwas geben womit man das erstellen kann.
    Was ich gauch noch ned verstanden habe ist, wie man regelt welche Teile der Textur eingefärbt werden (wenn man ingame eine gewisse Farbe auswählt).

  • @Franzl: Zu ersterem: Die Endfarbe einer der Texturen, z.B. der metal_gloss_ao kommt über die Kanäle. Jeder Kanal ist graustufig. Die Graustufen zusammengenommen gibt dann die farbigen RGB. Z.B. bei der genannten Textur gibt der rote Kanal an was metallglänzend ist. Schwarz nichts, grau ca. 60 % metall glänzend/reflektierend. Der grüne Kanal ist gloss, also das was seidenmatt schimmern soll. Je heller desto mehr "Schimmer". Im Endeffekt eine Art Schmutztextur (dirt) in Graustufen deutlich aufgehellt, wobei die schmutzigen Flächen dunkler sind als die sauberen "schimmernden". Der blaue Kanal ist eine überstahlte, also sehr aufgehelle (Helligkeit +100% habe ich mal getestet) AO. Alles drei zusammen gibt das wunderbare Farbenspiel der Textur in blau bis gelb, grün und rötlich...


    Beim cblend_dirt_rust bin ich noch nicht ganz durchgestiegen. Hoffe, dass die erfahrenen Beta-Tester hier etwas erhellendes beitragen können: D.h. für was ist der jeweilige Kanal genutzt und wie wird er generiert?


    Zum letzten Punkt: Wer realitätsnahe Texturen erstellen will muss wohl wie eh und je einfach schön jede Variante einzeln bauen. Ich hatte mal die Hoffnung, dass man eine E94 z.B. kaufen kann und sie nach Wunsch mit DRG oder DB Outfits vershene kann. Aber da sich ehrlich egsagt ja auch bauliche Details verändern, würde es bedingen dass auch zusätzlich zu der Textur ein neues Mesh geladen wird, was wohl weiter ein Traum bleibt. Ich halte es im Moment für eine Spielerei Bereiche eines Fahrzeges anders zu färben. Aber das ist meine Meinung.


    Meine Frage: In welchem der dds Formate wird abgespeichert? 2D, CubeMap, Volume Texture? Was ist mit den Subeinstellungen? MipMap? Bei mir kam es immer zum Absturz oder die Textur wurde einfach flächig als Patchwork über das Modell gelegt...wie kann das passieren...(Anhang)

  • Also...ich habe jetzt soo viel mit den dds Formaten und den Konvertierungen herumgespielt. Wenn ich mit angepasster material und aufgebauten dds z.B. den Et 89 ins Spiel bringe scheint es so, als ob es mir das Mapping komplett verhagelt. Woran kann das liegen. Ich konvertiere z.B. als Textur eine tga in ein dds/DXT5 mit 12 MipMaps und allen normal voreingestellten Settings. Das was ihr im vorigen Post seht, kommt dabei heraus...komisch. Kann es sein, dass man mehr ändern muss als nur die Material, damit das alles so funktioniert wie gewünscht?

    Einmal editiert, zuletzt von Skyjoe ()

  • Nach weiteren Testrunden habe ich den ET 89 nun mit allem PiPaPo im Spiel. Die Texturen sind im Verhältnis zu früher vertikal gespiegelt. Jetzt ist mir nur eines aufgefallen: Die Textur wirkt sehr dunkel und der Innenraum ist beinahe schwarz. Über welche Textur oder Material-coeffs wird das gesteuert? Könnt ihr mir weiterhelfen?

  • Ich probiere meine aktuellen Erkenntnisse kurz hier darzulegen (ohne Gewähr auf 100%-ige Korrektheit). Alles noch im Fluss...

    • Beim Licht noch keine besonderen Fortschritte...

    Zu Texturen allgemein: Man kann alles wie bisher in Gimp, Ps etc. altbekannt painten. Dann würde ich sowohl in xcf/psd als auch in tga speichern. Die tga als Grundlage für den Export ersteinmal vertikal spiegeln und dann in dds abspeichern. Ich bevorzuge für den Export GIMP mit enstpechendem dds Plug-In, da hier die Exporteinstellungen übersichtlicher sind als in PS.

    • albedo_opacity: Ganz normal und bekannt. Dort wird mit der Textur-RGB die Textur geregelt und mit dem Alpha-Kanal die Transparenz. Alles beim Alten...ca. 60% Graustufe sollten die Fenster in der Alpha sein. Es scheint optimal zu sein die Fenster auf einem eigenes Mesh und Material abzulegen. Dort kann die Material als type = "PHYS_TRANSPARENT_NRML_MAP_CBLEND_DIRT". Diese Textur als dds DXT5 mit MipMaps abspeichern.


    • cblend_dirt_rust: Diese Textur gibt an, wie der Schmutz verteilt wird und welche Bereiche durch den User umgefärbt werden können. Offenbar werden in der Reihenfolge der Dateinebennung die Kanäle angesteuert. Ebenfalls vor Export vertikal gespiegelt und als DXT1 abspeichern.
    • Kanal Rot ist cblend. Funktion ist ja/nein. Hell (ca. 0 % Grauwert) sind Bereiche, die durch die Userfarben nicht tangiert werden und dunkle Bereiche (ca. 95 % Grauwert) kann der User später frei nach seinen Wünschen färben. Hier bietet es sich an die Aufbauten oder Bereiche von diesen als färbbare Bereiche zu definieren, also das, was z.B. bei der DRG mal grün war etc. Da ist Kreativität gefragt. :-) (Dank an @Merk für den Hinweis).
    • Kanal Grün ist dirt: Hier wird der Schmutz geregelt. Die Funktion ist in Abstufungen geregelt. Je Dunkler die Flächen desto weniger Schmutz. Hier kann man mit dem Spray Werkzeug den Schmutz verteilen, der in den mittleren Grauwerten liegt. Bevorzugte Schmutzbereiche sind natürlich alle hervorstehenden Teile, die Fahrzeugfronten, Lüfterschlitze, der Unterbau etc. Da kann man krativ sein. Hier sind natürlich diejenigen im Vorteil, die den Schmutz der durch das Fahren entsteht schon früher auf einer eigenen Ebene Texturiert hatten, da sie hier diesen Layer einfach auf eine modifizierte und abgedunkelte AO auflegen können und somit diesen Kanal bekommen. Dennoch wird Nacharbeit notwendig sein.
    • Kanal Blau ist rust: Hier wird der Rost eingestellt. Die Funktion: ja/nein (mit schwachen Abstufeungen möglich?). Weiß sind die Bereiche mit Rost und schwarz die ohne. Der Rost lagert sich an weniger exponierten Stellen und stärker an unkackierten und wenig beanspruchten Metallbereichen ab. Da sind mal wieder die Lüfterschlitze, die Aufbauten mit deren Windschatten, Zierblenden und Falzen/Nute wie z.B. die Fensterrahmen und Spalten der Türrahmen etc. Hier würde ich wieder das Spraywerkzeug und ggf. den Rauschen Filter nutzen um dies diffizil anzubringen.


    • metal_gloss_ao: Ist grob gesprochen das, was früher bei "Reflective_Normal" Materials der Alphakanal der Textur war. Nur jetzt wird das alles sehr diffizil ausgebaut und auch hier sind wieder alle 3 Kanäle von Bedeutung. Ebenfalls vor Export vertikal gespiegelt und als DXT1 abspeichern.
    • Kanal Rot ist metal: Die Funktion ist in Abstufungen geregelt. Dunkel (ca. 100 % Grauwert) sind Bereiche, die kein blankes Metall sind und darum nicht metallisch reflektieren. ca. 50 % sind stark metallische Bereiche mit etsprechender Reflektion. Z.B. sind Messing/Aluminium/Edelstahl Türgriffe opder Zierleisten bei etwa 60% einzuordnen, wohingegen die Metalldächer in Weißblech-Optik bei 80 bis 90% liegen und als stärker von der Witterung beanspruchte Bereiche damit weniger stark reflektieren. Aber hier ist Geschmack ein wichtiger Faktor.
    • Kanal Grün ist gloss: Früher habe ich in TF das alles über Reflektion und Material-Coeffs geregelt. Das ist vorbei und man kann über diesen Kanal sehr fein steuern, was am Modell glossy wirken wird. Das ist nicht zu verwechseln mit der Reflektion, denn der glossy Layer gibt an wie stark z.B. Erhebungen (Niete, Lüftergitter) exponiert werden. Je stärker der Glossy-Effekt desto mehr poppen Niete auf, was ggf. sehr komisch aussehen kann. ist in Abstufungen geregelt. Ohne glossy ist schwarz (Grauwert 100%) und mit angenehmem glossy ist grau (ca. 50 % Grauwert). Flächen z.B. sind eher schwarz. Alle Erhebungen/Kanten werden grau. Hier werden die Texturierer belohnt, die in der Vergangenheit die Erhebungen eigens Texturiert haben und schon früher auf den lichtabgewandten seiten in den Genuss von angedeuteter Plastizität kamen. Hier kann man diesen Layer einfach nehmen und in eine schwarze Ebene einfügen und je nach Geschmack aufhellen/abdunkeln. Dort wo der Schmutz liegt sollte man den gloss Effekt reduzieren.
    • Kanal Blau ist die AO: Dieser Kanal erklärt sich fast von selbst. Er unterstreicht aber nochmals die Starke Bedeutung der AO. Die AO solte man nach dem Export aus Blender nicht einfach übernehmen. Nacharbeit ist sinnvoll, da über die Graustufen geregelt wird wie hell die Textur sein wird. Zum einen würde ich leicht den gaußschen Weichzeichner (Stufe 0,5 bis 1 Pixel) drüberlaufen lassen und zum anderen die Graukarte mit eine Gammakorrektur ausstatten, da die AO in TpF einen sehr hellen/weißen Grundkontrast hat. Ggf. sollte man noch ein wenig mit dem Kontrast spielen, je nachdem wie stark man den zusätzlichen Schattierungseffekt haben möchte. Je heller die AO desto heller die Textur bedeutet, dass wenn Innenräume auf der AO nicht oder fast schwarz gerendert sind, dann müsst ihr hier ordenlich aufhellen, damit der Innenraum nicht schwarz ist!


    • normal: Ist die altbekannte Normalmap. Hier werden die belohnt, die schon früher die Normalmap händisch aufgebaut haben, da dier Normaleffekt dadurch sauberer und besserer rüberkommt. Ebenfalls vor Export vertikal gespiegelt und als ATI2 bzw. 3Dc mit MipMaps abspeichern.

    Das sollten die ersten Grundlagen sein. Da wird sich sicher auch noch viel tun, gerde im Hinblick auf das oben beschriebene Problemchen mit zu dunklen Innenräumen etc. Aber ich bin guter Dinge. ;-)

    6 Mal editiert, zuletzt von Skyjoe ()

  • Vielen Dank @Skyjoe für die Auflistung, das bringt mal ordentlich Licht ins Dunkle..
    Färbst du die einzelnen Kanäle beispielweise der cblend_dirt_rust map einfach manuell ein? Woher weißt du welchen Farbton du treffen musst? Und wie gehst du dabei vor, nimmst du dir dafür als grundlage die AO map oder fäbrst du einfach mit dem Pinsel die entsprechenden Stellen ein?

    Einmal editiert, zuletzt von Franzl ()

BlueBrixx