Hi, I’m Gareth West (se7en23) and I’m a self-taught artist, 3D generalist and programmer. My background is in the games industry but I’m currently working as a freelance graphic designer, 3D modeller and web developer.
I made this piece for the #GenerationsChallenge, a weekly freeform challenge where the task was to create a model that showed at least three generations of something.
My initial idea was to create a simple scene featuring a grandparent, parent and child taking a ride on a rather innocuous looking roller coaster, with each family member being in a different state of enjoyment or distress. However, with other work commitments getting in the way I was only able to start working on it two days before the deadline. So I decided to create a voxel art version of the scene, seeing as voxels would allow me to work faster without having to water down my concept.
Setting Up MagicaVoxel
My go-to software when creating voxel art is MagicaVoxel, which is by far the best voxel editor out there, and it’s free! For this scene I used version 0.99.1-alpha which has a scene editor (or World Mode) where you can work with instanced voxel assets, as well as keep objects organised on different layers.
Before I started drawing I set up MagicaVoxel by expanding all the menus I’d need, turning on the grid, and switching to palette 3 so that I could start with a completely blank palette. Also, seeing as the first object I would be creating was a character, I set my initial asset’s canvas size to be an odd number. That’s because I like the nose to occupy the middle column of voxels, and I will be using the symmetry feature to halve the amount of drawing I have to do.
Creating the Grandfather
I started with the grandfather character by adding a new skin tone to the colour palette and then blocking in the rough head shape.
The method I use when creating voxel art (which also applies to pixel art) is to start with simple, bold shapes and to only refine them once I’m completely satisfied with their overall form. Only then will I add more detail, round off edges, and add additional colours.
At this stage I was also still working out the resolution and scale that I would be working to.
I then moved the head up to make space for the body and grew the upper body from the neck, adding new colours to the palette as I went to help keep the parts separate and easy to work with. I then added the arms and legs, and formed the basic seated pose.
I was also starting to play around with the idea of having his comb-over blowing uncontrollably in the wind, and his false teeth flying out of his mouth.
Starting the Roller Coaster
With a basic character complete I then moved on to the roller coaster carriage itself. I started with the handrail/seat belt, then the seat (in both cases using the character as a reference for scale), before finally adding the floor, side panels, wheel mechanism and track.
You can see my initial idea was to make the roller coaster pink and to have each carriage carry only a single person.
I spent quite a bit of time getting the wheel mechanism and track parts looking right, because those parts were really going to help sell the fact that this was a roller coaster.
I then created the additional carriages using the original as a starting point. Thanks to MagicaVoxel’s instancing feature I only had to create three carriages (the front, middle and rear). You can see that I also chose to separate the track from the carriages so the track pieces too could be instanced copies of each other. This meant that any changes I made to one would be instantly reflected in the others.
I also felt that the grandfather looked a bit too cramped in the carriage, so I chose to widen them to be two-seaters. That meant I was going to need more family members to fill up the entire roller coaster!
You can see I also made the grandfather more hunched by making his neck stick out sideways from his shoulders, and removing a few rows of voxels from his upper body. I also made his head asymmetrical to exaggerate the sense that his dentures were flying out of his mouth with a considerable amount of force.
Creating the Rest of the Family
The next job was to create the remaining members of the family. When making multiple characters I will often base a new character on a suitable existing one so I don’t have to start from scratch every time.
I started off by creating the grandmother…
And then one of the children…
With three characters complete I could then derive the remaining family members from them.
Finishing the Roller Coaster & Settling on a Theme
It was at this point that I was having second thoughts about the pink roller coaster. I was also trying to think of a stronger theme.
The first thing I changed was the front carriage. I removed the windscreen, grill and headlights and sketched in a rough smiling mouth just to see what it might look like. This simple change gave me the idea to turn the roller coaster into either the Cheshire Cat from Alice’s Adventures in Wonderland, or the Catbus from My Neighbour Totoro. Of course I chose the Catbus!
I used the hue slider to swap the pinks to more suitable yellows and then started to add the nose, eyes, whiskers, ears and legs. I then painted in the stripes and with very little work the catbus was already starting to take shape!
I then modified the rear carriage by adding the tail and rat brake lights, and copying the legs from the front carriage.
I applied the same changes to the middle carriage and the Catbus was complete!
To finish off the scene I made some final tweaks to the characters, and added in a few Easter eggs…
I then cleaned everything up to make the assets as easy to work with as possible for when I rebuilt the final scene in Maya. This included separating the wheels, sick bags, and carriage interiors to their own repeating object instances.
The final scene consisted of 52 objects, but with these optimisations I actually only ended up with 17 objects to export, which made the whole process much more manageable.
The following screenshot shows what the final MagicaVoxel scene looked like with everything reduced down to as few instanced objects as possible.
Here’s the final scene as rendered in MagicaVoxel…
Exporting & Rebuilding the Final Scene
I then exported all 17 assets in OBJ format, imported them into Maya, and rebuilt the entire scene.
The reason I had to rebuild the scene in Maya was because of the way MagicaVoxel (version 0.99.1-alpha) exports the objects in your World Mode scene as separate files, rather than as a complete scene containing every single object instance in their respective positions. This can be a laborious task in more complicated scenes, but with only 17 unique objects it wasn’t too bad – the process consisted of importing one OBJ at a time, renaming each mesh to keep things organised, grid snapping them into position, matching their final orientations with my MagicaVoxel scene, and duplicating and offsetting any repeating objects where necessary.
After I’d completed that task for every object, I froze every object’s transforms, grouped everything, and exported the final FBX with the default settings (apart from the “Embed Media” option which I set to false because it keeps the FBX file size down; and I prefer to upload my texture maps manually from within Sketchfab’s UI).
Uploading to Sketchfab
I then uploaded the final FBX to Sketchfab and set up the scene by working through each tab one by one.
Being a fairly cartoony voxel scene, for the most part it was a straightforward setup. Notable changes were:
- In the Scene tab I set a slightly more orthographic FOV value of 20°
- In the Lighting tab I chose to use a single HDRI light source (specifically the “Pine Tree Arch” image)
- I used an emission map, in conjunction with the bloom post process effect, to make the Catbus’s eyes and brake lights glow slightly
- And in the Post Processing tab I used a subtle Depth of Field to fake a motion blur effect.
The Final Scene
It was a really fun scene to make and, as ever, Sketchfab did a fantastic job rendering the end result.
Thanks for reading my Art Spotlight. If you have any questions about my process, or if you’d like to hire me for a project, then please don’t hesitate to contact me. You can find me on my website, or you can send me a message directly via my Sketchfab profile.
Finally, a big thank you to Sketchfab for allowing me this opportunity to contribute to their Art Spotlight.