Uncategorized

Asset pipeline from Blender to retro 3D sprite animation

As a child who grew up around the time of the switch from MegaDrive (Genesis) and SNES to the 3D consoles with the introduction of the PSX and N64, the games developed by Rare will always have a special place in my heart.  My first introduction to Rare would have been Donkey Kong Country, which at the time was an impressive feat, rendering 3D textured models into low memory sprite animations. I’m not sure the average player at the time really understood why it looked so great, but it was clear that this was something new, and something special.  Their process by modern standards is basic, but I’ve always wanted to capture that early 3D feel. So I’ve been experimenting recently with creating low poly models, and rendering them through Unity with some post processing to produce pixelated 3D frames.

Donkey Kong Country (SNES)

I made a low poly sprite in Blender, which I then UV mapped, textured and exported as an FBX. Using some simple scripts that apply posterisation and dithering, and then rendering these out as frames, before scaling them down in GIMP, I was able to produce a fairly convincing retro effect.

Full scale render

In the 90’s to early 2000’s these sort of 3D graphics were common place, and seem primitive now compared with modern physically based rendering techniques.  Stylistically I find there is something pleasing about these older rendering techniques.  Things like dithering, and hard shading, were applied as optimisation techniques at the time.  But I feel in a world where we have gotten use to almost photo realistic graphics, there is something nostalgic and almost naïve about these early 3D graphics. So I thought it would be a fun process to try and replicate this style as best I could in a modern game.

Iconic 90’s rave poster

The first animation shows the raw output from Unity with just the posterisation and dithering effects applied.  It looks good but we want a much harsher, more pixelated look. This is how it looks scaled down to 64 pixels high.

Final 64px render

We could use a less harsh texture scaling, this uses None in gimp, which is a bit over the top.  Linear scaling might be a better choice, but being displayed so small in game it might work, game dev is not an exact science, I always find it’s best to try and it judge for yourself.

So far it kinda gives us that early 3D look we wanted.  I will experiment some more, but so far I think this works as a pipeline and we can use this for our upcoming space shoot ’em up.

Leave a Reply