Game Character Production: Hair for UE4 & Texturing

Jóhannes Ágúst Magnússon did a breakdown of his Female Character project and shared a few useful tutorials that helped him along the way.


My name is Jóhannes Ágúst Magnússon, I´m a Character Artist from Iceland. 

I was introduced to the world of 3D when I enrolled in Reykjavik Academy of Digital Entertainment a few years ago. Before that, I loved playing games but I hadn't really considered making them for a living.

At school, I was actually aiming at becoming an animator so I didn't sculpt or even open ZBrush at all until a few months after graduation. When I realized I actually wanted to model stuff, I learned a bit on my own from various online tutorials and then signed up for Character Artist Bootcamp at Game Art Institute. There, I learned the full pipeline for character art. I've also taken a couple of courses at CGMA and most recently joined another online mentorship program where I'm working on the next character.

I'm currently working at Myrkur Games as a Character Artist which is my first job in the industry. We are developing our first game The Darken: Echoes of the End.

Female Character

Female Character Project: Body

I had a rough idea of what I wanted to do, so I gathered some reference, made a quick and super dirty sculpt in ZBrush and then did a rough paintover on top of that sculpt in Photoshop. It was pretty raw but it was good enough for me to get a clear idea of the character I was trying to make.

The body is sculpted from a dynamesh sphere. I usually make rough versions of the torso, arms, and feet separately and then combine them. I also duplicate my head and stack it up about seven and a half times next to my model to use as a reference for how tall the model should be and where to place certain landmarks. I knew most of the body would be covered up by clothes, so to speed things up I decimated my sculpt to get it into Marvelous as soon as possible and only retopologized those parts that you can see in the final model.


All the clothes were simulated in Marvelous Designer. I've been making attempts to learn it recently, mostly through tutorials at which is a really good resource for that purpose. The straps, however, were made in Maya and imported into Marvelous as morph targets to affect the clothes where needed. It's a handy trick I picked up from a tutorial by Olivier Couston.

The jacket, the backpack, and the pants were all made in separate Marvelous scenes to keep my workspace from getting too heavy and tedious to work in.

Hair & Eyebrows

Game-ready hair was both something I'd struggled with for quite a bit and one of the things I wanted to tackle in the project. One of the things that bothered me about making hair for UE4 was that you need a few different maps, and most workflows seem to involve generating them by baking hair geometry down to a plane. In that case, the results are nice but iteration takes a long time - you have to alter the hair geometry, re-export everything, and rebake multiple maps just to make a tiny change that you might not even like after all.

I like to constantly iterate and change things on the fly which is why I like working as non-destructively as possible. So when I saw the Hair and Fur plugin for Substance Designer by Eyosido that allowed to easily generate nice-looking hair textures with all the relevant maps without exporting any geo or baking a single thing, make as many tweaks as I wanted and just hit export to instantly update everything, I was pretty excited. Aside from this plugin, I don't use Substance Designer at all but after watching the tutorials for Hair and Fur I was pretty much ready to go. 

The hair cards themselves were placed manually in Maya in a pretty standard manner. I placed my hair texture on a flat plane, cut out each card and placed them by hand using soft selection in Maya, sometimes one at a time but often placing clumps of three hair cards to make volume. The hair is made up of three layers, the first one being the densest and the third one - most opaque, although in hindsight I did not make the third layer opaque enough and I should have put more variation in the length of the hairs in the outer layers. But that is something I learned from this project and the next time I will do better.

I like to try out new techniques and programs with every project I do, and some time ago I had seen a cool tutorial on how to make eyebrows using grease pencil in Blender. I decided to try it out, although Blender is not usually a part of my workflow.

The technique is basically placing a photograph of an eyebrow in your scene and tracing the hairs with the grease pencil. This generates curves that can be made into geo and baked down to a plane. It was easy to do and I liked the result, so that was a nice addition to my toolbox.

The tutorial is below: 

Texturing & Materials

I approach texturing the same way I approach most other things - just trying anything I can think of until I stumble upon something I like. 

For clothing, I like to assign materials without color first and just look at the normal/height information in the materials, basically finishing my sculpt in Substance. 

When I'm satisfied with the materials, I turn on the color information in each layer and change it to what I want my base colors to be. After that, it's mostly layering subtle dirt and wear on top of the base and then exporting to UE4 to check how everything is reading.

For the tattoo, I made a stencil in Photoshop out of some photographs of roses and projected them on my model in Substance. I then painted a bit on top of it with a basic brush to tidy it up.

One thing I like to do in order to check how well my character is reading is to take a screenshot and pixelate it. If it still looks kind of decent and reads well then I'm happy with it.

The skin texture started from a multi-channel XYZ texture that I cleaned up in Substance.

I clean up the scan data every now and then at work and this process is pretty familiar and straightforward to me. For the most part, I just sample colors with the color picker and paint with the dirt brush on the skin textures. It's a really nice brush for painting the skin.

I also used some tricks from Magdalena Dadela's lecture on how to paint skin in Substance, very useful stuff:

I usually put parameters in my materials to control my roughness maps, and for the cloth materials, it was the only adjustment I made - but it was an important adjustment.

 My skin material is more complicated than the cloth material but it's still very simple. I have parameters for specularity, roughness, opacity (SS), detail texture tiling, and strength. This is one of the things I really enjoy about working in Unreal - since I can make most of the changes in my material on the fly, I don't have to constantly tweak things in my texturing app and re-export. In the end, I would normally pack the roughness, specularity and opacity maps together to save on texture memory but since I was only doing the project for myself I wasn´t really optimizing.

Epic also has some skin materials that people can grab but for this project, I decided to make my own one.


The lighting is a pretty standard three-point setup with one extra rim light and a couple of lights brightening up the feet since they were a bit dark. Except for the extra rim light which is a point light, I only used spotlights.

I don't have too much experience with lighting in Unreal, but a character lighting breakdown by Bao Vu really helped me out and explained how the UE4 settings I needed worked. For other people taking their first steps in character lighting in Unreal, I'd recommend checking it out.

Special Thanks

As a final note, I'd like to thank the awesome artists on the Donpolygon Discord server for all the feedback they gave me. You guys are great!

Jóhannes Ágúst Magnússon, Character Artist

Interview conducted by Kirill Tokarev

Keep reading

You may find this article interesting

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more