in 2d, are normalmaps any better than heightmaps?

This forum is currently in read-only mode.
From the Asset Store
2d mushroom sprite 2d game mushroom character enmy sprite game art
  • I realize that normal maps can do more in 3d than heightmaps can. but in 2d, should you be able to get pretty much the same exact results with both, assuming you have the skill or software to create either one?

  • Normal maps are faster than heightmaps because heightmaps have to first be converted in to a normal map. So if you can, use a normal map.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • oh right

    sorry, I knew about that part

    but if you can't use normal maps, because you're going to be animating a heightmapped character using rotation and bones and ik, or an object that has physics

    I know you can't rotate a normal map anyway, so there isn't a choice

    but I'm wondering if there is any reason why a normal map would be visually superior

    or do I just need a better way of making heightmaps

  • they're pretty much visually equal, since one creates a normal map, they would look excactly the same. its only the fact that n-maps cant be rotated that sets em apart

  • right

    too bad crazy bump doesn't generate heightmaps then

    I wonder if there's a tool that can convert a normalmap viewed from straight on into a heightmap


  • Crazybump can do heightmaps, I think. You're right though that you must use heightmaps if you're rotating an object.

    I think normal maps are better resolution than heightmaps. Each pixel in a normal map gives a normal vector, whereas you must compare a small grid of pixels in a heightmap to determine the normal angle, if I remember correctly.

  • i see

    thanks ash

    I guess you could make a bigger heightmap to compensate, but that'd just make it even slower

    question, btw, since everything gets decompressed it runtime anyway, does that mean compressing a sprite before loading it into construct will just make it uglier without being more efficient, like if I use jpeg compression on an image, 100x100 pixels, or make it a png 100x100. will it just end up being the same amount of vram at runtime?

  • Yeah, always use PNG's, it'll take the same space when exported as a JPEG, and the same VRAM.

  • awesome. I really didn't want to have to even think about compressions

    thanks rich

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)