Baking procedural normals.

I have a model which uses procedural textures both for coloring and added details via normals. I would like to be able to bake the color to a uv map for use in a video game. I know how to bake the base coloring but I don’t know how to bake it as a normal map. Any tips would be appreciated. Here is the model in case your wondering what Im talking about.

same as textures, select normal instead of texture for baking.

Ok thanks. I assumed it was something more complex than that.

Normal Mapping has to do with adding visual 3D feature on to a low polygon model. It has little to do with color map. To bake normal map, you need high definition poly object overlaying low poly object. Look at this tutorial.

I understand the concept. I was just wondering if it mattered that I was using procedural textures as the basis of that extra detail rather than a high poly model. Apparently it does not as I achieved the desired result through the given method.

OK, I figured out the method to bake normal from procedural color. It was always there but no one really did any demo video on it. Here is the setup. Make a UV map of your model. Create image in UV editor to bake color map and bake the color. This map will apply to the color channel.

Now, for the normal map: to bake this you need to go to material texture on the model and under Influence check “Norm” on. Your model now has the irregular surface when you render it. Adjust the strength the way you see fit. This surface you just created can be baked on to normal map. Just create new image in UV editor and Bake it using Normal Bake Mode with Normal Space of Tangent. Save this image and load it in to normal channel.

thanks for explaning ridix. i thought @archmage knew about using normals, thats why, i only mentioned selecting normals for baking.

by the way @archmage, you can create normal maps from the texture/diffuse too in PS or Gimp. it gives you more flexibility for floating geometry, color correction etc.

Ya Gimp has Normal Map Plugin. I do use it time to time. Essentially you are converting gray scale image into normal (height) map. So, in order to do that you need to convert procedural texture to image.

There are some intriguing possibilities in making normal map. Here is flat image I got from Internet. Design is intricate. You can probably make normal map straight from this image because you do have good contrast between high and low spots. But you can build normal map from with in Blender just by painting over it:

In material texture for this object, I created standard image texture on top with image loaded with UV. That’s image “A.” Second blank texture image was created using same UV. On this layer, texture paint was used to paint image “C” tracing over the picture real time. This is possible if you make second texture loaded to materials texture with Normal influence “on.” Also GLSL shading and textured view port shading needs to be “on.” With this setting you can actually see surface rise as you paint.

Once you have this gray height map, you can bake normal map on to third UV image. And you get the normal map!

That is what I ended up doing Ridix.

Maybe I misrepresented my question I had already set up the procedural textures and had them set to influence normals. (If you look at the ship in my first post all those plates are from the procedural normals) I was simply wondering if there was a special way to bake those normals but apparently just doing a normal texture bake (as you and dukejib stated) works fine.

Thank you all for the advice.

You probably already know this, but for most uses, choose the “Tangent” option when baking normals from any source, be it procedurals or combined procedurals plus image-texture height maps. The other options work for still images under limited circumstances, but Tangent-space normal maps are designed to be usable from any camera angle and during animation.

Thanks for the tip. I was already using that but only because it was the default and was what was showing in some normal mapping tutorials. So now I know the reason for it.