Fragen zu texturieren / mapping u. allg. Workflow

  • Hallo an alle!


    Texturieren ist meine größte Schwäche aktuell und Ich wollte hier mal ein Thema für mich erstellen wo ich all meine Fragen die ich habe (und noch bekommen werde) stellen kann.


    Vorab: ich arbeite nur mit Blender, heißt modellieren, sculpten und texturieren mach ich alles in Blender.


    Ich komm dann auch einfach mal zu meiner 1. und größten Frage! :D


    Hier mal 2 Beispielbilder: (müsst ihr anklicken für die volle Größe) :D


    Normal -> Diffuse -> Finalrender





    Wie genau wurde hier texturiert bzw wie wurde hier vorgegangen?

    Also wie bekommt man es hin dass die Colormap so mit der Normalmap übereinstimmt?

    Ich selbst erstelle immer erstmal das Highpoly und sculpte dann solche Details mit einem TextureBrush zB. und dann bake ich die Normalmap. Wenn ich dann die Colormap mache und einen Brush zB mit einer Skintexture anfange drauf zu malen dann kann es ja nicht mit den Strukturen der Normalmap übereinstimmen.


    Ich hoffe man kann mir folgen, denn ich tue mich immer schwer sowas richtig rüber zu bringen. :D


    Hier mal ein anderes Beispiel:



    Es wurde doch ganz bestimmt nicht jedes Haar einzeln nachgezeichnet oder???


    Ich lasse es erstmal so stehen, ich hoffe man kann mir diese Frage beantworten.

    • Offizieller Beitrag

    1.Hier wurde vermutlich erst das Highpoly erstellt und dann die Normal auf ein Lowpoly gebaked

    2.Damit das Licht so auf die Textur wirken kann, wurden noch weitere Maps verwendet. Damit du diese Maps erstellen kann, brauchst du dafür die Normal.

    3.Für dich ist es also erstmal wichtig ein Highpoly zu haben, eine gute UV Map damit darauf eine gute Normal gebaked werden kann. Hat deine Normal bereits Fehler, werden auch alle anderen Maps diese Fehler haben.

    4.Nun hast du die gute Normalmap und kannst daraus weitere Maps baken, die quasi über deine Textur gelegt werden.


    Thickness map

    5.Eine Möglichkeit wäre beispielsweise die Thicknessmap bei der der Baker sich das Mesh anschaut wie dick die einzellnen Mesh Bereiche sind. Finger sind dünner wie ein Arm der Kopf ist ingesamt dicker als der Fuß wobei die Ohren wiederum dünner sind.

    Hierbei werden nun die dünnen Parteien deines Meshes als Schwarz gebaked und deine dicke als Weiß

    Was entsteht ist im grunde eine Gradient map zwischen Dünn (Schwarz) und Dick (Weiß)


    Aus dieser Map kommen die deutlich Helligkeitsunterschiede zustande die du bei dem Dino siehst.

    [Blockierte Grafik: https://support.allegorithmic.com/documentation/spdoc/files/142213479/142213478/1/1449762709043/alien_hunter_thickness_from_mesh.jpg]

    Um diese Map zu Baken brauchst du wie gesagt eine gute Normal da diese Map sonst fehlerhaft gebaked wird.


    6.Normal


    Wichtig ist natürlich auch die Normal. Durch die Normalmap weiß die Engine welchere Bereiche rein und welche Rausgehen.
    Aus Blender kennst du sicherlich die XYZ Positionen deines Viewports die werden dort sicherlich mit den Farben Z = Blau X= Rot und Y = Grün dargestellt. Nun wird dir vielleicht bewusst das dies auch die Farben der Normal ist. Ist die Normal eines Faces in X Richtung gedreht so wird dies als Rot in die Normal reingeschrieben. Ist etwas in Y Richtung gebogen wird dies in Grün reinbogen. Z ist hierbei wichtig, den Z ist immer die Tiefe (In manchen Programmen werden Z und Y getauscht aber Z ist imemr die Tiefe)

    Was in der Z Achse ausgerichtet ist, ist in der Normal nicht dreidimensonal deswegen wird hier einfach nur Blau (Z) gebaked)

    Unreal und andere Programme schauen sich nun die Normalmap an und können draus interpretieren wie sie das Licht an den jeweiligen Stellen zurück schmeißen müssen das es entweder so aussieht als ob ein Knopf reingeht oder rauskommt.

    Nun bist du vielleicht in der Lage eine Normal zu lesen und zu verstehen :)


    Curvature

    7.Aus der Normal heraus kann nun die Curvature gebaked werden,

    Wenn du in einem Hellen raum auf die Tischkante schaust, wirst du feststellen das die Tischkante heller ist oder sie sogar leuchtet. Wichtig hierfür ist, das die Tischkante einen runde Kante (Bevel) hat. Ist die Tischkante abgesägt siehst du diesen Effekt nicht.


    [Blockierte Grafik: https://www.holzgespuer.de/wp-content/uploads/2018/10/5-1-Kasimir-Tischkante-Rund-Nussbaum-1.jpg]


    Damit die Curvature korrekt berechnet werden kann, sind also die Normal Informationen wichtig.

    Die Curvature zeigt also im Prinzip an wie viel Licht an einer runden Stelle auftreffen und wie stark dieses Licht reflektiert wird.


    Alle diese Maps zusammen ergeben dann so ein Dino wie oben mit helleren und dunkleren Stellen.



    Bei dem zweiten Bild, wurden die Haare wahrscheinlich nachträglich aufgemalt hierbei wurde sowohl in die Normal als auch in die Diffuse gezeichnet. Mit dem Substance Painter geht das beispielsweise sehr gut das mit in zwei Channels malen tut.

  • Danke, aber irgendwie beantwortet das ganze nicht meine Frage :(


    1. ich schreibe mal wie ICH zB vorgehe bzw ich es gelernt habe durch Tutorials.

    - Base Mesh modellieren

    - Subdivider drauf und dann Details sculpten, erst grobe wie zB die allg. Form, dann Muskelstränge und zum Schluss mit Brushes Details wie die Falten und Hautstrukutur, bei den Dinos ja zB die Schuppen.

    - Dann mach ich ein Retopo und die UV

    - Dann Bake ich die Normalmap vom Highpoly auf das Retopo - Dadurch erhalte ich ja schonmal die Normal mit all den Details und mein Lowpoly sieht aus wie mein Highpoly-Modell.

    - SO, dann würde ich halt texturieren (also mit Farben/Texturen)...

    - Specular- und Glossymaps mach ich dann auch noch. (aber das erstmal Nebensache)


    2. Das Resultat was dabei dann raus kommt ist aber nicht die Qualität die ich gern hätte.

    Wenn ich andere Modelle vergleiche dann sehen diese doch qualitativ besser aus.


    hier einfach mal schnell ein Screen von meinem Resultat.. nachher kann ich vielleicht genauere Details




    3. Bei meiner Arbeit stört mich halt am meisten dass die Textur (Diffusemap) einfach zu einfach aussieht. In diesem Fall habe ich alles Handpainted mit paar Farbtönen.

    Denn wenn ich eine Textur benutze zum texturieren damit es auch einfach realistischer aussieht wie zB diese hier: (Nur eben schnell als Beispielt rausgesucht)

    Dann fällt mir halt auf dass ja die Struktur mit der Normalmap nicht übereinstimmt... weißt du/wisst ihr was ich meine??


    Ich habe es ja oben auf den Beispielbildern ROT EINGEKREIST was ich meine.


    Denn bei den Beispielmodellen ist dies immer der Fall.


    Hier mal ein Link von Sketchfab, da kann man ja genau sehen durch "Model Inspector" wie die einzelnen Maps ausehen. Und mehr als eine Diffusemap und Normal ist da ja auch nicht.

    Die ganzen anderen Maps die du empfohlen hast benutz dieses Modell ja nichtmal.

    https://sketchfab.com/models/5…9949c4327b82da74f61c1f13a


    könnt ihr ja analysieren und verstehen was ich meine, ich weiß nicht wie ich es anders ausdrücken soll, sry :D



    Zitat

    Aus Blender kennst du sicherlich die XYZ Positionen deines Viewports die werden dort sicherlich mit den Farben Z = Blau X= Rot und Y = Grün dargestellt. Nun wird dir vielleicht bewusst das dies auch die Farben der Normal ist. Ist die Normal eines Faces in X Richtung gedreht so wird dies als Rot in die Normal reingeschrieben. Ist etwas in Y Richtung gebogen wird dies in Grün reinbogen. Z ist hierbei wichtig, den Z ist immer die Tiefe (In manchen Programmen werden Z und Y getauscht aber Z ist imemr die Tiefe)

    Was in der Z Achse ausgerichtet ist, ist in der Normal nicht dreidimensonal deswegen wird hier einfach nur Blau (Z) gebaked)

    Danke dir :D jetzt weiß ich jedenfalls wie eine Normalmap überhaupt technisch funktioniert :D

    Was diese ja genau machen soll weiß ich ja schon.

  • Du texturierst in Blender, oder?

    Versuchs mal mit nem Malprogramm, zu kannst da ne neue Ebene / Folie oder wie es sich nennt erstellen und dann über der Normalmap malen, somit wäre schon mal das Problem der nicht zusammen passenden Texturen behoben, ob es danach besser aussieht, hängt von deinen Fähigkeiten ab^^


    Aber was weiß ich schon, ich hab in Blender immer das Modell komplett schwarz angemalt und dann weiße Details rein gemalt, danach mit nem externen Programm (Name vergessen), daraus ne Normalmap erstellt und die Normalmap als Fell benutzt...

    Ist aber auch schon ein Jahr seit dem letzten Mal her.

  • Dann probier es mal mit dem Programm:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Du lädst deine "Base Color" Textur ins Programm und erstellst alle weiteren daraus (in deinem Fall: Normal Map). Diese kannst du dann verwenden und in blender laden und "müsstest" die Details die aus der BaseColor generiert wurden als eine Normal Map haben.


    Feinheiten und Grobes kannst du im Programm wunderbar einstellen und es direkt PBR sehen. Probier es doch einfach mal aus :)

  • ich wollte nicht unbedingt Geld dafür ausgeben :D


    Und so ein Programm wie Materialize hilft mir da doch auch nicht viel... Denke sowas ist ja nicht für gesculptete Modelle...

    Dann würde ich ja ein Highpoly Mesh haben und ne normal backen und dann nochmal eine Normal aus der Textur backen?? Geht sowas überhaupt das man dann 2 Normals hat und die sich überlappen? Bezweifle ich iregndwie und habe ich auch nirgends gesehen..

  • Hier dann mal eine andere Formulierung meiner Frage


    Ich habe mir einen Drachen Modelliert und an diesen jetzt angefangen Details zu sculpten.


    So sieht akutell mein Retopo aus, also mein Basemesh:


    Und so mit der bisher erstellen Normalmap:


    Ich würde halt jetzt noch weiter sculpten und zB Schuppen mit solch einen Brush (nur als Beispiel) erstellen.


    Und wie würdet ihr dann weiter machen?
    Also wie bepainte ich nun das ganze am besten damit es auf solch ein Ergebnis wie hier ja zB kommt:

    https://sketchfab.com/models/5…9949c4327b82da74f61c1f13a


    Ich meine wie bei meinem T-Rex zB, da habe ich dann einfach per Hand das ganze irgendwie angemalt so ohne Texturen wie ich es auf einer Zeichnung machen würde :D
    Das Endergebnis sieht dann aber nicht so gut aus. Die Schuppen stechen gar nicht raus.

    Wenn ich das ganze mit einer Textur bemale (Texturepainting) dann habe ich persönlich halt das Problem dass die Textur dann halt einfach nicht mit der Normal zusammen passt..........

    Vielleicht sollte ich einfach mal ein Video machen wenn ich weiterhin keiner versteht was genau mein Problem ist.



    Und mit solchen Sachen wie aus der Textur eine Normalmap machen durch zb "Materialze". Ja das kenne ich und mache ich auch aber sowas bringt ja mehr bei statischen Objekte was.
    Oder erstellt ihr Charaktere (Lowpoly) und MALT euch die Details wie Falten und macht daraus eine nomalmap? :D Sowas würde ich vielleicht bei einer gemauerten Wand machen ja, denn da macht es ja auch Sinn, denn ich sculpte mir ja nicht vorher jeden Brick einzeln.




    EDIT:

    Eine Möglichkeit die ich kenne wäre, ich mache ein Highpoly Mesh ohne kleine Details (Schuppen) sondern halt einfach nur ein Hochauflösende Versionen. Mache dann ein Retopo und back die Normal, dann bemale ich es mit einer Schuppentextur zB und aus der entstandenen Colormap kann ich ja dann eine Bumpmap machen....
    Allerdings macht dass ja aber irgendwie keiner, muss ja einen Grund haben. Und ich habe es auch schon auf diese Weise gemacht aber das Ergenbnis ist naja,,,, eher bescheiden.

    • Offizieller Beitrag

    Ich bin mir immer noch nicht sicher ob ich dein Problem verstehe:


    1.Du erstellt ein Brush mit den Schuppen wie bei dem Dino

    2.Nun stempelst du die Schuppen auf. Hierbei stellst du den Pinsel bei Opacity, Scale und Rotation auf Randam

    3.DU kannst auch verschiedene Schuppen Materials verwenden. (Größere und kleinere)

    4.Durch Opacity verschmelzen die Materials zu einem Material zusammen und man sieht keine Übergänge.


    Bei dem TRex sieht man doch sehr deutlich das eher verschiedene Materials verwendet hat. Am schwanz ist das Materials eher wie Leder und auf dem Rücken sehr groß und grob. Bei den beinen ist das eher ein Schlagen muster.

    Durch die Rotation sieht jeder Stempel anderst raus.

  • sowas bringt ja mehr bei statischen Objekte was.

    Und ein Dino ist kein statisches Objekt? Wo soll den da der Unterschied liegen?

    denn ich sculpte mir ja nicht vorher jeden Brick einzeln.

    Die Methode ist nicht verkehrt, wen Abwechslung drin sein soll.



    Ich hätte dir genau so wie VjaceslavT vorgeschlagen Materialize zu benutzen.

    Dann sitzt die Normal da wo die Details auch aufgemalt sind.

    Und dann könntest du noch versuchen die Normal, die du aus deinem Highpoly gebacken hast mit der aus Materialize in der Unreal Engine zu überblenden. Leider fällt mir da gerade nicht der richtige Überblendungsnode für Normals ein.

    Ansonsten wirst du deine Modelle an die Normal anpassen müssen. Besser gesagt die Texturen oder Bemalung der Normal anpassen. Falls du also schon Schuppen gesculptet hast, ist das eine ewig dauernde Fleißarbeit. Da kann man aber lange Zähne bei bekommen.


    Probiere es einfach aus und wenn es dir dann immer noch nicht gefällt, kann man das Problem weiter eingrenzen.

    Ansonsten wirst du nur mit einem Programm weiterkommen das dir gleichzeitig die Farbe/Textur aufträgt und auch die Normal/Hight.

  • Dank @VjaceslavT habe ich erstmal eine Möglichkeit die ich ausprobieren kann. Und zwar vom Highpoly die AO baken und diese dann in die Base Color mit einbinden.


    Hätte dann noch eine Frage zu Substance Painter. Ich sehe auf der Seite nur Lizenzen die man monatlich oder Jährlich zahlt.. Kann man nicht mit einem Festpreis einfach eine Version kaufen die man dann auch für immer hat? Und wenn ja wie/wo?

    • Offizieller Beitrag

    Hätte dann noch eine Frage zu Substance Painter. Ich sehe auf der Seite nur Lizenzen die man monatlich oder Jährlich zahlt.. Kann man nicht mit einem Festpreis einfach eine Version kaufen die man dann auch für immer hat? Und wenn ja wie/wo?

    Bei Allegorithmic und wenn du die Indie Version nimmst ist das kein Cloud payment sondern eine Ratenvereinbarung und am Tag X gehört die Software dir.



    Das ist vor allem für selbständige praktisch da sie so die Software Monatlich statt jahrlich abschreiben können.


    Wie das genau geregelt ist solltest du besser selber nachlesen aber soweit ich das noch weis, ist das in den FAQ der jeweiligen Lizenzen beschrieben.


    zb: https://www.allegorithmic.com/faq-substance

  • Naja, der Painter ist ein spezialisiertes Programm und kein All in one Paket, da sind die Preise in der Regel niedriger angesetzt.


    Eine (komplette) 3D Allround Software kostet auf jeden Fall 4 stellig und meistens steht da keine 1 vorn, während spezialisierte Software wie z.B. fürs Sculpten oder Texturieren oft kleine bis mittlere dreistellige Beträge kosten.


    Für viele gibts inzwischen auch Abo-Modelle und einige bieten um bestimmte Features abgespeckte Versionen billiger an.

    Da muss man eben schauen ob man die Features jetzt unbedingt benötigt.


    Wenn es sich dann noch um Einschränkungen wie keine kommerzielle Nutzung (üblicherweise bei Schüler-/Studentenversionen) handelt, sollte man sich das gut überlegen.

    • Offizieller Beitrag

    Auszwei gründen:

    1.Weil es ein planares Mapping ist

    2. Weil es Sinn macht


    1. Du hast sicherlich ein Automatisches Mapping oder ähnliches genommen. Beim Automatischen Mapping (Cube Mapping) werden die UVs meist aus 5 Richtungen erstellt.


    a) von oben

    b) von Links

    c) von Rechts

    d)von vorne

    e)von Hinten


    Da du ein Zilinderisches Objekt hast, entsteht beim Mapping von oben ein Kreis. So als würdest du von oben Orthogonal draufschauen.




    2.Du willst sicherlich dass eine gerade Linie entsteht ?

    Dabei er gibt sich ein Problem: Den beim Zylinder sind die Edges die im Moment bei dir verbunden sind unterschiedlich lang.






    Wenn du mehre solcher Trapeze verbindest, entsteht da ganz automatisch ein Kreis.




    Nur so lassen sich alles Seiten schön aufklappen oder du lässt den Kreis.


    So sieht das ganze dann mit einer Checker Textur aus: