There's a few other techniques (heightmaps from bevels, gradients, etc) that you can use to pull off similar effects already. I think Sprite Lamp looks great and makes the process a lot more intuitive to understand but it definitely gets a lot of the extra awesomeness from the bespoke painted maps, which you can do already by painting per-channel in photoshop.
Some linkies for Unity-based approaches to the effect;
Yeah, looks like the inbuilt previewer and the ability to batch out other maps is definitely its strength. It'll be interesting to see what other cool stuff he can do with it with the extra funding from the ks!
The difference with Sprite Lamp and a basic normal map generation, is with Sprite Lamp you can control exactly how and where the light plays across the image, so you're not just stuck with that consistently lit bubbly looking appearance you got from the XNormal height map converter.
well, yes. but if i have all the 4 maps, I can build that nmap with simple layer management in photoshop. So I'm not gettting what is the advantage than creating an action inside photoshop for that.
These are the inputs that he posted there. If I have to create this by hand, there's no advantage, he says that you need at least 2 of them, he might be doing an interpolation inbetween them, which that could be the only difference, but if I have to build 4, I could interpolate them myself.
It's just a simple tool that automates your layering in photoshop in my opinion.
Reminder, I'm not saying that is EXACTLY what he is doing on the tool, there is a chance he is doing interpolation of some kind. But I don't think there's any advantage doing all channels by hand and having a tool to do it, since you can do it yourself and not have to pay for it.
Hi folks. Sprite Lamp author here. Forgive me if I'm slightly incoherent, and if I don't follow up on conversation in a timely fashion - it's the middle of the night here.
So basically, as you say, you can paint normal maps. I know of at least one 2D-with-lighting project where this is what the artist has been doing up to this point, so it's certainly possible, and when Sprite Lamp started out as a dumb little command line tool for a game I was making ages ago, it wasn't much more than an automated channel-combiner-and-normaliser.
What we found was that this would mostly get you where you wanted to be, and particularly for textures (like say a brick wall) it was all good, but for stuff like character art, it'd usually get you *almost* where you wanted to be, but the last little bit of tweaking was a bit painful. For instance, leaving the blue channel at 255 throughout the image is usually fine, but it means that the vectors are not unit vectors (which doesn't matter for most renderers) and more importantly, they all have a significant camera-facing component. If you're painting a character who is just as likely to have a light in front of them, behind them, or right next to them, this can make things look a bit incorrect. And while you can tweak the blue channel in various ways in your painting program to fix this, we got bogged down because it was a bit too much of the artist thinking in vectors instead of colours. Sprite Lamp lets you tweak your normals in ways that make sense for vectors instead of colours (such as rotating them towards the camera), and see what effect that has in various lighting conditions as you do it (because of the preview window).
I know nobody asked, but I'll also add in passing that the ability to generate depth maps and the subsequent self-shadowing that this allows can really make the difference in selling the look of an illuminated character. I think my favourite examples of this is the plague doctor - that character is quite unconvincing with just a normal map.
Anyway, I can certainly appreciate that Sprite Lamp is not a crucial addition to every workflow, but I hope that explanation helps make sense of things!
Replies
Some linkies for Unity-based approaches to the effect;
http://www.alkemi-games.com/a-game-of-tricks/
http://robotloveskitty.tumblr.com/post/33164532086/legend-of-dungeon-dynamic-lighting-on-sprites
http://hollowminds.com/2012/11/fun-with-unity-normal-maps-with-sprites/
[ame="http://www.youtube.com/watch?v=YxmoqDCPZ6k"]Raytraced sprite + normal mapping demo 1 - YouTube[/ame]
not as good but at least it work abit,still this will be nightmare generating it for each frame. hahaha
so i guess the tool ( Sprite Lamp) is useful for generating multiple images and preview it without helps of normal map or 3d tool.
Yeah, looks like the inbuilt previewer and the ability to batch out other maps is definitely its strength. It'll be interesting to see what other cool stuff he can do with it with the extra funding from the ks!
Interesting concept tho.
http://www.polycount.com/forum/showthread.php?t=127909
The difference with Sprite Lamp and a basic normal map generation, is with Sprite Lamp you can control exactly how and where the light plays across the image, so you're not just stuck with that consistently lit bubbly looking appearance you got from the XNormal height map converter.
These are the inputs that he posted there. If I have to create this by hand, there's no advantage, he says that you need at least 2 of them, he might be doing an interpolation inbetween them, which that could be the only difference, but if I have to build 4, I could interpolate them myself.
It's just a simple tool that automates your layering in photoshop in my opinion.
Maybe I'm not getting the tech but what I'm seeing is a hand painted normal map with 4 inputs instead of the 2 you would actually need.
1 - added green (0,128,0)
2 - subtract green (0,128,0)
3 - added red (128,0,0)
5 - subtract red (128,0,0)
background is 128,128,255
Here's the photoshop file if anybody wants to understand:
https://dl.dropboxusercontent.com/u/10617759/nmap_layers.psd
Reminder, I'm not saying that is EXACTLY what he is doing on the tool, there is a chance he is doing interpolation of some kind. But I don't think there's any advantage doing all channels by hand and having a tool to do it, since you can do it yourself and not have to pay for it.
So basically, as you say, you can paint normal maps. I know of at least one 2D-with-lighting project where this is what the artist has been doing up to this point, so it's certainly possible, and when Sprite Lamp started out as a dumb little command line tool for a game I was making ages ago, it wasn't much more than an automated channel-combiner-and-normaliser.
What we found was that this would mostly get you where you wanted to be, and particularly for textures (like say a brick wall) it was all good, but for stuff like character art, it'd usually get you *almost* where you wanted to be, but the last little bit of tweaking was a bit painful. For instance, leaving the blue channel at 255 throughout the image is usually fine, but it means that the vectors are not unit vectors (which doesn't matter for most renderers) and more importantly, they all have a significant camera-facing component. If you're painting a character who is just as likely to have a light in front of them, behind them, or right next to them, this can make things look a bit incorrect. And while you can tweak the blue channel in various ways in your painting program to fix this, we got bogged down because it was a bit too much of the artist thinking in vectors instead of colours. Sprite Lamp lets you tweak your normals in ways that make sense for vectors instead of colours (such as rotating them towards the camera), and see what effect that has in various lighting conditions as you do it (because of the preview window).
I know nobody asked, but I'll also add in passing that the ability to generate depth maps and the subsequent self-shadowing that this allows can really make the difference in selling the look of an illuminated character. I think my favourite examples of this is the plague doctor - that character is quite unconvincing with just a normal map.
Anyway, I can certainly appreciate that Sprite Lamp is not a crucial addition to every workflow, but I hope that explanation helps make sense of things!