In Art Spotlight, we invite Sketchfab artists to talk about one of their designs.
Hi everyone! My name is Simon Kratz and I’m a German 3D/VFX artist currently working at our self-founded start-up Klonk Games. This is my second Art Spotlight post after the Low-Poly Island and it’s about a project I’ve been working for a while now. Ever since Yooka-Laylee was revealed on Kickstarter over a year ago I was hyped for the game that was made by some of the same people who created Banjo-Kazooie and the Donkey Kong Country video games. These were among my favourite games of my childhood and they greatly influenced my path to working as a game developer so I decided to create a tribute to this project based on one of the early official concept arts revealed for Yooka-Laylee.
I started with blocking out all of the meshes in ZBrush. For such a high number of organically assets it felt the most convenient since I wasn’t bound by mesh topology and at the same time got high poly meshes for normal, AO and cavity baking. I also assigned a palette of flat colors to the different surfaces to get material IDs for the texturing later on.
After creating some automatic re-topology in ZBrush I cleaned it up, optimized and unwrapped it in Blender. This generally works pretty fast. As long as the high poly model consists of proper, continuous topology Zbrush can generate very good low poly meshes from it.
I tend to bake as many maps as possible to have a lot of space for experimenting and compositing. For this model I baked color IDs, curvature, AO, object and tangent space normals as well as height and translucency maps. Most of them were baked in XNormal but I also used the Knald Baker a bit since it’s quite a bit faster than XNormal and the quality is pretty good in most cases, too.
For the texturing I used Substance Designer exclusively. The textures mostly consist of color-grading and compositing the baked maps into each other. I could have done this in Photoshop, too but I like the fast realtime preview and the flexible non-layer based workflow in Substance Designer. It’s easy to change blending and you get imminent feedback about how it looks in 3D.
I also created some small textures from scratch in Substance Designer, like leaves, grass and the seaweed underwater. The style reference in the original was great and it was fun to create something in this style.
With all of the texturing done I moved to Blender for the final compositing of the scene and lighting. One thing still missing was the placement of the grass and the foliage on the tree. It would have been a pain to place all of the individual leaves on top of the tree. So I decided to use Blender’s particle system for this job. I blocked out the rough shape the treetop should have as a single mesh and added a particle system component to that mesh.
I set the type to Hair to get a constant number of permanent particles on the mesh and did some minor tweaks to rotation and size variation. Finally I set the particle type to object and assigned a mesh with a single leave to it. To get variation I added more copies of that particle system with slightly tweaked settings and a different looking leave assigned as particle.
In the end I placed a couple of key elements individually to better match the concept art but overall this method worked pretty well and very fast 🙂
Now lighting was another challenge. At first it was a real mess since the individual quads of the leaves were all aligned differently in 3D space and thus didn’t interact with the light in a way real leaves would. There is a small trick though to get proper lighting for foliage. I transferred the vertex normals of my blockout mesh to the quads of the foliage to get a more consistent and volumetric looking lighting from the treetop. The script is called “Transfer Vertex Normals” and can be found here.
Now with proper lighting setup I baked a Full Render pass to have lighting, shadows and AO in a single map. Finally, it’s ready for Sketchfab 🙂
I’m really glad Sketchfab also supports custom mesh normals since I tweaked the lighting even further inside the 3D editor. Despite baking all of the lighting I still transferred all of the PBR maps over to Sketchfab since I felt some materials still need to be a bit dynamic like the water and the skin of the characters. Also, the environmental lighting in the Sketchfab editor added even more depth to the scene so Normal Maps were a must.
I used Sketchfab’s realtime lighting to get a bit of more contrast between the lit and shadow side of the treetop. There’s a single spotlight cranked up really high to light the top leaves. Might not be the most realistic lighting setup but it worked 😀
I used one more spotlight to brighten the small isle and the characters a bit so that the focus remains there.
And that’s it! 🙂 I really like how this turned out on Sketchfab and I’m happy I was able to finish it on time of the release date for Yooka-Laylee. I never really did something in this style before and it was a great learning experience in both workflow and understanding of the style. I post all of my work on Sketchfab but you can also find me on Twitter and Unity Connect for projects related to my work (game development) and ArtStation for everything that exceeds 3D 🙂