My name is Gareth (aka se7en23) and I’m a designer, artist, web developer and games designer.
In the past I worked for a number of years in the games industry (in various different roles) – first working for a large London-based publisher, then as an independent developer – but now I work mainly as a freelance designer and web developer. Overall I would consider myself an artist/3D generalist who can code a bit!
I have only recently started dabbling in voxel art, but I think it was an easy style for me to get into because it combines the two art disciplines that I am most passionate about: 3D modelling and pixel art.
When first starting out in voxel art I experimented with as many different editors as I could get my hands on. Of all the programs I tried, MagicaVoxel stood out ahead of all the others thanks to its speed and intuitive user interface. It’s also free! It has quickly become my go-to software for all things voxel-based, so when the #VoxelSpaceFarm challenge was announced I couldn’t wait to open it up and get started!
Contests like this with short deadlines are an ideal way to motivate yourself to create a new piece of artwork and not get bogged down in a routine of procrastination!
The Initial Concept
The theme of the contest was to take a farm animal and put it into some kind of space setting, so my initial idea was to create something involving cows being abducted by aliens – presumably because the aliens were after their delicious Earth milk!
The first thing I did was a quick image search for cows, as well as cartoon drawings of cows. I know that might sound crazy (we all know what a cow looks like, right?), but having reference images is always the best way to help capture the essence of something, even if the intention is to create an incredibly stylised (and in this case voxel-based) piece of artwork.
Setting Up MagicaVoxel
Whenever I start working in MagicaVoxel the first thing I do is set up the interface, so I expanded all the drop-downs (giving me quick access to every available option), and I cleared the scene by clicking the “Zero” button under the “Tool” drop-down. Then under “View” I turned on the grid (which makes it easier to see individual voxels), disabled shadows (which makes it easier to see colours because everything is shaded more uniformly, it also speeds up the editor a bit), and finally I hid the ground plane.
The next thing I did was clear the colour palette. I usually always start with an empty colour palette and then add more colours as and when I need them. I find that way I’m more likely to settle on a strong colour scheme from the very start; and there’s also no point having unused colours cluttering up your colour palette.
Creating the Cow
As with most character models, I started with the head, turning on “Mirror X” so I only had to draw half of it.
When creating symmetrical objects in MagicaVoxel, I like to set the scene size to an odd number. In this case, because I didn’t know how big the cow was going to be, I set it to 125x125x125 (by entering “125” once into the “Resize Model” text input). This means when I enable any of the mirror axis options, the centre line is a row (or column) of voxels and the symmetry is offset by that central line. I find this approach to be ideal when working with faces where you’re probably going to want features like the nose to be one voxel wide, and in the centre of the face.
I started by creating an off white colour in the colour palette, then I blocked in a cube from which I extruded all the main features of the head. I then coloured in the snout with a fleshy colour, and added the eyes. As with any model in any style, I didn’t move on from this basic shape until I was completely satisfied with it.
Once I was happy I started to add in more details; like the cheeks, ears, mouth and jawline. At this stage I was toying with the idea of having its mouth open (as if chewing its cud), but I decided against it because it would have made the mouth area too busy. The trick to voxel art (and pixel art) is to keep it as simple as you can for as long as you can, only adding detail when it’s absolutely necessary.
Lastly I removed voxels around some of the corners and edges to give it a less blocky and more finished, rounded look. I also deleted a voxel where I wanted the nostril indents to be.
Using the “Move” tool I then shifted everything up along the Y axis and started blocking in the neck and body. This process was very similar to the head, where I first blocked in the basic shape, rounded off the corners and edges, and added in more colour and detail.I then added in the legs and the teats to the udders. This is where photo reference came in handy, because at first I gave the cow two too many teats!
Next I added the arms, a tail and a cowbell around its neck, creating new colours as I went. I drew the arms in a stretched out pose to make it easier later on in case I wanted to create a number of different cows in slightly different poses.
The cowbell was one object where using an odd number for the scene size came into its own, because I was able to use one voxel for the cowbell’s clapper. Anything more would have made the cowbell too bulky, or I would have had to enlarge the entire cow to make it work.After a few more tweaks, this was how the final cow model looked – you can see I added blue-ish grey patches to the cow’s hide, a few more colours to the cowbell, and made the brow area more pronounced. Adding more voxels around the brow meant the eyeballs themselves shrank to a single voxel in size; this gave the cow more of a nonchalant stare, which is exactly what I was after!
This was a quick test render I did to get an idea of what it would look like when properly shaded and lit:
At this point I was still in the mindset that I was creating an alien milking factory, so I started creating this milking terminal:
Although I quite liked the cow pats and the milk container (both of which I ended up keeping), and the TV broadcasting an endless image of a farmer’s field, overall I wasn’t entirely happy with the concept, so I scrapped it and instead started to reshape the base – really I’m just doodling to see where a change of direction might take me.
During this process I then had an idea: what if the milk container was a fuel tank for a spaceship that the cow herself was piloting and self-fuelling!? With this brainwave I started to add in some hand controls and foot pedals:
I then started to concentrate on the rear of the spaceship, and added a strange pulley-operated mechanism… complete with fire extinguisher, of course! It was starting to look like something out of Wacky Races, which is never a bad thing!
I then decided to add rocket thrusters, which I intended to attach to the underside of the main platform.
At this point, because it was going to be easier to make the thrusters in a separate scene, I exported my colour palette as a PNG. I do this quite often when working with multiple scenes, always making sure my main palette image is kept up-to-date so that all my scenes are using the same colours. This means I won’t have to do any colour replacing later on when I import the thrusters back into the original scene.
I then created a new scene, set the scene size to an odd number, imported my colour palette, turned off symmetry, and started constructing the thrusters. For the main body of the thruster I used the “Center Mode” to make a flat cylinder, then the “Face Mode” tool to expand it until I was happy with the length. I then rotated it so that it was in the correct orientation relative to the spaceship. I then turned symmetry back on.
To create the rounded front end I used “Voxel Mode”, and under “Voxel Mode Option” I changed the brush shape to “Sphr” and the size to match that of the cylinder. I then added the tail fins and metal brackets. As soon as I was done, I re-exported my colour palette so that any new colours I’d created while working on the thrusters could be transferred back to my original scene.
The thrusters were by no means final but they were a good starting point, so I added them to my main scene by importing the VOX file as a pattern and, using the “Pattern” tool, painted them roughly on to where I wanted them. When using the pattern tool I find it’s sometimes easier to paint an object onto the ground plane as far away from any other voxels as possible, then “Box Select” it and move it into position (which is what I did).
This is what the spaceship looked like after I’d attached the thrusters:
You can see I added quite a few extra details to the thrusters, replaced the front antenna with some tubing, made quite a few colour changes, and added various other details to the spaceship itself (like the front headlights and rear propellers). As with the thrusters, I created the front headlights in a separate scene and painted them on. These little extra details helped to keep the overall shape balanced now that it had two huuuge rockets hanging off the bottom of it!
As a final step I added in a grappling hook, a dust cloud (caused by the hook being dragged along the floor), and some afterburner effects. Spending time on these kinds of effects is worth it because they can instantly make a scene look more dynamic.
Creating the Terrain
The terrain was fairly straightforward to make, but time-consuming!
The following screenshot shows the basic building process:
It didn’t have to be symmetrical so I set the scene size to 126x126x126. Using “Face Mode” I then created an initial ground plane upon which I intended to paint the basic undulating areas (1). The blue colour I chose was to give it a sense of being a moonscape, or possibly even a night time desert setting.
I then started blocking in the rough areas using “Paint Mode” (2). Every time I added a new area I would first create another colour that was slightly brighter or darker than the previous one. This helped to create greater definition between each layer.
I then used the “Face Mode” again to incrementally extrude the new layers one voxel up (or down in the case of the crater) at a time (3). I then added a bit of extra volume to the terrain so that it would look slightly more substantial from side on (4).
I then created more colours to add a shadow and highlight line around every extruded edge, again to enhance the definition between layers (5). This was the time-consuming bit, but overall I think it was worth it!
The last step was to add lots of small rocks to make it look like a dusty moonscape or desert (6).
This was a test render I did to see what the final spaceship looked like hovering above the terrain:
Creating the Backdrop
At this stage I still wasn’t entirely sure how to develop the scene. In fact I probably would have been happy to submit the spaceship as it was. In the end, however, I decided to add some additional terrain segments to create a more interesting backdrop.
I thought a good size would be a 3×3 environment, with my existing spaceship scene being the centre square. This meant I had to repeat the laborious process of creating terrain segments eight more times! I also had to make sure each segment would fit together, and I did that by always using shared edges from previous neighbouring terrains as the starting point.
Once I had a complete set of terrain pieces I exported them as OBJS, imported them into Maya, and put them back together again to make sure they all fit. It was at this stage that I quickly realised it was missing a space backdrop, so in Photoshop I created this quick and simple piece of pixel art:
I made it 378x126px, which was how big it needed to be to span across three scene segments. I then saved it out as three separate PNGS, one for each of the three background terrain segments, and imported it into MagicaVoxel. MagicaVoxel allows you to import models (to create instant volumes) and images (to create a 2D voxel plane with your artwork already projected onto it). I did the latter by selecting the “Import Model” option, and importing my three images into each of the relevant scenes. Then, almost without thinking about it, I chose to mount the backdrop pixel art onto a wooden frame, and suddenly it was a mooovie set!
The Film Crew
Now that I knew I was creating a movie set, I started to create a film crew.
Firstly, I created an old-fashioned movie camera and set lights, again each in its own separate scene:
Then I created a movie director, complete with a Spielberg-style baseball cap, loud hailer, director’s chair, mug of hot dairy-free coffee, and (of course) cow pats:
Most of these objects were fairly quick and simple to make. The director, for instance, I derived from my original cow model.
I then added them to the relevant terrain scenes and re-exported everything.
This was a test render I did of the finished film crew sitting on their terrain segment:
Building the Final Scene
With every object and terrain segment exported as a separate OBJ, I imported them all into Maya again and pieced them back together like a big jigsaw puzzle. At this stage I really started to get a sense of how it was going to look, and the fake moon landing conspiracy theory came to mind.
As you can see in the previous image, I had also decided to add a few more objects to make it slightly more interesting. For example, I added some cacti, connected the film crew’s equipment together with lots of wiring, and created this sleeping cow which I hid behind one of the backdrops:With every terrain segment grid-snapped into place, I then removed any unnecessary hidden geometry, applied my colour palette texture map to it, and then exported the entire thing in FBX format.
When exporting a non-animated, Sketchfab-bound FBX from Maya, most of the default settings are fine. The only options I tend to change are “Triangulate” (to true), and I disable the “Embed Media” option – 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 and Configuring the 3D Settings
With my final assets ready to go, it was time to upload it to Sketchfab and configure the 3D settings!
Usually when adding a model to Sketchfab I work through each tab sequentially, and the settings I choose are the result of trial and error for that particular piece.
Seeing as this piece had a very cartoony art style, most of the 3D settings I used were very simple. A few settings worth mentioning are:
- I set the camera’s FOV to 20° to give it an almost isometric style.
- For the background I used the Milky Way HDR image, which is perfect for night scenes.
- For lights I created a single blue-ish point light (to work in tandem with the global illumination of the HDR image to control the amount, and tint, of ambient light), and two spotlights (which I placed in front of the set lights).
- I chose to cast shadows from both the spotlights and the HDR image because I wanted to create a criss-cross effect to give an indication that there was a setting sun somewhere off-screen; this was a night time film shoot after all!
- I created an emission map to cause the set lights, afterburners, headlights, and a few other details to glow.
- For post-processing I enabled SSAO, depth of field, added a subtle vignette (to enhance the night time feel), and enabled the bloom option to emphasise the glows being produced by the emission map.
The final step was to add some annotations, and before you know it the famous director “Stanley Cowbrick” was at it again, filming yet more fake mooon landings for NASA!
The Finished Piece
I love these sorts of contests on Sketchfab because they usually allow the freedom to do pretty much whatever you want, albeit within a certain theme, modelling method or art style. It’s also a great opportunity to see other artists at work, going through the same process as you are while working to an identical brief. I also find that having a deadline is an excellent incentive to finish a piece of work – 3D artwork can often be so time-consuming that getting started is usually the most difficult hurdle.
Sketchfab is the perfect platform for showing off your 3D assets, especially for artwork created for a community contest or challenge such as this. The process of uploading and configuring your artwork is fast and incredibly simple, and, most importantly, the real-time render quality is superb!
Thanks for taking the time to read my little making of article, hopefully you’ve come away from it learning something new.
I had a lot of fun creating this scene, especially as it took me in a completely different direction than I had originally intended!
If you have any questions about my process or would like to ask me something about any of my other work, or if you’d like to hire me, then please feel free to contact me. You can find me on my website or you can send me a message via my Sketchfab profile.
Finally, a big thank you to Sketchfab for allowing me this opportunity to contribute to their blog!