ello Stranger, great to see you! Ahh…you heard that you can find some profound stories here and decided to stay a while and listen? Well, it might be that you are wrong, because today the narrator has only a simple story to tell. But he likes it.
Once upon a time there were three types of Lego studs and every had his special character…
The classic was shaped exactly like in the real world. For that, he was well known by the folks but also a bit boring – he didn’t care because he got real geometry. He hung around with only some – but very close – friends:
The flat was totally in family and friends and so he was always surrounded by many other studs. But you can’t tell the story fluently when you mention every stud with its full shape. That’s why they’re just “painted” on a flat surface when there are very much in one place:
The stacked was a very interesting one! He only appears in stories when you tell them without many words (low quality settings). He was a mixture of both: several flat studs to form the shape of the classic.
Well stranger, you’re still listening? Then let me tell you some of my thoughts. But be warned: these weren’t made in the Lego game! Maybe they will, maybe not. I just had fun in thinking about other ways to visualize the Lego studs:
Parallax Mapping
To give the studs a more outstanding shape, you can’t just use a normal map. It doesn’t look good from more flat angles:
So the future would be Bump Offset Mappig or even better: Parallax Occlusion Mapping. For these techniques you’ll need a height map and here comes the problem: a height map of a Lego stud looks pretty “boring” and isn’t perfect since you have more or less just black and white colors and no transition inbetween:
So why i’m telling you this? Because when i tried this in UDK, i observed something interesting:
This looks like a nice 3D effect for the studs, right? But if you look closely…
…you’ll see that there are more or less 2-3 stud “layers” moved in a parallax way like the in old jump ‘n run games. To make sure you don’t misunderstand: this artifacts happens because the height map doesn’t have much transitions between black and white!
The effect gets even more pronounced when you use the Parallax Occlusion Mapping:
My point is, that i found it very “likeable” that the low quality stud rendering in Lego Batman looks like the next gen rendering techniques (if you use a bad height map). I just liked that. :)
Voxel
You could also use Voxel! Forgive me if i’m wrong, but for me voxels are more or less lines which are created by pushing pixels upwards based on a height map. The Wikipedia articles says something different but the base information is: real pushed geometry! This would give a nice silhouette:
One of the most famous use of voxels can be seen on Outcast. The environment looked (and in my opinion still looks) very organic and nice:
Tesselation
Instead of having the voxel detail all the time, you could create it dynamically with tesselation. It’s height map based. Distance dependent and computed on the graphic card. In real time. I would love it! So the studs near to you would pop out and be real detailed geometry.
Imposters
This technique fascinates me since Neox told me about it. But i never saw it used in a game. Maybe that’s a good sign, because then it would work perfectly.
Imposters are basically a render of a detailed geometry placed to a plane which always points to the viewer. And you update this rendering more often the nearer it is to the viewer.
Then you can place several sprites (camera aligned planes) where you want to render your detail object and have nice detail with less rendering costs:
That’s it. I hope you enjoyed this article even it wasn’t about a very unique trick. I just liked the small workaround the Lego game did and thought about other solutions to render the studs.
Feel free to leave me a comment, write a tweet or a mail. This is what brings me the greatest joy: hearing from you guys!
Thank you very much for reading!