How can I generate my normal maps ?
No matter the alternative that you will choose in this tutorial, you will need to generate one or several normal maps. First of all, you can create them yourself if you want to. In this case, you seriously need to understand how they work, and it’s not with my previous explanations that you will manage to do that.
You can find much better stuff here, there and here.
But this is for the most curious of you. I assume that the great majority will prefer to get their precious normal maps as fast as possible to continue their game project with awesome dynamic light effects. Is it possible ? Yes. Partially.
There are a bunch of tools which can generate normal maps from a basic picture, really, there are tons of these tools. I tested a large number of them this last semester. I will only cover those which are – in my own opinion – the more effective ones. Without any surprise, the best of them are not free.
Sprite Lamp : Because beauty takes time
Snake Hill Game’s baby, it will cost you 30$ or 84$ to make really convincing and effective normal maps. I got some of my best results with this tool. But.
And a really big but. If you want to be fast, you will be heavily disappointed. Indeed, Sprite lamp’s quality has a cost : you have to draw the shadows of your sprite(s) according to the various possible positions of your light…yourself.
The normal map generation is based on your several shadow drawings. So, it takes time and it implies that you have some artistic skills. Is it worth ? Yes, it is !
Result on Construct 2 using Sprite Lamp :
Sprite DLight : Because quality can be obtained quickly
We could almost consider this one an Easy Sprite Lamp. Sprite DLight is indeed the best available tool for generating your normal maps automatically, and they are almost as beautiful and convincing than the Sprite lamp’s ones.
Once again, almost. However, Sprite Dlight can deal with your animations, as it provides the possibility to generate your normal maps from your sprite sheet !
So yep, we have some pretty solid stuff right there. But. Yes, you don’t have to draw anything for hours like you do on Sprite Lamp, but it implies that you can’t really control the results, just edit them with several options in the menu on the right. These results are often great, but they can also be inaccurate.
Especially if your picture is really big.
Finally, Sprite DLight is not officially available yet. It was a successful Kickstarter project, and is now in beta testing. You can pre-order it and participate in beta testing for 45$ on the official site of 2Dee Game Art. Every future release will then be free for you.
Result on Construct 2 using Sprite DLight :
SpriteIlluminator : Because they couldn't find a shorter name
Another great CodeWeb’s creation ! This one is very similar to Sprite DLight, you can generate your normal maps from one single picture in JPG or PNG format and it can support your sprite sheet, thus you can work with light and animated objects with ease. Also, it gives you a lot of options to edit your sprite’s texture.
Now, based on my own tests, the results on SpriteIlluminator are sometimes upside down. Which is strange. Finally, we don’t have many possibilities to edit our normal map once it has been generated compared to Sprite DLight, and for those which are available, they are not as easy to use as DLight’s ones.
You can get SpriteIlluminator for 44$. You can try it for free for a week.
Result on Construct 2 using SpriteIlluminator :
GIMP : Because it's free
As far as I know, using GIMP is undoubtly the most effective free alternative for generating your normal map. Thanks to gimp-normalmap, a special plugin created by Shawn Kirst, you can create an average normal map for any 2D sprite.
The procedure to create your normal map is entiretly explained in this video.
(Warning : the author doesn’t precise it, but you must be in RGB mode)
As expected, it’s not as beautiful as Sprite Dlight, Sprite lamp and SpriteIlluminator, but it’s not ugly nor inaccurate. The job is done.
Result on Construct 2 using GIMP :
Njob : Because it's your last hope
Ok now, we’re definitely far from Great quality and almost as far from Ok quality, but if you can’t use GIMP for obscur reasons, you can use Njob. Please note that despite this previous dull depiction, Njob is not bad at all.
It’s a little tool, but it allows you to create your normal map and it's not the lowest quality of the whole universe. Open your diffuse image, use a filter to make a height map from it, then use another filter to convert this height map to a normal map.. You must keep the same configuration for the height map and for the normal map or you will end up with some ugly dark crap.
Result on Construct 2 using Njob :
Conclusion : I tested 12 or 18 different tools, but there is no sense in discussing every single one of them. I gave you my favorite’s ones, but please keep in mind that my opinion is subjective and they are not the only possibilities you can find and use. I didn’t talk about CrazyBump or ShaderMap, for instance.
If you know or discover any good free alternative, please mention it in the comments with the corresponding operating system. I shall update this tutorial by adding it. Starting now, I will consider that you have a sprite and its normal map.