In Art Spotlight, we invite Sketchfab artists to talk about one of their designs.
Hey! My name’s Juuso Mattila and I’m a freelance game artist based in Turku, Finland. I got my foot under the game industry door about four years ago as a game programmer, but transitioned pretty quickly to more graphical sorts of things. Nowadays I mostly create outsourced art for a bunch of game companies with my studio Walk Mode, as well as do my own art projects (such as this cow) every now and again! Today I’m talking about my basic workflows for creating a cartoony looking 3D bovine, as well as go over some stuff about how I took VR into account while making the model.
Most of the time I make some sort of sketchy drawing to get a vague idea for what I want to do, but never really anything too detailed: I want to leave a lot of stuff open for the 3D modeling process.
For the highland cow, I skipped the concept art process entirely and just looked at cow pictures for some 15 minutes to get an idea for what I wanted to do. I was mostly looking for the things that give highland cows their characteristics: they look very chilled out and happy with the way life is going for them. And also kind of dumb. I deducted that this is mostly because of their big dumb heads, and their eyes are often obscured by the massive amount of hair. So those would be the most important features I need to nail in order to make a cool highland cow.
I wanted the cow to work great with VR headsets available right now, from Google Cardboard to Oculus Rift. There are a lot of people figuring out what works and what doesn’t in VR right now so the rules don’t seem to be set in stone yet, but I’ve been doing my own tests with cartoony looking models in particular and figured out some basic tips:
- The overall detail level needs to be low. In VR headsets available today, the resolution is something that needs to be taken well into account. If your models have too much detail in them, not all of it can be seen clearly and it ends up feeling like the viewer has poor vision. It’s most obvious when there’s for example too small text to read, but the same applies to just having too much stuff and small shapes going on in your models.
- Shading should be as smooth as possible. This is also mostly because of the resolution, smooth colors and shapes read very well in VR.
- You can’t paint detail that implies depth into textures. This is of course kind of obvious since flat geometry looks, well, flat in VR, but it does change a lot of established 3D modeling best practices: you need to add extra vertices where you normally wouldn’t to sell the 3D, and you can’t add a lot of extra detail in textures without changing the geometry as well. Even normal mapped stuff looks really bad when viewed close up.
So with these in mind, on to the modeling!
With the limitations of VR in mind, I figured that fancier fur techniques such as fur shaders probably wouldn’t work so great. And anyways, I wanted to do something simple and solid so I went with modeling all the fur directly onto the cow. For a while, I modeled the cow without any fur. Still, I added it pretty early on as it was so important for the look. I wanted the head to be the focal point so there’s a lot more fur and detail going on there compared to the rest of it.
For this model I kept the low and high poly versions linked from start to finish, thus avoiding the need to do retopology for a final game-ready 3D model. This is not possible to do on all sorts of models, particularly if there’s sculpting required, but here I used a bunch of Blender modifiers to make my high poly version which constantly updates as I make edits to the low poly model. Generally this causes some extra vertices in the final model compared to doing retopology by hand, but for VR most of the extra vertices are actually helpful in making things 3D so it’s a good match for this technique.
This also allows for flexibility and easily going back and forth. For example, I was quite far into the texturing process when I realized I had forgot the ears entirely, but I was still able to pretty easily go back and make them, then continue with the textures.
For the style I was going for, a lot of coloring by hand is required to get the final vibrant colors. However, I want to start out with a solid baked texture as a base. I baked three maps from the high poly version to the low poly model.
The first map is ambient occlusion with a plane placed below the model to make it darker towards the bottom. The second is just basic colors. The third map is a bit more interesting: it’s a render with a light source placed above the model, and indirect lighting set to a very strong setting. This is useful because it spreads the colors around a little bit and makes things look soft and painterly. I combine these three maps in Photoshop along with some adjustment layers to produce this:
From this point on starts a labour-intensive process of going back and forth between Blender and Photoshop to hand-paint the final texture. I use a lot of Overlay blend mode for adding saturation and vibrance to the model in Blender’s texture paint, then go back to Photoshop and touch things up. It’s easy to go a bit too crazy when painting like this so every now and again I tone the texture down by blending some of the original bakes back into the model. I also baked a vertical gradient into a texture and used that to make the model more readable by darkening the texture towards the bottom.
Since my animation needs for this model will probably be pretty basic, I went for a “minimum viable” kind of rig.
I set up IK for all the legs, but other than that there is no automation and just the bare essential bones to do simple animations with. I added one bone to the hair on the top of the cow’s head, and two bones under its stomach to control the fur a little bit. While rigging, I had to go back to the texture for a couple of bits because the rigged model exposed parts that weren’t previously visible. The biggest offender was the hair on top of the head, a lot of previously obscured parts had to be repainted to look better with animations.
On the topic of animations I’m not much of an expert: I wanted a basic idle loop to go with the cow’s personality which I figured would mostly be just standing around with the occasional little hop.
And that’s pretty much the model! I uploaded it to Sketchfab and it just worked (™). I think, in terms of showing off your 3D stuff, Sketchfab is a pretty killer app and it’s bringing a lot of 3D work alive on the internet in a way images or animations can’t. It’s also darn neat to be able to check out models with google cardboard right from the player while developing assets for VR games!
Thanks for reading, folks!