The making of 'Garrosh Hellscream'
Method Studios modeler, Mike Hong, shows us how he used multiple software packages to create his first orc, Garrosh Hellscream
I always try to push myself to make 3D art in a variety of subjects. This is because I can learn a lot of techniques during the creation process by learning how to use new software. I also believe that it's the best way to learn new skills.
I had made a few human characters in the past, but hadn't yet made any fantasy creatures. Then I remembered one of the illustrations from Blizzard Entertainment. Orcs are one of the most common and fun subjects to create in 3D, and I'd never tried to make one before – so since I'm a big fan of World of Warcraft, I decided to make this character illustration as my next project.
To start, even though I had a specific illustration as my goal, I still needed to gather more references of this character to create accurate details and the parts hidden in the illustration.
Modeling the body
I made the body in ZBrush first because it's the main object that will hold all the other accessories. It's not human, but it still needs the correct anatomy. I tried to find general orc character proportions and blended it with the basic human anatomy structure. This will be a still image, so I didn't make plans to do a lot of sculpting for areas that will be hidden by the armor.
My sculpting started from DynaMesh. Usually, once I'm happy with the overall form, I retopologize it and put more details when topology is ready. But in this case, I used ZRemesher – it doesn't generate perfect geometry but was more than enough for my purposes.
Modeling the armor
For the armor, I decided to make a base mesh in Maya, and then export it to ZBrush for the details. So I imported the body base mesh to Maya and made the armor base meshes to fit on the body. To help later on in the sculpting process, I tried to maintain an equal polygon density for each object – even if it was a flat surface.
There were a lot of skulls around the armor, so I created one skull in ZBrush and exported it to Maya, and then duplicated it around the armor where it was needed. I used the IMM Chain brush in ZBrush to create the wrist chains.
Once I was happy with base mesh, I created UV maps for each object. I used 9 UV tiles so I put a lot of detail in the texture maps, in case I wanted to use a close up render.
I exported each armor mesh to ZBrush. Before sculpting the details, I decided to make the pose first. Usually sculpting comes before posing, but this character will stay in the same pose for the final image.
There's a great tool in ZBrush called the Transpose Master. This makes all the SubTools low res and merges them temporarily to allow us to adjust the overall object together – this means it's great for posing, especially when a scene contains multiple SubTools. I could have moved and rotated the model using this temporary mesh, but instead I exported this mesh to Maya and rigged it so I could get a pose with a better weight distribution.
Once I was happy with the pose, I exported the mesh to ZBrush and switched the temp mesh to posed mesh. During this process, the Vertex ID or object name shouldn't be changed.
When all the base meshes were imported into ZBrush, it was time for sculpting. First, I thought about what kind of material it should be, and tried to collect reference photos of related objects.
Sculpting can be defined in terms of three stages:
1. Low frequency details
2. Mid frequency details
3. High frequency details
For example, skins can be defined like:
1. General muscle form
2. Subtle bumpiness
3. Pore, wrinkle detail
ZBrush has a great option in the brush settings – Spray. Using the alpha map with Spray is a fast and efficient way to generate basic surface details.
Once I had enough detail for the base, I kept putting more details on top. DamStandard, Trim Dynamic, and Alpha with DragRect brush options were my usual choices.
For the banner on the back, I used Marvelous Designer to create fast, easy and natural drapery. Nothing fancy in the settings; I just created the basic shape of the banner, used Pin to hold the top side, and then clicked Simulate. What a software.
I chose MARI as my main texturing tool. I set the texture size to 8,000 with a 16-bit color depth. 8,000 allowed me to put a lot of detail into the textures, and 16-bit gave me more freedom in the texture adjustment – though you need to keep in mind that this setting can easily become very heavy. Caching layers is one option for distressed GPUs, so when you think one layer is done editing, it's good to cache it. If it keeps getting harder to handle on your machine, you can always merge layers, change the depth a bit, or decrease the texture size.
Texturing in MARI is very much like sculpting. You need to apply a broad color base, then apply the mid color break-up, and finally apply the small details.
Tileable textures are a great option for making the base texture map. Photo projection gives you a great level of detail, and it's a key technique in MARI. Layering ambient occlusion maps also makes a very good starting point, and matches with geometry as well. Having a procedural layer is another great, easy way to break up the texture details.
Yeti is a great fur/hair plug-in for Maya, and is a relatively new software in the industry.
Setting up hair with Yeti was a little different to using other hair plug-ins. It's a node-based tool that generates hairs from hair-dots which can be freely moved around on a mesh surface. Each dot can be paintable, within a value range of 0 – 1. Most of the hair attributes supports this paintable value for its own input. The viewport hair preview is also pretty accurate as well. Overall, it's a great tool that offers a visually-intuitive hair-creation method.
Lighting and shading
Setting up the light is a really time-consuming stage. Keep moving the light around and adjust the value for each light till you're satisfied with the way it looks. Start with a Key light (the sun), then add one light at a time and try to render out separately with each light, so you know what each light is contributing to the scene.
I had a specific lighting set in my concept image, so I had to match the lighting setup for it.
I created a mesh for a light blocker, so the sunlight could travel through the hole. I then created a V-Ray Dome light with a HDR map to create an ambient light with natural reflection. I also created a spot light to make an intensive light falloff on his upper head.
For the skin, I used a VRayFastSSS2 shader, and the others are made from VRayMtl.
For the map input, I made a normal map from ZBrush and a bump map from the texture.
V-Ray has a VRayBumpMtl which allows you to hook up an extra bump/normal map on the existing shader. The skin shader has built-in specular options, but instead, I chose to use the VRayMtl for the sharp spec and Cook-TorranceMtl for a broad spec. I then used the VRayBlendMtl to blend them together.
The post-production stage can make a scene come alive.
For this project, I rendered out various render passes to prepare for this stage. Specifically,
I rendered Z-Depth, Material ID, RGB Light, Spec, Reflect, and a Beauty pass rendered with 32-bit EXR, so I could do exposure adjustment too without losing any color information.
I increased the rim light a bit, added depth using Z-Depth as a source of Lens Blur in Photoshop, and finally added a light fog on the bottom.
Creating 3D artwork usually involves a lot of work. To create the image that I'm aiming for, I sometimes need to learn many different aspects of a piece of software. Problem-solving skills are essential here, as some of the effects take weeks to figure out. From this though, I've learned that there's always a way out. Each time I finish a piece, I realize that all the work pays off – all that time I spent and the problems I worked through become part of my knowledge.