in 2d, are normalmaps any better than heightmaps?

For questions about using Classic.

Post » Sun Apr 05, 2009 6:32 am

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?
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Sun Apr 05, 2009 1:37 pm

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.
Scirra Founder
B
359
S
214
G
72
Posts: 22,952
Reputation: 178,580

Post » Sun Apr 05, 2009 2:59 pm

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
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Sun Apr 05, 2009 3:14 pm

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
B
52
S
7
G
6
Posts: 1,945
Reputation: 7,610

Post » Sun Apr 05, 2009 3:22 pm

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
hmmmmmm
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Sun Apr 05, 2009 6:07 pm

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.
Scirra Founder
B
359
S
214
G
72
Posts: 22,952
Reputation: 178,580

Post » Sun Apr 05, 2009 7:28 pm

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?
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461

Post » Sun Apr 05, 2009 7:32 pm

Yeah, always use PNG's, it'll take the same space when exported as a JPEG, and the same VRAM.
B
3
S
2
G
5
Posts: 1,777
Reputation: 5,529

Post » Sun Apr 05, 2009 7:35 pm

awesome. I really didn't want to have to even think about compressions
thanks rich
Spriter Dev
B
87
S
21
G
12
Posts: 3,240
Reputation: 16,461


Return to Help & Support using Construct Classic

Who is online

Users browsing this forum: No registered users and 6 guests