Frage an die Profi-Modder

  • Also ich habe mir mal das Thema hier durch gelesen.


    Ich kann nun meine Tips dazu geben, wenn eine Objekt-Oberfläche eine eigene Farbe bekommen oder aus Shadern entstehen, wie Ziegel-Shader, Rost-Shader, Diversen Rausch-Shader, oder Ebenen-Shader (auch verschachtelte Texturen), der mehrere Shader & Texturen übereinander legt und diese wie in Photoshop mit einander verrechnet, diese müssen gebacken werden.


    Was ist das Backen?


    Mag sein das es in anderen Programmen anders genannt wird, aber das Prinzip ist immer das gleiche, heutige 3D-Programme besitzen mehrere Material-Kanäle, da gibt es wie folgt diese Kanäle.


    Farbe, der ist halt für die eigentliche Farbe eines Objekts da, egal wie das Objekt beleuchtet wird, es ist immer so wie es eingestellt wird, die Beleuchtung eines Objekts variiert hier dann nur die Helligkeit der Farbe, weniger beleuchtet würde eine Rote Wand halt dunkel Rot erscheinen lassen, heller beleuchtet würde sie Hellrot erscheinen.


    Diffus, dieser Kanal wird meistens als Schmutzkanal bezeichnet und auch so genutzt, dieser ist entweder eine Textur (Bild-Datei) oder ein Shader (ein Modul was ein Muster/Bild/Effekt generiert der halt Programmiert ist).


    Leuchtend, der Name sagt schon alles, egal wie ein Objekt beleuchtet wird, ob wenige oder viel, das Objekt erscheint immer in der hier eingestellten Farbe/Textur/Shader.


    Transparenz, nun auch der Name sagt wieder alles, hier wird festgelegt welche stellen vom Objekt durchsichtig sind, unterscheidet sich aber vom Alpha-Kanal, den Transparenz kann auch das Licht brechen.


    Spiegelung, auch der Name sagt wieder alles, die Umgebung spiegelt sich in dem Objekt was dieses Material hat.


    Umgebung, ist etwas ähnliches wie die Spiegelung, nur das hier diese nicht berechnet wird sondern durch eine Textur vorgetäuscht wird.


    Nebel, nun der Material-Kanal ist hier nicht relevant.


    Relief, der täuscht z.B. eine Rauhe Oberfläche vor, also Erhebungen und Vertiefungen.


    Normale, dieser ist wie der Relief, nur das die 3 Farbkanäle R/G/B korrespondierend für die Weltachse stehen, also X/Y/Z und so bestimmen in welche Richtung sich das Polygon im Raum verschiebt.


    Alpha, hier mit verschwindet das Objekt an einer durch eine Textur festgelegten stelle und alles dahinter ist dann zu sehen.


    Displacement/Verschieben, hier mit wird ein Polygon direkt im 3D-Raum verschoben, aus seinen Ursprung gebracht, wird meistens beim Sculpting verwendet.


    Was wird davon nun für ein Objekt gebraucht, mal sehen wenn ich das richtig verstanden habe.


    Ein Objekt in Cities-Skyline hat folgende Eigenschaften.


    1. RGB-Textur
    2. Alpha-Textur
    3. Farb-Textur für die Farb-Variationen die man im Asset-Editor ja festlegen kann.
    4. Illuminations-Textur, also eine Leuchtene-Textur, Objekte die halt leuchten.
    5. Normal-Textur, die halt Erhebungen und Vertiefungen sichtbar macht, also eine Oberflächen Rauheit/Struktur
    6. Glanz/Spiegelung-Textur, stellen an dem ein Objekt glänzt oder Spiegelt.


    Also all das sind nur Materialien, egal wie man diese nun zusammensetzt, am ende braucht man wenigstens eine Textur, die mit _d für Farbe/Diffus benannt ist, sonst erscheint das Objekt im Asset-Editor nur in Weiß.


    Wie bekommt man aus den Materialien eine Textur, dafür wird das schon oben genannte Backen verwendet, es ist eine Funktion in einem 3D-Programm was aus den ganzen Materialkanälen ein Bild generiert, genannt Textur.


    Wenn man denkt, super ich weiß wo die Funktion ist, dann Backe ich die Textur, und benenne sie entsprechend für die passende Textur-Art oder Typ.


    Aber so einfach ist das leider nicht, man muß vorher, das sogenannte UVW-Unwarpping durchführen, den es gibt neben den Polygonen für das Objekt auch sogenannte Textur-Polygone, diese wie man schon vermutet, beschreiben wo auf dem Objekt die Textur zum liegen kommt.


    Nehme nun mal ein einfaches Beispiel, einen Zylinder, dieser bekommt ein Material zugewiesen, als Textur-Projektion wird dabei, das UVW-Mapping genommen, also wo auf dem Objekt die Textur liegen muß, es gibt noch andere Projektions-Arten, Würfel, Zylinder, Flächen, Frontal u.s.w., diese sind einfacher Hand zuhaben.


    Dieses UVW-Mapping liegt auch im 3D-Raum und muß in den 2D-Raum überführt werden, also bei einen Zylinder würde man den in der längs Richtung aufschneiden und dann ausrollen, so das er zu einer Ebene geworden ist.


    Nun passt man dieses abgerollte/aufgeschnittene UVW-Mesh der Textur an, man erkennt ja alle nötigen Details, man kann auch am Objekt selber die passenden Polygone selektieren und bekommt automatisch so die korrespondierenden Textur-Polygone mit selektiert und kann diese dann auf der 2D-Textur passend verschieben.


    Hat man das nun soweit alles gemacht und sortiert, kann man anfangen die einzelnen Texturen zu Backen.


    Zu guter Letzt noch das Objekt selber mit der Dateiendung .fbx exportieren.


    Hier nochmal eine Auflistung, wie es dann im Import-Ordner aussehen sollte.


    Das Objekt selber bekommt als Dateiname, Objektname.fbx
    Alle Texturen für ein Objekt bekommen ein interne Ergänzung im Dateinamen


    Die RGB-Textur heißt, Objektname_d.xxx
    Die Alpha-Textur bekommt Objektname_a.xxx
    Farb-Textur bekommt Objektname_c.xxx
    Illumination bekommt Objektname_i.xxx
    Normal-Textur bekommt Objektname_n.xxx
    Glanz/Spiegelung bekommt Objektname_s.xxx


    Objektname steht für einen beliebigen Dateinamen den man verwenden möchte, bei den Texturen kommt noch dann die interne Erweiterung dazu, _d, _a, _c, _i, _n und _s und dann die Datei-Endung, das .xxx steht für .jpg oder .png


    Also nehmen wir mal ein Beispiel.


    Haus.fbx dann heißen die folgenden Dateien für die unterschiedlichen Texturen wie folgt, ich nehme hier mal png als Datei-Endung


    Haus_d.png
    Haus_a.png
    Haus_c.png
    Haus_i.png
    Haus_n.png
    Haus_s.png


    So hoffe es hilft einigen weiter, ich selber habe mich noch nicht so weit vorgearbeitet, meine Objekte sind noch Weiß im Asset-Editor.

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
  • Echt cool geschrieben. Aber nun stellt sich mir die frage wie mache ich das ganze mit den Texturen? Ich habe einen Textur heruntergeladen, diese ziehe ich auf ein Lambert in Maya, das ist eine art Pinsel dann wähle ich die Flächen aus wo die Textur hinkommt, wenn ich das getan habe, passe ich die Flächen an das die Textur nicht zu groß ist.


    So aber nun ist die Frage, muss ich die ganzen anderen dinge auch machen wie Alpha textur oder Farbtextur?

  • Nein musst du nicht, es ist nur eine Textur wichtig, die mit dem _d für Difuss, den diese enthält ja die komplette Farbtextur.


    Ups sorry, meine die RGB-Textur reicht aus, alle anderen z.B. die Normal-Textur dient ja wie beschrieben das die Optisch halt eine Oberfläche haben, sprich Strukturen aufweisen und nicht einfach nur Farbig sind, eine Ziegelwand sieht mit einer Normalen-Textur halt noch ein wenig besser aus.

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
  • Soll das Objekt aber z.B. bei Häusern verschiedene Farbvariationen bekommen, man kann im Asset-Editor ja 4 Farben festlegen, dann wird eine Graustufen-Textur benötigt, der Aufbau ist einfach, die Farbvariationen werden mit der Farbe der Diffus Farbe gemischt.


    So könnte man z.B. ein Futuristische Gebäude erstellen was generell Weiß erscheint und bekommt an bestimmten stellen eine andere Farbe, diese müssen in einer Masken-Textur dann halt zu 100% Weiß sein und der Rest halt Schwarz, was auch geht, stellen mit abgeschwächter Farbvariation, also z.B 50% Weiß was dann ja ein Grau ist, und so wird halt zu 50% die Original-Farbe in der Diffus-Map genommen und zu 50% die Farbvariation die man dann halt festgelegt hat.


    Hab das gerade mal getestet mit der Diffus-Map und der Color-Map, irgendwie wird dann die Farbe die man im Asset-Editor für die Farbvariation festlegt, dazu gemischt.

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
  • Also ich arbeite mich da gerade auch ein und für die Farbvariationen wird keine Textur zwingend benötigt, ohne einer Datei wo der Name auf _c endet, greift die Farbvariation aufs gesamte Objekt.


    Also für ein Objekt ist nur eine RGB-Textur zwingend erforderlich, also die Datei wo der Name auf _d endet.

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
  • Das ist ganz einfach, die UVW-Polygone passen nicht zur Textur oder umgekehrt, die Textur paßt nicht zu dem UVW-Mesh deines Objektes.


    Du mußt es im 3D-Programm öffnen, das UVW-Mesh muß abgewickelt werden, es dürfen sich keine UVW-Polygone überlappen, den dann überlappt auch die Textur an diesen stellen.


    Ist die Textur an einer stelle am Objekt verzerrt, dann sind nicht die Polygone des Objekts daran schuld sondern die Abmessungen des UVW-Polygons was für die Textur an der verzerrten stelle zuständig ist.

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
  • Ok warum es nicht klappt kann ich im Moment auch nicht sagen, vielleicht ist doch noch irgendwo ein Fehler in den UVW-Polygonen.


    Hier mal ein paar einfache Bilder.



    Links sieht man das Objekt im 3D-Raum, rechts dazu die UVW-Polygone und der bereits gebackene Material-Kanal, leider sieht man rechts, die UVW-Polygone nicht ganz so gut, die im linken Bild ausgewählt worden sind, wenn man genau hinsieht geht es aber schon.


    Man sieht in der 3D-Ansicht deutlich das 8 Polygone ausgewählt sind, diese korrespondieren mit den passenden UVW-Polygonen, wenn man sich das Bild rechts näher betrachtet, sieht man allerdings das dort nur 3 UVW-Polygone ausgewählt sind, das liegt daran, das sich hier die UVW-Polygone halt überlappen oder sogar deckungsgleich sind, das bedeutet das 5 weitere UVW-Polygone den selben ausschnitt der Textur darstellen, dies bedeute das auf dem 3D-Objekt sich an den korrespondierenden Polygonen, die Textur wiederholt.



    Hier habe ich einfach mal die ausgewählten UVW-Polygone an die Textur-Größe anpassen lassen, die UVW-Polygone ragen nun in den nicht genutzten Texturbereich hinein und auf dem 3D-Objekt werden diese halt an den stellen verzerrt und stellenweise Schwarz dargestellt.



    Hier habe ich einfach mal die UVW-Polygone von der 3D-Software entsprechend verteilen lassen, links sieht man wieder das resultat am 3D-Objekt, nun dieses entsprechende UVW-Unwarpping, also aufklappen, bringt natürlich kein so tolles UVW-Mesh hervor, im Fall der 3D-Kugel könnte man diese aber nun exakt bemalen.


    Was auch geht man kann eine Textur entsprechend laden und dann jedes einzelne UVW-Polygon an die gewünschte Position auf der Textur verschieben und natürlich auch in der Größe anpassen, man kann auch mehrere UVW-Polygone auswählen und diese dann positionieren und in der Größe ändern.


    Im Fall der von mir genutzen Kugel, muß man nun die Textur, oder besser das Original-Material nochmals mit dem neuen UVW-Mesh backen, das Resultat sieht man im folgenden Bild




    In dem nun letzten Bild habe ich nochmals 8 Polygone vom 3D-Objekt ausgewählt und rechts sieht man wieder die korrespondierenden UVW-Polygone.


    Ein Objekt für Cities-Skylines muß aus einen einzigen Polygon-Objekt bestehen, was man machen könnte, jedes einzelne Objekt als Requisite in Cities-Skyline erstellen und dann daraus das Gebäude erstellen, ob das klappt weiß ich nicht, ist nur eine Idee.


    Der Detailreichtum eines Objekts/Gebäude hängt von der Textur ab, in meinen Beispiel habe ich eine Texturgröße von 4096 x 4096 Pixel, also 16,7 Mega Pixel.


    Was man auch machen kann, was etwas aufwendig sein mag, man Rendert das Objekt, oder die Objekte aus folgenden Ansichten, von vorne, links, rechts, hinten und oben, von unten sieht man das Objekt ja im Spiel nie, den so werden ja alle Ansichten in 2D gerendert, man hat dann 5 Bilder, nun nimmt man ein 2D-Grafikprogramm, und lädt die Bilder und schneidet alle Bildsegmente aus und fügt diese wieder ein ein großes gesamt Bild wieder zusammen, nun hat man quasi ein Bild in den man das Objekt von allen Seiten sieht.


    Jetzt geht man wieder in das 3D-Programm und lädt diese manuell erstellte Textur, nun wählt man die Objekt-Polygone entsprechend von der Seite aus die man haben möchte, z.B. von der linken Seite, es sollten dann auch die korrespondierenden UVW-Polygone automatisch mit ausgewählt werden, nun kann man diese an die gewünschte Position auf der Textur verschieben und natürlich entsprechend in der Größe noch anpassen, so das halt die gewünschten UVW-Polygone genau den Texturbereich abdecken, aber auch hier ist es von Vorteil wenn man das UVW-Mesh entsprechend aufgefaltet hat, z.B. als Würfel, den die 5 Bilder ergeben ja im Grunde genau die gleiche Ansicht wieder, von allen 6 Seiten normalerweise, da man aber wie schon gesagt, das Objekt ja nie von unten sieht, sind es ja nur 5 Bilder aus den dann die gesamt Textur zusammen gesetzt worden ist.


    Wichtig ist dabei auch, das die 5 Bilder alle mit der gleichen Auflösung gerendert werden, und diese sollte sowohl in der Breite als auch Höhe identisch sein, z.B. 2048 x 2048, den so hat man genug Details und wenn man die dann verkleinern muß, ist da genug Spielraum.


    Welche endgültige Größe man für die gesamt Textur nimmt, bleibt einen selber überlassen

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
  • Kann es ja versuchen


    Denk aber daran das du alle Shader in den Leuchtkanal legst und diese dann renderst, den sonst hast du diese Schattierungen von der Lichtquelle, aber Texturen sind konstant beleuchtet.


    Kannst wenn du möchtest, mir auch das komplette Objekt im OBJ-Format schicken, den 3DS-Dateien kann ich bei mir nicht öffnen weil ich Maya nicht nutze, ich verwende Maxon Cinema 4D

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
  • ts=teamspeak habe ich nicht, sorry

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
  • achso nicht schlimm , ist nur deswegen ich gebe ungerne meine Modell raus weil mir wurde schon einmal eins deshalb "geklaut", vielleicht bist du anders hoffe ich, wenn ja schicke ich dir die Datei plus Texturen

  • Ich mach damit kein schmu, warum auch, aber kann dich gut verstehen, und wie gesagt, was das Modelling angeht habe ich auch nichts vor da was für Cities-Skylines zu machen, bin aber gerne bereit halt zu helfen und gespannt wo der Fehler in deiner Datei ist oder besser in deinen Dateien.

    MainboardMSI X99A XPower AC
    CPUIntel Core I7-5930K 3,70 GHz (6/12)
    ArbeitsspeicherG-Skill F4-2400C15Q2-64GRK (nur 32 GByte in Verwendung)
    GrafikkarteMSI GForce GTX-970 Gaming 4G
    BetriebssystemWindows 10 Pro
    ProgrammeBlender 3D 4.0, GIMP 2.10, Word & Excel
    SpieleCities-Skylines Deluxe-Edition, Cities Skylines 2 Ultimate-Edition, Planet Zoo, Planet Coaster, Per Aspera, Surviving Mars, Infraspace, Transport Fever 2, Portal 1 & 2
  • Ich mach damit kein schmu, warum auch, aber kann dich gut verstehen, und wie gesagt, was das Modelling angeht habe ich auch nichts vor da was für Cities-Skylines zu machen, bin aber gerne bereit halt zu helfen und gespannt wo der Fehler in deiner Datei ist oder besser in deinen Dateien.



    Kannst du mit deinem Programm auch Rendern? wenn ja kannst du es ja machen, bekomme es mit dem Licht nicht ganz so hin, hast dann ne Mail bekommen