Muhammad Aiman Zubir discussed his recent project, Guinevere, and shared his approach to modeling, working on facial features and fabrics.
In case you missed it
You might find it interesting
My name is Muhammad Aiman Zubir. I am from a small city in Penang, Malaysia. I am currently working as a freelance 3D artist, working on various projects around the world and spend most of my space-time doing personal work in-between clients projects.
My freelance work is mostly making 3D assets for indie games, enterprise projects, and I also help to make online tutorials for clients.
In the past, I have worked at companies such as Hasbro, and EA Sports as a character artist. At Hasbro, I worked on various toy brands such as Power Rangers, Transformers, and Star Wars to name a few. While At EA, I was involved in the development of NBA Live 19 and NBA Live 20 where I was responsible for the production of 3D character assets, and in-game engine integration. I also recently graduated from Savannah College of Arts and Design in Savannah, Georgia, with a Master’s Degree in game development.
I got into the world of 3D art back around 2012 when I started using ZBrush. After realizing the quality of my work using ZBrush, I teach myself the game development pipeline and build up my portfolio. After I graduate with my degree in media design, I decided to pursue my career in video games.
About the Career
My biggest issue when I started with my character projects was getting my character to look believable and natural. Understanding anatomy is the key for me to improve my character work at the beginning. I spend quite a lot of time sculpting anatomy slowly to improve my basics skills to this day. From there, I start developing my muscle memory, and I started learning new programs to supplement my character work.
To me, character design is basically costume design. I need to learn to create assets to make a cool character design. I explore different programs to see what I can do, and I like to use tools that allow me to art direct my design with ease without going too technical. Mastering these tools helped me to design characters faster and more efficient.
Back in the day, when Quixel and Substance were first introduced, I got really interested in the game development pipeline. This is where I started to dive into game art production. I self-taught myself a lot with help from online tutorials, to get me started. As more tools are becoming more accessible and affordable now, I find it more important for me to improve my art direction and train my eyes to produce better artworks. I also find out that doing personal works really helps me sharpen my skills.
Gathering the Reference
I started this Guinevere project as a part of the King’s Arthur real-time characters challenge on the Artstation website. My main objectives in this project are to challenge myself to manage my time and see what I can produce in a 2-month time limit while working a full-time job. This is a good practice for me to push my skills and be more productive in my free time. Since all the rules and technical requirement is provided, I can plan my projects accordingly.
The concept I choose for this project is by concept artist Kasia Slupecka. I choose this concept because it has all the elements that I want to improve such as the clothing, the different props, and the various materials on her. The overall concept is also very is loose 2D drawings which give me space to read the concept myself in 3D.
My first approach when gathering reference is to find a solid image that looks as close to the concept as possible. I like to keep my reference as few as possible so that I can get a better idea of what to work on. My main source of reference is on Pinterest and google images. I spent about a week gathering references and choose a few of them as my main. This helps me organize the assets that I am going to build so that I can get a general idea of which assets to prioritize over the other in order to meet the deadline.
The first thing I did when starting the sculpt is got the silhouette right. So when I shape the base human mesh, I have to keep in mind that the costume is going to shape the silhouette of the character. So I decided to use Marvelous Designer at this early stage just to get the silhouette looking right, but the trickiest part for me is to get clothing to look like I wanted. Even though MD can give out nice clothing, I find it hard to art direct them as I see fit. They seem too accurate with the cloth simulation. To do this effectively, I simulate the clothing in MD individually and I go back and forth between MD and ZBrush to see how everything shapes up. It took me a while to see how everything shapes up, but I try to keep it simple in MD and focus more on sculpting them in ZBrush later.
The biggest challenge for me when sculpting this piece and sculpting, in general, is the face. I find it difficult to tell the end result of the head sculpt in ZBrush vs the textured low poly head in Marmoset. For this project, I have to jump between ZBrush, Substance, and Marmoset just to get the face to look right. A lot of trial and error.
Working on the Face
The difference is mainly the file size limit for the Marmoset viewer. The model has 2 x 4k textures, which marmoset viewer reduces them. Also, the lighting and the render I set in marmoset really make a huge difference to my model and the textures, especially the Global Illumination which really fleshes out the render. It came out different when I export it to Marmoset viewer.
I create the details of the face using some of the micro skin details alpha from texturing.xyz. Using the noisemaker in ZBrush also helps me to break the symmetry details and gives more variation to the surface details.
The way I texture the face is just straightforward textures in Substance Painter. I started with a base layer using the face skin smart materials in the substance library. For the subtle pores and freckles on the face, I basically use a solid color layer and create a procedural noise mask with a level adjustment. From there, I mask out the area where freckles are naturally at the face. The freckles usually work around the bottom eyelid and the cheeks. I frequently export the textures to Marmoset to see how they look and update in Substance Painter. For the eyes, I follow the tutorial at texturing.xyz to setup the Marmoset shaders.
Creating the Details
I use Marvelous Designer for all my clothing works. I mostly use them just to get a good base mesh. The best way for me to get good clothing is to tweak and sculpt them further in ZBrush. Also, I use morph target, which I made in ZBrush and bring them in Marvelous Designer to get the folds on the deformed areas such as the tight belt and the ring on her scarf.
To sculpt them properly, I zremesh the base clothing that I exported from Marvelous Designer and create thickness to them using the Qmesh function in Zmodeler brush. From there, I sculpt the secondary folds and fix the mesh where I see fit. For the small subtle folds, I use some folds texture that I got from surface mimic and use them in Substance Painter as height maps. I also use tiling textures from texturing XYZ for the micro maps.
The string and the stitches were made in Substance Designer. I follow these tips by Cem Tezcan. The node setup is pretty simple. I basically made a grayscale shape in Photoshop for the clothes, and generate the stitches in Substance Designer. The stitches were generated using the tile sampler, and the direction of the stitches was controlled using the vector multiplier by sampling the normal map of the grayscale shapes.
Working on the Fabrics
I started the materials using the smart materials available in Substance Painter. From there, I add more layers on top of the base to bring out the details a bit more. For the fabric, I use some tiling texture from texturing.xyz and apply them in Substance Painter as a heightmap. Using the height as a reference, I can add more procedural details on top. The challenging part for me is getting the roughness and the metallic to look right. To do this, I have to go back and forth between Substance Painter and Marmoset Toolbag to make the materials look right.
To make the low poly for the character assets, I always keep the symmetrical assets as a single tool in ZBrush and retopo them in Maya. This also helps me when I bake the texture maps later. With the loose clothing assets such as the scarf however, I Zremesh them first in Zbrush, and then I fixed the topology in Maya. I did this because the loose clothing has a lot of overlapping layers, which are hard to retopo by hand. Using Zremesh really saves me a lot of time, but I have to tweak them first before sending them to Maya so that I can get a better-optimized topology for games.
To get a sense of thickness to the cloth, I extrude the faces around the edge of the clothing. The details on the clothes are mainly because of the texel density of the model, and the tiling texture which really gives a lot of artistic control to the fabric materials. I also leave a big space for the cloth UV island to fill up most of the UV space. Since I work on 2x 4k texture maps, I can get a good amount of details on the clothing.
Muhammad Aiman Zubir, 3D artist
Interview conducted by Kirill Tokarev
You might find it interesting