Tag Archives: Lego Batman

LEGO is awesome. LEGO games are awesome. And – at least for me – this trick is awesome. It’s  about the crawler “chains”. You know, the things around the wheel rims.

Source: LEGO Batman

Let me explain, why i think this looks really good: If you wanna do such a “conveyor” animation in  3D, you need to animate some geometry. And depending on your engine you can do this in  different ways:

Way #1 “Texture Animation”
You could use a texture animation where you let a texture slide over a geometry. This is very easy to setup but the silhouette of the whole thing isn’t that stunning:

Way #2 “Geometry Animation”
If your engine doesn’t support texture animation and/or you want a nice silhouette you can make a conveyor out of separate geometries. This costs a lot more animation effort and of course more drawcalls since you get more separate objects. The plus side: the silhouette looks more interesting.
For this, every “plate” just moves one “step” forward and then the animation starts again. You can see this better in the following animation where the  plates “jumps” back when they reached their final position. Every color marks a single object.

The LEGO Way
Let’s look again at the LEGO thingie. Am i the only one who thinks, that this looks like they bent a rubber geometry around the wheel rims? I really like it!

Source: LEGO Batman

At first i thought about crazy bend-modify-programmer-stuff but then i checked out the drawcalls/wireframes. I bet you already guessed how they did it. If not, here’s a clue:

Source: LEGO Batman

It’s kind of a mixture of both ways.

There’s a big geometry as a base (without crazy silhouette) and in addition several moving smaller parts (which create a great silhouette). Of course you don’t need a texture animation on the base  geometry because there’s no visible texture/structure but it gives the whole thing a good shape.
With that, they achieved this really cool bended rubber look which i really like. To be honest, i think most people figured out the trick immediately, but personally i wasn’t sure until i saw the wireframe and the separate drawcalls.

Good work, Traveller’s Tales. :)

Update 1
Thanks to Aurelio (from the comments) who mentioned an interesting thing called “Sub Pivot Point Baker”. Something like this is available in UDK and also packed into these very good looking tools. With that it seems to be possible, to have only one geometry but with different sub-geometries/elements/parts and everyone of those has it’s own pivot point which would save some draw calls if you would use it on stuff like the crawler.
Update 2
Evgen Zaitsev showed how such tracks would be done with modern technology: “I made a shader, which moves/rotates vertices of the static mesh. Using this shader we implemented metal/rubber caterpillar treads. I also made tool for Maya, which generates all necessary data from spline, and exports it into the GIANTS Engine.”