Author Topic: best way of baking a curvature map for painter  (Read 28951 times)

Has anyone had any luck in baking a curvature map for painter using xnormal?  Ive tried using the monochrome setting on the curvature options but the map has allot less detail that what Substance Designer outputs.  I cannot use Designer since we don't have a production license for it (currently using the 30 day eval version), so I need to resort to xnormal.


You can easily convert a normal map to a curvature map in photoshop.

Here the steps I use:
1) Duplicate your normal map twice.
2) Rename the 2 layers, one will be "R" and the other "G". This is not really needed, but it helps to not get confused :)
3) For each layer, go to Image>Apply Image. Be sure that the "Layer:" option is set to "Merged. In the "Channel:" option select "Red" or "Green", according to the layer's name.
4) You now have to apply the Filter>Stylize>Emboss filter to both layers, with the following settings.
Angle: must be set according to the current layer. If it is the "R" layer then its value must be 0, if it is "G" then it should be 90.
Height: use a low value. I usually select a value of 3.
5) Use the blend mode "Overlay" or "Linear Light" on the level on top.

Note that from this map you can eventually extract only the bright parts or the dark parts, just applying "Levels", with the dark or the bright point set to 128.
Hope that helps

Btw, nevermind, I will make a free substance for you as soon as I arrive at work :)

There we go!
Apply it as a substance effect to a layer, and export the result ;)
Pre-Blur and Post-Blur will help with the noise, but don't use values above 0.25.

Last Edit: October 29, 2014, 11:11:45 am

thanks, ill give this a try

I use MeshLab (open source) to bake the curvature of my high-rez meshes (I'm not generating a normal map as part of my workflow).   It bakes curvature to vertices (there are several methods Filters>colorCreation>ColorizeCurvature, etc.) so I sometimes need to temporarily rez-up the meshes to get better quality - you then convert the cpv back to a map (Filters>Texture>VertexColorToTexture).

What you get is a color version which needs to be fixed in photoshop.   Typically green=flat, Red=concave, blue=convex.  In Photoshop copy the red and blue channels to layers, invert red, add levels adjust output for each layer so red channel goes from 0 to 50% and blue 50% to 100.   Result should give you white for convex, black for concave.  Nice thing is that if you have a high rez mesh and you don't generate a normal map, this will give a workable result.

Hope this helps.