Michael Robson, 3D Character Artist based in Curitiba, Brazil, breaks down his Magni King of Ironforge render.
Hello, my name is Michael Robson and I'm a 3D character artist living in Curitiba, Brazil. In this breakdown, I'm going to take you through the process of creating Magni, King of Ironforge: a fantasy character from the World of Warcraft franchise.
My main goal for this project was to push my skills as a character artist while achieving the best results. This was also my first project rendered with Arnold.
Concept and References
References are your best friend! Always remember that. I organized this step by breaking it down into parts and topics. For example, I created a mood board on PureRef and then displayed the quality I wanted to achieve for my final piece. The board generally consisted of characters from movies, video games, and more. It wasn’t a direct reference for modelling, but it conveyed the qualities I wanted to achieve. The characters also referenced materials and textures for my asset anatomy (skin, leather, metals, and fur) for when I started modelling.
Blocking the Character
Starting with a basic primitive in ZBrush and using Dynamesh, I sculpted the character as a whole to get the general proportions and silhouettes. I wasn’t yet concerned with the details, so it was a simple rough draft. I also used Maya to model the props poly by poly.
Modeling Armor and Cloth
After being satisfied with the overall look of the character block, I went into Maya to refine the details, remodel the pieces, and used clean meshes.
To make the cross leather on the under armor, I used a plugin for 3ds Max called "Weaver" which was created by Ivan Max. This tool saved me a ton of time and was easy to use. I modelled a clean quad mesh of the shape of the armor and used the plugin to create the cross leather.
For the scale mail on his arm, I created a tileable 3D pattern with Maya, duplicated it twice, used some deformers (like lattice), and then bent it to fir around his arm.
For the retopology, I exported a decimated version of the base mesh, sculpted the head in ZBrush, and then used Quad Draw.
Usually, the areas like the eyes, mouth, and nose are geometric, as they mimic the flow of the facial anatomy.
Quick Tip #1: If you have a symmetrical mesh, retopo one side and then mirror to the other. For example, I always start sculpting a face symmetrically and after having a clean topology, I send it back to ZBrush to break that symmetry. I then work more on the sculpt to achieve a nicer look, and use the collected references to help me with the face.
After the retopology, it was time to unfold the UVs. My personal preference for this task was to use Maya, as the UV toolkit does the job well and it is easy to maneuver.
For this character, I split the face in multiple UVs to paint higher resolution maps, rendered closer shots, and organized my UVs based on materials (metals, leathers, and skin). These steps made the texturing process easier and faster.
I brought a clean quad mesh into ZBrush and subdivided it twice to begin the detailing process. Using the collected references, I sculpted the details in various layers in ZBrush. With spray stroke, I did a general pass of clay brush to break the highlights of the metal. I added more layers for different types of damages and scratches.
I also used these amazing brushes from Michael "Orb" Vicente. Most of them have awesome effects.
When I was happy with the result, I exported the displacement maps from that piece and used them later for the render.
For the skin, I used some maps from Texturing XYZ and projected them on the geometry using Mari. After I covered the entire face, I continued with manual paint and projection until I was happy with the result.
For the rest of the character, I used Substance Painter which allows you to preview the 3D model. In Substance, I laid out some basic seamless textures, and then I brought out the details. For example, I added some dirt on the cavities of the metal.
Quick Tip #2: Try to avoid using too many Smart Masks and materials in Substance! Use them wisely, but focus more on getting rid of the procedural look.
Once the textures were finalized, I exported them with the Arnold preset, which is the default option from Substance.
Rendering in Arnold
I used the standard material from Arnold (AI Standard Surface) and plugged the textures in their respective slots. Substance names each texture in Arnold so it was straightforward. I also put an adjustment layer in between the map and the material parameter to tweak the map slightly.
For the lights, I used some HDRIs from HDRI Haven, and some additional lights from Arnold.
Hair Creation with XGen
I broke this section down into multiple steps:
Setting up your Project in Maya
One of the biggest mistakes people make when starting with XGen is not setting up the project before doing the grooming. This is a very simple step and it is the first thing you should do.
I personally like to go into Project Window to stay organized with the folder setup for my project.
If you have trouble with the destination, go to the “Set Project Window” in File, and then find the project folder to have your items sent there.
Organizing your Geometry
Before I started the Hair Creation, I had to organize the geometry to get a proper groom.
My personal approach was to work with detached geometry to grow the hair. I selected the face of my model and chose where I wanted the hair to grow from, then I detached it, renamed it, and put it in a named group called “the XGen Geos”.
Another important step is to have proper UVs on the geometry that you have detached. This was a crucial step to paint control maps later. Make sure to organize your UVs in the first UV island as XGen won’t recognize UDIMs.
Quick Tip #3: Don’t delete any of the scalp geometry that you used as a base to grow hair from.
Select the detached geometry and go to “Generate” > “Create Description”, name your description and collection properly. Make sure to check “Randomly Across The Surface” and “Placing and Shaping Guides”, then hit Create.
To style the hair the way you want it, you need to create some guides across the surface. These guides will tell the hair what direction it needs to follow. Make sure to give enough space between each guide that you place on the surface.
Another thing to keep in mind is to brush the guides in a way to enhance the hair’s volume. Once the hair is created, it will interpolate between each guide.
Quick Tip #4: Avoid making the guides completely straight!
In most cases, we want the hair to grow in a specific area. To do so, we use control maps. In this case, I used a density map to exclude the borders of my scalp to make the transition of the hair look natural. The areas in black specify where the hair will not grow and the areas in white mark where the hair will grow.
Quick Tip #5: When painting any map in XGen, make sure to assign the Standard Lambert1 material to each scalp geometry.
After I was satisfied with the guide work, I began playing with the modifiers. One of the most important modifiers is the “clump”. I usually work with 2 or 3 levels of clump. The first one would be a broad effect clump and then I created other tighter levels with different clumping maps.
Another important modifier was the noise as it gave a natural look to the hair. Just like the clump, I used the noise modifier in levels, from big to small levels.
Quick Tip #6: XGen expressions are very powerful. I like to use the "percent" in the noise to achieve those flyaway effects.
For the braids, I used an insert mesh brush from the BadKing website that had a nice topology. I then brought it into Maya and created Splines from the existing topology. After that, I aligned the tips of the spline in a base geo and used a utility modifier from XGen called "Curves to Guides". By doing it this way, the splines created from the braid geo become XGen Guides. I then repeated the steps, painted density maps, and created modifiers.
Quick Tip #7: Break your hair into different descriptions, so it’s easy to control. For this character, I broke the hair into many parts by simplifying them in a single description.
Creating nice-looking digital hair takes time and is a back-and-forth process, meaning you will have to re-work your guides, take a step back, re-paint your maps, modifiers, and so on. It is a complex process, that's why we have professionals dedicated only to grooming in the VFX industry.
If you want to dive more into grooming, I highly recommend you check out Jesus Fernandez’s content. He creates free videos on YouTube that covers the very basics of XGen, and also has a Patreon page with more advanced subjects.
This character took a lot of time and effort, and I would like to thank everyone who helped me, especially my friends Cesar Zambelli and José Pericles, who provided me with feedback and for being by my side throughout the whole process.