I asked these questions five days ago on the "official" Substance forum and receive 0 replies. I'll try here.
----
I've gone through some tutorials and done some experimenting, but had a couple of questions about creation and usage of height and normal maps.
My (limited) understanding is that when you are painting "normals" you are actually painting grayscale height maps, and that information is being converted on the fly to normal maps. Is that correct?
Is it standard workflow to paint into the heightmap channel, and use normal stamps in the normal channel? And alphas in the heightmap channel?
When I output the final textures, in most renderers you plug the rgb normal map into the tangent normal for your material. You could use the height map for displacement, yes? Is there any benefit to trying to combine the normal and the heightmap for the bump channel? In Redshift for instance, when you are using displacement it also applies bump map information automatically for finer details. So could the output heightmap be used for both displacement and in the bump channel?
Any pointers appreciated.
Replies
A normalmap stores three values as it stores a three dimensional vector. Thus you can't simply paint it.
Now here is the trick. To be able to store information in the normalmap without having to paint a normalmap you can - as you already said - paint a highmap and convert it through some program logic into a normal map.
If you WANT to do this is up to you. If you want to use a displacement map instead of a normal map then screw the normal map. If you only have a normalmap then transport all heightmap information to your normal map. And if you want to use both then author both maps.
You have to be aware of how your data ends up in the map. But this depends on the software. So you could stamp a normalmap stamp on a heightmap if the software knows what to do. Important is only what's coming out of it:
Is it a one dimensional information (like height) or maybe a three dimensional information (like a 3d-vector) or something else.. who knows..
Hope this helps and wasn't not too confusing
Or maybe another way to say that is if you have the capability to output a normal map, is there any reason to also generate a heightmap, if you're not going to use it for displacement?
-Yes specifically in substance painter we are painting in height channel because its easy to work in grayscale than in rgb and then covert it into normal maps for games.
Normal maps don't give you height information so can't be used to displace a surface they're applied to, they simply tell the renderer that pixels are facing in a different direction to the underlying mesh normals.
I think this is what Mostwanted is alluding to in the last point.
If you're not actually displacing the surface (ie bumpmapping rather than displacing) then using a normal map is no different to using a bump map (which gets converted to normal information at render time) - except that a normal map holds more information and can thus provide you with more control over surface direction
If you combine displacement with normal mapping you get more control than either used independently