Kuna Nuka
Introduction
Hey! My name is Zoé Brening and currently, I'm a student at Think Tank Training Centre on a Character for Games path.
Goals
In this article, I am going to explain how I created my recent piece “Kuna Nuka” based on a concept by David Benzal; covering the main steps I followed from gathering references and sculpting, to rendering in Unreal Engine 5.
When I started working on this project, I set three main goals. I wanted to create a realistic hairstyle with XGen, improve my skin texturing workflow and learn how to render a character in Unreal Engine.
Software
Maya, Zbrush, Substance Painter, Marvelous Designer, Unreal Engine 5.
References & Inspiration
It’s nothing new when I say that gathering references is one of the most important steps of the work. I started by studying the concept and trying to find real photos of something similar.
I often start with face references, gradually adding more references depending on what part of the character I’m working on. It is important to consider the focal length of the camera used in different photos, as it affects the “fisheye” of the face to a lesser or greater extent.
I always try to find photos from multiple angles (front, side, 3/4) with minimal perspective distortion.
For the face of the character, my main inspiration was Tsunaina, a model of unusual beauty. I was also lucky enough to find a model with exactly the same hairstyle as in the concept.
Blockout
To save some time, I used a basemesh. I’ve found that good topology from the beginning helps a lot when moving to smaller details.
After I was happy with the primary shapes (mainly proportions) I sent a decimated version over to Marvelous Designer to create a base for the garment and get more realistic folds.
When I was satisfied with the simulation, I retopologized the clothes in Maya to get a clean mesh for
further work in Zbrush.
High-Poly
In Zbrush, I started adding details to each of the elements. On the fabric and leather pieces, I added damages, stitches, and accentuated folds.
I wanted to add a point of interest on the back of the model. So I came up with the idea of a shield.
The technique of making it is not complicated. I made the shield using alpha as a base and then sculpted it on top of it.
For the alpha, I used Standard Brush with the Focal Shift -100 and DragRect Stroke.
Low-Poly and Baking
Once the high-poly was done, I decimated all objects and exported them to Maya.
For low-poly creation, I used the Quad Draw tool in Maya. To avoid a seam between the head and the body of the model, I matched the topology using vertex snapping.
I manually unwrapped the objects, making sure to arrange them in the same direction where possible, and had the same texel density.
Sculpting face
There’s not much to say about it, except that you have to work on the hierarchy of shapes. I started blocking out general forms of the face on a very low-density mesh. And when I was satisfied with the primary forms, I subdivided the model to add smaller details.
Evaluating your sculpt in a proper camera view will help identify any obvious issues early on. I sculpted with the perspective turned on and a focal length of 80.
When I was done with the primary and secondary forms and happy with the overall look, I then moved on to detailing the skin.
For this project, I used a Vface XYZ head. Since I was using my own mesh, I ended up wrapping the mesh that was provided with VFace to my own to transfer the textures. I did it using ZWrap. Here is a video on how to use the plugin.
Before wrapping, I usually store a morph target so that I can always bring back some shapes, such as a mouth bag and/or an inner eye area.
I then split a displacement map in Photoshop into three channels for each level of detail and applied them back in Zbrush as layers, where the intensity could be adjusted. Those areas that needed to be cleaned up were corrected manually. Zbrush’s layer system and a morph brush came in handy for this.
I used Daniel Boschung’s high-resolution photos as references for pores and wrinkles.
Texturing
After I’ve transferred the displacement map, I brought the model into Substance Painter.
My initial wrap wasn’t too bad, but I had some minor errors when projecting. I corrected them in Substance Painter, and also added layers of hand painting (blemishes, tonal maps, veins, arteries, freckles, and sunspots) to achieve the desired look. However, I tried to keep the natural look of the skin.
All maps were baked in Substance Painter.
Hair
All grooming was done in Xgen. I broke the groom up into descriptions for the main hair, knots, strands, flyaway, eyelashes, eyebrows, and vellus hair.
To create a separation on the main hair I painted a region mask.
The knots were a long process. I first modeled them in Maya (I made four different types of knots) and then extracted their edges as curves (Modify > Convert > Polygon Edges to Curve). To get the guides from the curves, I used the Xgen utility Cuves To Guides.
Once the groom was finalized, the Xgen descriptions were converted to interactive grooms and then imported as alembic cache into UE5.
Look Dev
This was my first time using UE, so the learning process was a bit confusing. Fortunately, there are a lot of tutorials on the internet that have answered most of my questions.
I created master materials for the major types of materials. The master was made as modular as possible.
To create the hair material I was following the tutorial by J Hill and Unreal Engine documentation. As a result, I get the shader, that uses linear interpolation to change the hair pigment along the length of the hair.
I was using MetaHuman eyes geo and shaders. First, I exported eye mesh from the MetaHuman project. I adjusted the shape of additional geos, such as the tear line, cartilage, and ambient occlusion plane in Maya and import them into my project. As for the eye mesh itself, I highly recommend leaving it untouched, as it has very specific UVs.
As for the skin material my idea was to create it from scratch. The tutorial by Nick Rutlinh helped me a lot in understanding the shader workflow. The modular workflow was used here as well to make iterating on the material a lot faster. The material was divided into different groups to control individual parameters.
Environment Setup
I started my look dev with the provided HDRI that comes with Vface before I moved on to my own lighting. But then I switched to the skylight with custom HDRI and added a few more lights; to
emphasize the model’s skin and hair. I didn’t use the skylight for anything major. I wanted it to add subtle reflections.
So I set it to very low intensity. All my lights were set to „movable” instead of „static“ or „dynamic“.
I also downloaded a snow texture from Quixel Megascans and assigned it to a plane. I used an ExponentialHeightFog and Snow Emitter to create a cinematic effect.
Conclusion
It was a challenging but rewarding experience that helped me improve my skills.
I hope you enjoyed reading about my workflow on the project and thank you for taking the time to check it out!
And many thanks to the GamesArtist Team for giving me the opportunity to show you some insight
into my process!
If you find any of these techniques useful, please tag me on my social media.
Let’s grow together!