Ok, I have a regular cube and I want to paint a normal map onto it using texture paint, I already have a brush with the normal map on it. The only problem is that I have to enable the normal map texture in able for the stroke to show up, but whenever I enable it, it applies the normal map to the whole cube, but I only want it to just show up where I stroked (on the normal cube). So how would I paint the normal map on the regular cube without having the normal map on the whole cube? (with normal map texture checked)http://i.imgur.com/GlVZx8b.png. (cube without normal map checked http://i.imgur.com/fiofZXv.png )
Sorry for any bad English, and leave a post if you need any more information
Why do you want to manually paint on the normal map? It looks like you have a tilable normal map that you can just apply and tile across the cube. Also I don’t think painting on a normal map is the best approach. If you must paint it on rather paint on a bump map (black and white values) and then convert it to a normal map.
This will happen if you paint on a normal map. Look at where the light is and the results of the shadows on the plane. The rgb values indicates direction and by placing them randomly through painting you’re bending the normals in wrong direction.
There is a new tutorial on Blendernation :
i hope it helps!
Edit: Sorry, i answered to the wrong thread!
I want to try to paint the normal map I already have onto other objects. Here is a better example of what I am trying to say, http://i.imgur.com/uT4tWvw.png . So when I paint onto an object, I want to paint a 3d normal map like the cube on the left but not the color value shown on the right. Hope that clears things up, message me if it doesnt.
I don’t understand why you want to paint the normals? If you already have the normal map you can apply like on the cube left. You have the actual normal map set as a texture for your brush. If you paint, it will paint the rgb values. You have to then set up the texture in the material so that it uses that rgb values as normals. But that approach is not right as i’ve explained above, you will get incorrect results.
You can however paint bump map! I did screen recording to explain how…
Alternatively, if you do want to transfer that normal map to other objects you can either setup their uv maps so that the map can be applied or bake the normals across.
As ^^NOva pointed out, painting a normal map will give you bad results. This is dued to the fact that normal maps highly depend on the tangent vector (the X direction of your UVmap). When painted, Blender reorients your texture based on the Brush Mapping settings, and the Normal vector looses it’s tangent reference.
Using a Height/bump (grayscaled) texture just like ^^NOva posted, is far more better. This way, Blender will get the height map, find derivatives and recreate the TangentNormal Vector used in Normalmaps.
Thank you, I understand now, but on a side note, do you happen to know of anyway of converting a normal map into a bump map in blender or vice versa?
that’s kind of a problem, TNormals don’t normally store height… just the direction, like with solar panels in a flat land.
There might be a way to do some aproximation of the surface curvature based on the derivatives of the normal map, but it wont yield perfect results, and it might not work in every scenario, thought an interesting puzzle!
You can apply the bump map to the model and bake out a normal map. You can use Xnormal, it has a tool to convert heightmap to normal map (photoshop plugin included when you install xnormal). Then theres awesome bump (I used this to create the height map I painted with) which lets you generate normalmaps, height maps etc from image textures…