Home Adobe Substance

Substance Designer - How to approach recalculating the normal map?

polycounter lvl 4
Offline / Send Message
gojushin polycounter lvl 4
Heya Polycounters!

I am currently working on a node which takes all kind of textures as input and outputs the same textures just tiled and eliminates the visible tiling.


(Proof of Concept, using normalmap created from heightmap)

I have got it working for really just any other texture input (Color, Height, Roughness, Ao, Metallic) but currently I am stuck with the Normalmap.

Since i take patches from the existing normalmap and rotate them with a tile sampler in just any kind of direction the normal map is now technically horribly wrong since the normal coordinates are pretty much broken now:



The closest i came to a solution (besides just creating a new normal map from the heightmap), is converting the exising normal map back to a height map and then to a Normalmap (WorldSpace).
Sadly the result is not really desirable.



So to conclude i am really just looking for a way on how to (in Designer) recalculate the normal map from an existing normal map to fix the vector rotation of each patch.

I think it comes down to either editing the Tile Sampler I use to also rotate the vector of each tile, or recalculate the entire normalmap.

If any of you knows any kind of approach, lemme know :)

Replies

  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    its much easier to use height

    however, if i was stuck having to do this i would hack the tile sampler rotate the normal map into the correct orientation. the maths aren't particularly horrible and you can check inside the normal rotate node to see how they work
  • gojushin
    Offline / Send Message
    gojushin polycounter lvl 4
    poopipe said:
    its much easier to use height

    however, if i was stuck having to do this i would hack the tile sampler rotate the normal map into the correct orientation. the maths aren't particularly horrible and you can check inside the normal rotate node to see how they work
    Thanks for your answer @poopipe !!

    I tried that allready, but the main problem with it was that the "normal rotate" makes use of a pixel processor, while the tile sampler utilizes an fx-map. Sadly as far is i know they don't work together (I might be wrong there though!).

    I ended up converting the normal into a height and then back to a normal again after tiling. (Like i mentioned, i tried that before, but my results got a lot better after i realized, how the "Normal to Height"-Node works technically and how important it is to use the correct normal map format with the "normal to height"-node (I did not think it could be responsible for the super weird artifacting))
Sign In or Register to comment.