3
$\begingroup$

i just have a question that i couldn't solve myself. The thing is i started to use substance designer and get my own custom textures from there, but the normal map it generates is transparent. I do know how to change it from transparent to non-transparent image but the transparent map looks better in my case. Anyway, in the cycles render whenever i render my object, there will be lighting issues. I am pretty sure the normal map is making this problem. Please i need this question to be answered asap. Here are some pictures of the issue and the transparent normal map. P.S The map is a png file and the light is smack right in the middle, so one half is lit up and the other isnt.In Cycles Renderenter image description hereThis is the "transparent normal map"

I also found out that the glossy shader is broken with this kind of normal map, there is a "void" in the reflection which moves with the camera:

$\endgroup$
0

1 Answer 1

2
$\begingroup$

From what I'm seeing in other discussions about this around the web (1, 2), Substance Designer embeds a height map in the alpha channel of the normal map PNG. In other words, the way Allegorithmic is using it in their normal maps "alpha" means height/bump, not transparency.

Theoretically this is convenient because only one PNG needs to be loaded into memory to provide both height and normal data. In practice some render engines, including Cycles will be confused by this, as Cycles quietly passes the alpha channel along with the RGB data. Cycles does not anticipate RGBA data being fed into a normal input socket - it expects RGB only.

The way to strip that out is by using a Separate RGB node, followed by a Combine RGB node. Then you can connect that RGB normal data as usual.

If you will be doing this often you might want to Group these nodes together and save that group in your startup .blend.

Now what about that alpha channel containing the height data? Let's not let it go to waste. Here's how to use both height and normal data together in Cycles.

Remember to specify that the image texture is of the type "Non-Color Data".

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .