Home General Discussion

Real time sprite lighting technology

polycounter lvl 14
Offline / Send Message
xvampire polycounter lvl 14
its on KS
http://www.kickstarter.com/projects/finnmorgan/sprite-lamp-dynamic-lighting-for-2d-art

interesting, do you think this will be useful for 2d games in the future?
I see Rayman has pretty similar thing too.

but to get best result probably the artist need to draw 4 lighting condition map for each sprite

Replies

  • stabbington
    Offline / Send Message
    stabbington polycounter lvl 10
    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;

    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]
  • xvampire
    Offline / Send Message
    xvampire polycounter lvl 14
    yeah kinda understand the base concept out of it, I tried with just traditional brute force sprite to heighmap technque ( using their zombie sprite

    6qoMXN2.jpg
    5DoFlnC.jpg
    DlANsnn.gif

    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. :)
  • stabbington
    Offline / Send Message
    stabbington polycounter lvl 10
    Haha, awesome!

    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!
  • bugo
    Offline / Send Message
    bugo polycounter lvl 17
    idk, if I have to do the lighting profiles as he says, then I would do the nmap, ao myself, doesn't seem like a big deal to me.

    Interesting concept tho.
  • Steve Schulze
    Offline / Send Message
    Steve Schulze polycounter lvl 18
    I started a thread on this recently, but given this one already has more posts, I guess the original one might as well be closed
    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.
  • bugo
    Offline / Send Message
    bugo polycounter lvl 17
    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.

    b11c53c08b35e08dcab0c58980e747b8_large.png?1381969488

    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.
  • okkun
    Offline / Send Message
    okkun polycounter lvl 18
    That was my thought when I saw this.

    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.
  • bugo
    Offline / Send Message
    bugo polycounter lvl 17
    Here's an example I just did in photoshop... there's no secret

    char_nmap.gif

    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.
  • Pancakes
    Offline / Send Message
    Pancakes polycounter lvl 10
    I don't understand it either.
  • ThunderCloudStudio
    Offline / Send Message
    ThunderCloudStudio polycounter lvl 4
    ya , there 's also some kind of pixelate gradient fall off effect from the light as well .
  • Dinaroozie
    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!
Sign In or Register to comment.