Quick tutorial on Normal Maps.
Normal map is a vector map - direction vector map. Z is the UP, toward camera, Y is up, red is right. Well, that differ from a software really, Maya and use different Y directions (up <-> down), so basically a normal map looks like this:

Lets separate the color channels.
So, putting it simply, a normal map is a “pixel direction map”. So, the most blue pixel is facing the camera and won’t be more than 128 red and 128 green. Why? Cause we have a range of 255 bits on a texture channel. So, the FLAT is 128 red 128 green and 255 blue. So we can go right with 255 red or left with 0 red. Hopes that does make any sense to you. Anywa…
How to create a normal with ANY 3D software? I’ll use for demonstration. We have out object (I’ll use a simple noise plane for that) with a white material:
Then we add an ambient light, skylight not casting shadows and set it’s brightness to 0.5 white. This will add white 128 color to all of out channels:
Next we add a blue light from top with 0.5 power:
And lights from each direction, in 3D Studio is red+ on the X+, red- on the X-, green+ on the Y- and green- on the Y+ (green is negative in other words). I know that Maya uses Y for up not Z, so it’s gonna be different. No idea about blender 
And t hen you render top view or orthographic camera:

You can use Displace to get the shape of your object from a texture or just model it.
But, it’s always better to just bake it using Render to texture, or crazy bump, or Nvidia tools, like guys before me said XD
Cheers,
Z.