Industry Standard requirements for Normal map texture :
- Support DirectX and OpenGL Normal map.
- Compatible with all game engine ( Unreal Engine 4 , CryEngine 5 , Unity 3D 5.5 , Stingray )
- Compatible with software editors like Substance painter, Substance Designer and more
- Support DirectX compression, Optimized for DXT5 and BC5 compression.
- The Normal map are computed from 16bits matcap data ,then are rendered with BPR and directly exported to RGB 8 bits PSD /TIFF file format, without extra edits to apply in Photoshop.
- No Banding Issue ( read more about Banding)
- Rendering time and quality of the anti-aliasing of BPR renderer.
In both articles I am trying to make relevant observations i am comparing the normal map i had baked using Substance Painter (native RGB16bits) with the normal map baked using ZGametools in PSD RGB 8bits file format and imported into Substance painter as texture resource.
- Comparison and observations with Substance Painter 2.4.1
- Comparison and observations with Marmot Toolbag 3.0
- Comparison and observations with Unreal Engine 4.14
- Comparison and observations with Unity 5.5
The Meaning of this
What is my Objective ?
My objective is to provide a normal mapping algorithm to use with zTexturer Plugin in Zbrush that is conform with all the industry requirements and which follows all conventions and all norms, and that could compete with other algorithms on the market.
Why do I based my comparison and observations, on substance painter normal map algorithm why not a different algorithm ?
To me the best and finest baking algorithm for normal mapping on the market, are the Substance Bakers developed by the Allegorithmic.
The normal map you bake with Allegorithmic tools, are compatible with many game engine and editors.
What i am trying to reproduce with zTexturer is to provide at least, an equivalent in terms of quality and compatibility, than what Substance Designer and Substance Painter would provide to you no matter which are the game engine or software editors.
The Baking Setup
To make sure my studies goes in the right direction, I setup and export my high resolution model from Zbrush into Substance Painter.
What that mesh is for ?
Why it would not be better to compare with rock, wood or life materials for your test ?
Technically, this is best Stress test possible. All the shapes there, with the main flat area, the smoothed and the curved surfaces will reveal mostly all possible wrong behaviors on how the environment will reflect with a material that had the metallic reflections set to maximum.
Then I load a plane grid mesh which is the destination mesh, set the baking settings like listed below :
|Substance Painter settings||ZTexturer Settings:|
| Texture resolution : 2048* 2048|
Baked RGB16bits and supersampling 4×4
Exported to PSD format in RGB 8bits
Rendering time : 1 minute 36 secs
| Texture resolution : 2048*2048|
Baked and exported to PSD RGB 8bits
Anti-Aliasing : BPR subpixel level 3
Rendering Time : 6 ~ 10 seconds