Bumpmap zu Normalmap

  • Hi,
    ich wollte mal fragen ob einer von euch schon mal versucht hat, direkt im Material aus einer Bumpmap oder einer Base Colormap eine Normalmap zu erstellen.


    Grund dieser Frage ist, ich habe einige Texturen rumliegen wo ich jeweils eine Base colormap besitze und eine Bumpmap, also die Bumpmap ist nichts anderes als eine Grayscale map, also Schwarz und Weiß.
    Nun dachte ich mir, hey ich kann ja vielleicht direkt im Material die hellen und dunklen Bereiche in eine Normalmap umwandeln lassen, so könnte ich mir das erstellen einer Normalmap per PS ersparen. (Jedenfalls bei einfachen Texturen)


    Ich würde also gerne eine Schwarz/Weiß Map so umwandeln das nachher eine Normalmap dabei heraus kommt.
    Ich dachte mir, das kann ja nicht so schwer sein und habe gleich mal mit BumpOffset rumgespielt aber auch wenn die Funktion richtig aussah, kam ich damit nicht zum Ziel.


    Leider habe ich im WWW auch nichts gefunden was mir weiter geholfen hat.


    Daher mal die Frage an euch ob schon mal jemand mit der Umwandlung von Black/White in Normal in Materialien Erfahrungen gesammelt hat oder vielleicht eine Lösung kennt.



    Sollte das Funktionieren wäre der nächste Schritt aus einer Basecolormap eine Black/White zu erstellen und diese dann als Normal umzuwandeln.
    Wenn sowas gehen sollte kann man ganz entspannt aus einigen Texturen Normals erzeugen ohne immer großartig in PS neue Normals zu erzeugen.


    Wäre cool wenn jemand da ne gute Idee hat.

  • Hallo
    Die Möglichkeit besteht und ist auch durchaus einfach.
    Wenn du mit Fotoshop arbeitest hast du die Werkzeuge ohnehin, die sind, glaub ich, über ein NVidia Plugin, enthalten.
    Für Gimp gibt es ebenfalls ein Normal Plugin. Ich habs mir damals aus dem Netz geholt, kann sein, dass es in der neueren Version von Hause aus implementiert ist. Einfach mal Googeln.
    Ich habe mir die Allegorithmic Indie Werkzeuge geholt und kann das nur dringend empfehlen.
    Gruß Michael

  • @Artful3D Ja das weiß ich doch, aber genau das möchte ich NICHT machen, ich würde gerne wissen ob es möglich ist sowas direkt im Material von UE4 umzuwandeln.


    @Inmatic Jap BumpOffset scheint der falsche weg zu sein, ich bin mir aber sicher das man sowas bestimmt hinbekommt, die Frage ist nur wie.


    @Sleepy Hab gerade keins parat, sollte aber auch irrelevant sein. Stell dir einfach vor du hast eine schwarze Textur und in der Mitte ist ein weißer Kreis. Jetzt wollte ich gerne versuchen diese Schwarz/Weiße Textur in eine Normal umzuandeln. Einfach die Höheninformationen.
    Wie eine Heightmap die du in Substance generieren kannst, also eine Heighmap in eine Normal umwandeln und das mit den Funktionen die UE4 einen im Materialbereich zur Verfügung stellt.

  • Mag sein das ich grad eine Möglichkeit gefunden habe.


    Ich werde es heute Abend mal testen.


    [Blockierte Grafik: https://docs.unrealengine.com/latest/images/Engine/Rendering/Materials/Functions/Reference/Procedurals/NormalFromHeightMap_Demo.jpg]

    • Offizieller Beitrag

    Okay das reicht mir :)


    Wenn du einen plötlichen überrang von Komplett schwarz zu weiß hast dann gibt es bei der Umrechnung wenig Möglichkeiten eine schöne Normal zu generieren. Um also eine schöne Normal zu bekommen brauchst du einen sanften Verlauf von Schwarz zu Grau von Grau zu schwarz. Um so weiter der Übergang ist umso schöner sieht die Normal aus.


    Wenn du eine Harte Schwarz/Weiß Textur vervwendest wie diese hier:
    [Blockierte Grafik: http://www.blender-models.com/wp-content/uploads/2.png]


    Was du tun müsstest wäre ein Bevel drauf zu machen einen schöneren Übergang von Schwarz zu Weiß zu bekommen. Es reicht auch schon wenn der Bevel minimal ist und was nicht zu erkennen.

  • Jap Sleepy, da hast du recht, das harte weiß/schwarz war auch nur als Beispiel gedacht, normalerweise ist die Bump ja wie oben auch geschrieben Grayscale.
    Dementsprechend ist das alles OK, die Frage galt ja eher der Technik wie man das in UE4 umsetzt und weniger der Quali der Heighmap bzw. Bumpmap.


    Habe da ja nun wohl auch eine Lösung gefunden, jedenfalls sieht es extrem nach dem aus was ich gesucht hatte.
    Ich glaube ich hatte sogar diese Funktion schon mal in den Fingern nur hatte ich mich gewundert das nur Schrott dabei raus kam.


    Der Grund war wohl das ich die Intensity und das Offset nicht mit Constanten gefüllt hatte, also man lernt daraus, das man sich vielleicht mal die UE4 Dokumentation zur Funktion durchlesen sollte wenn man denkt das richtige in den Fingern zu haben.


    Sage euch nachher obs klappt, sofern es kein anderer vor mir macht.


    PS: Ist doch toll, wenn man Base Color Maps in Grayscale umwandelt kann man auf diese weise direkt Normalmaps im Material erzeugen ohne den Umweg über PS oder Gimp zu nehmen.
    Einfach Mat duplizieren, Textur austauschen, an ein paar Werten drehen bis es passt und fertig.


    Sehr schöne Sache das.
    Der Mateditor von UE4 kommt schon sehr nah an Substance Designer ran, abgesehen von ein paar coolen Features von Substance natürlich.

  • Es war ein hartes Stück rumgefummel aber ich habe es tatsächlich hinbekommen.
    So einfach wie es da oben steht ist es nun doch nicht.
    Es geht zwar aber das Problem ist bei der Variante kann man die Textur nicht mehr Tilen sondern nur 1 zu 1 umwandeln.


    Also musste ich eine Materialfunktion erstellen und nun gehts mit Tiling.


    Hier das Material und die Funktion


    Hoffe Ihr könnt das gebrauchen, falls das wer optimieren kann dann immer her mit den Posts :)