Professional Services
Order outsourcing

Creating a Realistic Red-Haired Woman in ZBrush, Maya & XGen

Character Artist Rajitha Naranpanawa has shared the workflow behind the Autumn project, talked about setting up the skin, and explained how to use XGen to create and groom hair.


Hi, my name is Rajitha, I’m a Freelance Character Artist currently living in Australia. While I’ve been mainly self-taught, I graduated from the University of Technology Sydney with a Master of Animation and Visualisation in 2020. For the past year, I’ve been working at Fin Design and Effects in Sydney, but very recently I switched over to freelancing full time.

The Autumn Project

Autumn is one of the four-part portrait series that I’m working on. I began working on Autumn last year while I was at university, but at the time I did not really feel like I had the skills to complete it. As a result, I felt defeated by it and ended up deleting the whole project except for the sculpt. I kept the sculpt for the odd chance I would attempt to revisit it in the future.

I try to make my portraits look somewhat strange and unique. In this case, an Asian girl with freckles and ginger hair, which is a combination that you typically would not see naturally. I created a concept of her from many different faces and did not have a particular reference I was trying to match. I went through multiple iterations of it, and it took me quite a while to get the look I wanted. I would say this is a downfall of not having a key reference.

Sculpting the Head

I had the opportunity to write an in-depth breakdown of one of my projects for TexturingXYZ in 2020. While it's dated to an extent, my workflow is somewhat similar. I’d recommend checking that article out, as the present article is more of an update.

There’s no real secret to sculpting, it's really about training your eye to sculpt what you see. The anatomy of East-Asian individuals tends to be a bit unique much like any other race, particularly around the eyes and cheeks. Very early on I struggled to get the epicanthic fold correct, but it was essential to do so, as it's a distinguishing feature in their anatomy. 

As for tips for beginners, I would say anatomy is such a strong fundamental in art and should not be neglected at any cost. Thus, focusing on anatomy very early on, I would say is a must.

Texturing the Skin

For the displacement, other than hand sculpting, I use a mixture of TexturingXYZ and 3DScanStore's Displacement Maps. Using both helps me compensate for areas where one might lack. I wrap my model onto a generic BaseMesh from 3DScanStore, that way I only have to worry about projecting the TexturingXYZ Displacement Map. The resolution of my texture maps is quite high. I use 16k and 8k maps for it. All the other maps are in 8k though. I believe having such a high resolution helps show the micro details since I’m only using 1 UDIM.  

For the Albedo as well, I used a mixture of hand painting (which I also do in Mari along with the rest of the textures) and texture maps from 3DScanStore and TexturingXYZ. To get the look I wanted, I had to hand paint a fair bit, which I think is a very enjoyable and artistic process. 

My shader is quite simple, there really isn’t anything special with it. I think it's the texture maps that I painted to drive them that really help with the realism.

The GIF below shows my final maps that are read by the shader. The only things that I play around with in the shader are the SSS scale and radius. I usually start with the recommended settings by Autodesk, then go from there.  


The hair was probably the most challenging part for me, I struggle with grooming still, but I’m generally happy with how the groom turned out. To start the groom, I sculpted the rough shape I wanted in ZBrush, this helped me when it came to placing the guides. The general gist of XGen is to place guide curves and sculpt them according to the shape of the style you want, where XGen will use those guide curves to extrapolate and generate the groom. 

For the lookdev of the hair, I used the aiStandard Hair shader. To get a realistic look, there needs to be variation in both the roughness and color of the groom. To achieve this I used a PerClump ID and PerStrand ID to generate the variation that was used to drive the shader attributes. Since I have three levels of clumping, I used an aiLayer node to blend those three in an additive manner which was later blended with the PerStrand ID to achieve finer variation. Throughout this process, I used the aiRange node to grade the levels of the black and whites to make sure it is blending well. This was then plugged into the melanin value, roughness, and an RGBa layer. For the Albedo, the blended ID was used to layer multiple variations of orange and red. The final hair color was a result of this. JesusFC has some great tutorials, this is where the majority of my knowledge came from.


Autumn had her fair share of challenges, my lack of skills at the time I started the project and having no real sense of direction were probably the two main things that I struggled with. It took quite a while to settle into the rhythm of it, but even then, I decided to drastically change the composition and lighting last minute. I would not recommend this to anyone. In the future, I would definitely start with having a much stronger idea of what I want to accomplish.

As for final tips for aspiring artists, if I learned anything this year, it would be the fact that perfection is an unattainable goal. As artists, our self-image is tied to our work. So naturally wanting to show ourselves in the best light makes sense. However, this path can lead to misery as there are always things to improve and fix. Especially true at the beginning of this journey.

You can contact me on my ArtStation, Instagram, and Twitter.

Rajitha Naranpanawa, 3D Character Artist

Interview conducted by Arti Sergeev

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