armory3d / armortools

3D Content Creation Tools
https://armorpaint.org
Other
3.28k stars 336 forks source link

Paint a normal / height map #244

Open csfalcao opened 4 years ago

csfalcao commented 4 years ago

Right now ArmorPaint can do it by using a normal map as texture, but you can't use all others paint tools to create a normal map.

Forum requests here https://forums.armory3d.org/t/can-we-paint-height/985 and here https://forums.armory3d.org/t/paint-normal-map/2945

Marke747 commented 4 years ago

I'll go a step further, at least in v0.7 the normal map that Armor paint creates in the 2d view, (or exports) doesn't look correct (featureless) and it also does not create/update the normal in real time based on changes being made to the mesh (adding bump) as I'd expect it to do. Said differently, if you have an object, and paint 3 lines.. a pure black, a 50% grey, and a pure white line and some dots on the mesh as examples, I expect this to display/effect the normal map RGB channel reflectivity in the normal being displayed in the 2d viewport.

As a test, export the mesh as a texture using the general preset, then take the texture exported to a simple normal map generator online ( https://cpetry.github.io/NormalMap-Online/ ) and you'll see a correct-looking normal map output of the same texture you just exported. That's what Armor Paints normals should look like too?

csfalcao commented 4 years ago

I used a black and white diffuse texture, and the normal output was ok in that site. I think that Substance Painter have a great normal paint workflow, compatible with brushes, alphas, masks and preset "stamps" of levers, compartments, nail heads and other useful stuff. See examples here for painting https://www.youtube.com/watch?v=KTxiKaIzG_c and here for procedural textures https://www.youtube.com/watch?v=EF_PN7YNX5A&t=0s).