[TUT] Einen Mod Waschbar machen

  • Hallo liebe LS Freunde,

    heute zeige ich ein neues Tutorial von mir und zwar vom richtigen Umbau auf Washable.


    Einen Mod Waschbar machen (Washable)


    In diesem Tutorial versuche ich euch zu erklären, wie man neue Mods bzw Objekte davon (Reifen) Dreckig macht, dass diese auch im Game Waschbar werden.
    Neben dem Einfügen erkläre ich euch auch Zusätzlich ein Paar Dinge, damit Ihr auch versteht, wieso was gemacht werden muss - selbstverständlich alles im Bereich meines Wissensstandes als "Nicht Modder"

    Ich möchte hierzu gleich Anmerken, dass dies so eine Art Beta Tutorial wird und ich dies nicht sofort 100% Richtig Tippen werde. Grund ist ganz einfach: Ich hab mich die letzten Tage sehr Tief auf besagtes Thema eingelesen und habe extrem viel Experimentiert. Kann sein, dass hier evtl. die ein oder andere kleine, falsche bzw, nicht ganz zu 100% Richtige Info veröffentlicht wird. Dies bitte ich zu Entschuldigen. Wie gesagt werde ich das ganze sofort Editieren, sobals mehr Infos darüber Existieren.

    Versprechen kann ich euch eins: Euren Kärcher könnt ihr euch gleich auf dem Hof stellen, den Funktionieren wird das ganze mit Sicherheit :thumbup:

    Einen Feedback Thread um mir eure Meinungen zum Tutorial da zu lassen habe ich hier erstellt:
    >>Zum Feedbackthread

    Wozu Waschbar?

    Da nicht nur wir sondern auch Giants ständig näher an der Realität angrenzen wollen, müssen Fahrzeuge, Hänger, Anbaugeräte und dergleichen einfach schmutzig werden.
    Wie im Real-Life auch, gehört die richtige Pflege unserer Maschinen einfach zum A und O des Perfekten Profi Landwirts.

    Inhalt des Tutorials



    Wie ich weiter unten noch Erwähnen werde, hänge ich hier meine beiden Testobjekte dran, damit ihr euch ein bisschen in die neue Dirt Materie rein versetzten könnt.

  • 1. Benötigte Software

    :>: Selbstverständlich kann auch der GE 6.0.1 oder Höher verwendet werden, der Arbeitsablauf bleibt gleich. Um diesen downloaden zu können muss man sich auf der Giants GDN Seite registrieren.

    Vorsicht: Die Freischalt-Mail landet danach zu 90% im Spamordner!

    :>: Anstatt von Notepad++ kann natürlich auch jeder andere Texteditor verwendet werden - Jedoch ist dieses Textprogramm wärmstens zu empfehlen, da es am übersichtlichsten ist und man damit schnell und sauber arbeiten kann!

    :>: Auch beim Komprimierungsprogramm "WinRar" kann als Beispiel "7zip" verwendet werden.

    :>: ** Anstelle von Adobe Photoshop kann selbstverständlich auch Gimp oder Ähnliches verwendet werden. Ich persönlich habe mich mittlerweile sehr an Photoshop gewöhnt, deshalb handelt mein Tutorial auch mit dieser Software anstelle von anderen Bildbearbeitungsprogrammen. Meist Hilft Google ganz schnell und einfach gewisse Arbeitsschritte in ein anderes Programm zu übertragen ;)

    :>: Als kleines Extra Tool wird hierbei das .dds [Direct Draw Surface] Plugin gebraucht, das hier zu haben wäre.

  • 2. Welche Dateien werden benötigt


    :>: Für dieses Tutorial benötigen wir zum einen den vehicleShaderDirt.xml.

    Diesen bitte entweder Herunterladen oder aus dem Game-Verzeichnis heraus kopieren:

    Code
    C:/Programme(x86)/Landwirtschaftssimulator 2015/data/vehicles/vehicleShaderDirt

    Dieser ist danach in den Ordner des Mods zu kopieren den ich Waschbar machen besten. Der Ordnung halber würde ich den Scripts Ordner empfehlen.


    :>: Zum anderen benötigen wir einen Mod oder eine andere i3d den/die wir Waschbar machen wollen. Für dieses Tutorial habe ich Beispielsweise den Krampe aus dem Standard Fahrzeugen benutzte bzw. einen Reifen vom den ich diesen neu Zuweisen wollte - diesen ich noch auf meiner Platte aus LS13 gefunden habe.

    Kurz mit dem neuem GE (Giants Editor) neu abgespeichert um die neue Shapes zu erhalten und schon ist dieser LS15 tauglich.

  • 3. Das neue Textursystem von Giants

    :>: Im neuem Landwirtschaftssimulator haben wir nun endlich die Möglichkeit, dass auch schon Standard-Fahrzeuge gewaschen werden können.
    Was im älteren Simulator noch mit Zahlreichen .xml-Einträgen und Index-Angaben mit etwas mehr Aufwand verbunden war, ist heute nur noch mit ein paar Copy and Paste und ein paar Klicks in Bildbearbeitungsprogrammen verbunden.

    :>: Wie damals aber auch, ist dies eine reine Eingewöhnungsphase - hat man es erst drei, viermal gemacht klappt dies gleich beim nächsten mal schon im Schlaf :)

    :>: Die neuen Dirt-Skinns werden nicht mehr aus einer eigenen dirt_diffuse (Diffuse = Einfärbung) erzeugt, anstelle dessen zieht sich das Game die neuen Skins aus der so genannten _specular Map.
    :>: Die _specular Map (Glanz/Reflexionsvermögen) ist eine wichtiger Aspekt der Oberflächencharakteristik eines Mods/Objekts. Eine _specular Map definiert, wie stark ein Material an einer bestimmten Stelle glänzt bzw. reflektiert. Eine Rendering-Software kann diese Information z.B. dazu nutzen, das Erscheinungsbild von Glanzlichtern zu bestimmen.

    :>: Specular („Spiegelung“) ist das Maß an Glanz, das ein Material bzw. eine Oberfläche aufweist.

    :>: Die Dirtskinns werden aus dem Blau-Kanal dieser Map gezogen. Hier wird später festgelegt wie Stark an bestimmten Stellen unser Mod verschmutzt werden soll. Je Heller dieser später eingefärbt wird, desto Dunkler und Schmutziger wird der Dreck an InGame angezeigt.

  • 4. Kopieren der Dateien

    Wie in Punkt 2. bereits erläutert, benötigen wir unseren vehicleShaderDirt.xml und der im Shader selbst zugewiesen Textur dirt_normal.dds
    Und zwar benötigen wir diesen im Ordner unseres Mods der Dreckig werden soll:


    Das war`s auch schon. Script brauchen wir keins, da alles aus dem Game geladen wird - also läuft die ganze Washable Sache auch über das Standardscript - zu den Texturen kommen wir später, diese sind ja bereist vorhanden.


    Der Shader sollte danach geöffnet werden und der Pfad in Zeile 11 angepasst werden. Je nachdem wo ihr den Shader und dessen gebrauchte Textur hin verlagert.

  • 5. Einträge in die ModDesc und Fahrzeug.xml

    :>: Dieser Abschnitt ist eigentlich am schnellsten erledigt. Gebraucht wird hierfür unsere ModDesc und .xml des Mods:



    :>: In die ModDesc tragen wir folgende Specialization ein:

    [xml]<specialization name="washable" />[/xml]

    Und zwar in folgendem Abschnitt:

    [xml] <type name="KrampeBB" className="Vehicle" filename="$dataS/scripts/vehicles/Vehicle.lua">
    <specialization name="attachable" />
    <specialization name="animatedVehicle" />
    <specialization name="cylindered" />
    <specialization name="fillable" />
    <specialization name="trailer" />
    <specialization name="washable" />
    </type>[/xml]

    :>: Was danach folgendes Bild ergeben sollte:



    :>: In die Fahrzeug .xml tragen wir folgenden Teil ein:


    [xml]<washable dirtDuration="90" washDuration="1" workMultiplier="4" />[/xml]


    :>: Wobei die erste Zahl 90 festlegt wie lange es dauern sollte bis dein Mod vollständig verschmutzt ist, die zweite Zahl 1 wie lange es dauert, diesen wieder zu reinigen und die dritte Zahl 4 berechnet um wie viel schneller das Fahrzeug beim Arbeiten Dreckig wird. [Herzlichen Dank an @Ifko[nator] für diese Information die ich noch gerade bekommen habe]

    :>: Wo genau wir das in die .xml Eintragen ist unwichtig, wichtig ist nur die richtige schreib weise des TAGs.
    Sollte danach so aussehen:


    :>: Und Fertig sind wir mit der Bearbeitung beider Dateien.

  • 6. Einträge in die .i3

    Hier haben wir bereits einen etwas langwierigeren Arbeitsaufwand zu bewerkstelligen. Bitte sehr genau und gewissenhaft Arbeiten, da sonst fatale Fehler entstehen können, deren Suche später meist mit sehr viel Aufwand verbunden ist.

    Wie ich schon weiter oben erwähnt habe, nehme ich als Beispiel für mein Tutorial einen Reifen vom Krampe Hänger. Damit ihr selbst etwas Testen und Spielen könnt, bis ihr es Verstanden habt,habe ich im Titelpost einen Fertigen-Waschbaren und einen Normale-Nicht Waschbaren Reifen angefügt. Dieser ist im Web Frei Erhältlich - Modder leider Unbekannt.

    :>: Als erstes öffnen wir unseren Mod, also die .i3d unseres Mods mit einem Textprogramm. Hierfür empfehle ich wärmstens Notepad++ - siehe 1. Benötigte Software


    :>: Danach sehen wir folgenden Abschnitt - unsere Files:


    [xml]<Files>
    <File fileId="4" filename="Druckanlage_diffuse_schwarz.dds" relativePath="true"/>
    <File fileId="3" filename="Felge_diffuse_blau.dds" relativePath="true"/>
    <File fileId="1" filename="Mantel.dds" relativePath="true"/>
    <File fileId="2" filename="Mantel_normal.dds" relativePath="true"/>
    </Files>[/xml]

    :>: Den Files müssen wir den VehicleDirtShader zum laden ermöglichen, den ich bereits erwähnt habe. Dies funktioniert, in dem wir folgenden Abschnitt hinzufügen: <File fileId="#" filename="vehicleShaderDirt.xml" relativePath="true"/> Als File Id ("#") müssen wir eine leicht merkbare Zahl wählen, diese noch nicht in den Files vorkommt. in meinem Beispiel also die Nummer 6.


    Passt bitte auf, dass der Pfad genau angegeben ist! in meinem Beispiel ist der Reifen in einem Ordner unter der .i3d des Haupt-Mods. Den Shader lasse ich aus meinem Scripte Ordner laden. Deshalb der Pfad ../Scripte/vehicleShaderDirt.xml. Liegt bei euch der Shader NUR im Scripte Ordner reicht dieser Pfad: Scripte/vehicleShaderDirt.xml


    Außerdem müssen wir unserer neuen Specular_Dirt eine Zuweisung erteilen.
    Dies funktioniert in dem wir folgende Abschnitte hinzufügen: (Bitte wieder eine Zahl verwenden, diese noch "Frei" ist!)

    [xml]<File fileId="8" filename="Mantel_Dirt_specular.dds" relativePath="true"/>[/xml]


    :>: Auszusehen hat das ganze also danach so:

    [xml]<Files>
    <File fileId="4" filename="Druckanlage_diffuse_schwarz.dds" relativePath="true"/>
    <File fileId="3" filename="Felge_diffuse_blau.dds" relativePath="true"/>
    <File fileId="1" filename="Mantel.dds" relativePath="true"/>
    <File fileId="2" filename="Mantel_normal.dds" relativePath="true"/>
    <File fileId="6" filename="../Scripte/vehicleShaderDirt.xml" relativePath="true"/>
    <File fileId="8" filename="Mantel_Dirt_specular.dds" relativePath="true"/>
    </Files>[/xml]

    :>: Bildlich:

    :>: Bei den <Materials> werden allen Materialen die in unserem Modell vorhanden sind eine oder mehrere Texturen und Shader zugewiesen. Wenn wir uns die Materials in unserem Beispiel mal ansehen kommen wir auf folgendes Szenario:

    [xml] <Materials>
    <Material name="lambert1" materialId="6" ambientColor="1 1 1">
    <Texture fileId="3"/>
    </Material>
    <Material name="lambert1" materialId="7" ambientColor="1 1 1">
    <Texture fileId="4"/>
    </Material>
    <Material name="lambert1" materialId="8" ambientColor="1 1 1">
    <Texture fileId="1"/>
    <Normalmap fileId="2"/>
    </Material>
    </Materials>[/xml]

    :>: Leider wird unserem Objekt immer der Material Name lambert1 gegeben, bei anderen Mods ist dies meist nicht so. Da hätten wir die Möglichkeit unseren Mod zu öffnen und unter Shape zu ermitteln was für einen Material TAG wir bearbeiten müssen:


    :>: Hier ist dies nicht der Fall, jedoch können wir durch die zuweisen der FileID sehen, dass wir den dritten Material TAG brauchen um den Reifenmantel Dreckig zu machen. Als kurze Erklärung:
    <File fileId="1" filename="Mantel.dds" relativePath="true"/> = <Material name="lambert1" materialId="8" ambientColor="1 1 1"><Texture fileId="1"/>

    :>: Also fügen wir im dritten Material TAG folgende Parameter hinzu:

    • customShaderId="6" = Unser eingebundener vehicleShaderDirt
    • specularColor="1 1 1" - Parameter für unsere Specular Map
    • <Glossmap fileId="7"/> - Die Textur-Zuweisung unserer Specular Map
    • <CustomParameter name="RDT" value="1 1 25 25"/>
    • <CustomParameter name="offsetUV" value="0 0 0 0"/>
    • <CustomParameter name="uvCenterSize" value="0.5 0.5 1 1"/>
    • <CustomParameter name="colorScale" value="0.8 0.55 0.055 1"/> = Sämtliche Parameter die unser Dirt-Skin benötigt


    :>: Auszusehen hat der Dritte TAG danach so:

    [xml]<Material name="lambert1" materialId="8" ambientColor="1 1 1" specularColor="1 1 1" customShaderId="6">
    <Texture fileId="1"/>
    <Normalmap fileId="2"/>
    <Glossmap fileId="7"/>
    <CustomParameter name="RDT" value="1 1 25 25"/>
    <CustomParameter name="offsetUV" value="0 0 0 0"/>
    <CustomParameter name="uvCenterSize" value="0.5 0.5 1 1"/>
    <CustomParameter name="colorScale" value="0.8 0.55 0.055 1"/>
    </Material>[/xml]

    :>: Was später folgendes Bild ergeben sollte:


    :>: Speichern!
    :>: Und Fertig sind wir mit dem Bearbeiten unserer .i3d

  • 7. Erstellen einer Specular

    Diesen und den nächsten Teil versuche ich möglichst kurz zu halten mit meinen Erklärungen, damit unser Tutorial keine Übermenschlichen Ausmaße annimmt :)
    Dafür aber mit reichlich Bildmaterial.
    Los geht`s!

    :>: Zuerst öffnen wir unsere Mantel_diffuse.dds mit Photoshop.

    :>: Danach Duplizieren wir unsere Hintergrund Ebene im Ebenen-Fenster und Rechtsklick+Ebene Duplizieren.
    :>: Diesen Vorgang brauchen wir 3x mit der Nennung:

    • Rot Specular
    • Grün AO
    • Blau Dirt


    :>: Zuerst greifen wir uns unsere Rot Specular. Diese wählen wir im Ebenen-Fenster an und Öffnen mit der Tasten-Kombi Strg+U das Fenster Farbton/Sättigung.
    :>: Diese Sättigung drehen wir komplett auf -100.

    :>: Danach klicken wir im Ebenen-Fenster wieder unsere Rot Specular per Rechtsklick an und Wählen den Abschnitt Fülloptionen.
    :>: Hier geben wir bei Kanälen den Grünen und Blauen Raus, so das nur noch der Rote gewählt bleibt.
    :>: Wir bestätigen mit Ok.

    :>: Blendet man jetzt alle anderen, noch nich Bearbeiteten Ebenen aus, so sieht man schon die Roten Kanälen:

    :>: Wir kommen zur Grün AO Ebene.
    :>: Zuerst Deaktivieren wir alle anderen Ebenen und wählen unsere Grün AO an.


    Bei Komplexeren Mods, als hier unser Reifen, ist es extrem Wichtig Schilder, Hydraulikanschlüsse und Leuchten vorher auszuschneiden da sich sonst der Glanz-Effekt darauf legt. Dies Erledigt man am besten mit dem Zauberstab Tool, dieses man fast in jeden guten Bildbearbeitungsprogramm finden wird. Später füllt man ausgeschnittene Bereiche noch mit einem Vorhandenen Grauton (als Beispiel)

    :>: Den nächsten Schritt kennen wir bereits: Strg+U - Sättigung raus nehmen.
    :>: Danach öffnen wir mit Strg+M die Gradationskurven. Wobei wir oben den höchsten Hell Punkt verwenden und Unten den besten, Dunkelsten Ton: (Man sollte alle Umrisse noch erkennen!)

    :>: Auch diesen Schritt kennen wir schon:

    • Rechtsklick auf unsere Ebene
    • Fülloptionen -
    • Diesmal entfernen wir aber den Blauen und den Roten Kanal.


    :>: Fertig mit der Erstellung unserer Specular Map!

  • 8. Erstellen der Dirt Specular

    :>: Wir wechseln nun zur Ebene Blau-Dirt:

    :>: Als Haupt und Hintergrundfarbe wählen wir Schwarz und Weiß aus

    :>: Aktiviere ich nun den Pinsel und male in unser Bild Weiße stellen, sind dies dann später im Game jene Stellen die Dreckig werden.


    Merke:
    Je Heller diese Stellen werden, desto schmutziger wird später auch jene Stelle dargestellt!

    :>: Selbstverständlich geht dies auch etwas vereinfacht, bzw. banaler mit einem automatischen Filter. Hierzu klicken wir auf Filter, rechts oben in der Toolbar, danach auf Renderfilter - Differenz Wolken, somit haben wir folgenden Effekt:

    :>: Etwas banal, Ja - für unser Tutorial genügt dies jedoch voll und ganz.
    :>: Wir geben nun ein letztes mal in den Fülloptionen den Roten und Grünen Kanal heraus.

    :>: Im Ebenen-Fenster aktivieren wir nun die beiden anderen Ebenen und Speichern das ganze als Mantel_Dirt_specular ab.


    Wir lernen also, dass unsere neuen Dirt-Skinns aus dem Blau-Kanal unserer Specular Map gezogen werden.



    :>: Geschafft! :thumbup:

    Wenn wir nun unseren Reifen öffnen, besitzt dieser einen (neuen) Dirtskin:


  • 9. Nachtrag

    :>: Im Nachtrag dieses Tutorials möchte ich mich aller Herzlichst bei Agrartec Multigaming bedanken. Ohne dein Video würden mir viele Information für das neue Dirt Textur-System enthalten bleiben.
    Herzlichen Dank für die Inspiration die du mir mit deinem Video geliefert hast!

    :>: Auch bedanken möchte ich mich bei Niggels939 für seinen Informations-Thread auf News - VertexDezign Auch dieser hat mich extrem Inspiriert um dieses Tutorial zu verfassen!

    :>: Herzlichen Dank auch an unseren Admin @Jaguar95 für deine Perfekten Tutorial Vorlagen die du mir damals geliefert hast, sowie auch an unseren Admin No. 1 @Manuel für unsere Spielwiese ;)

    :>: Wie ich bereits im Titelpost erwähnt habe, handelt es in diesem Tutorial um ein Tutorial in der Beta-Phase. Infos die ich noch Zusätzlich hinzufüge oder ändere, preise ich selbstverständlich gut ersichtlich an!

    Selbstverständlich geht auch ein großer Dank an das gesamte Modding-Welt Team!! Ohne euch wäre ich heute niemals im Stande so ein Tutorial zu verfassen!
    Tr3n3rO : Thanks for final inspection my Friend ;)


    Dieses Tutorial wurde von einem Modding-Welt Team Mitglied verfasst und ist deshalb auch auf genannter Seite zu behalten.
    Alle Weiterverbreitungen ohne meine Ausdrückliche Zustimmung sind strickt untersagt!
    Sollte Interesse an einer Weiterverbreitung bestehen so ist mir dies unverzüglich und vor neuer Veröffentlichung Mitzuteilen: Benutzerprofil Claas_Evolution



    Viel Freude und Spaß mit diesem Tutorial
    wünscht euch euer