Making of "Garuda"

Hello everyone, my name is Michael Robson. I'm a 3D character artist living in Curitiba, Brazil. In this tutorial, I'm going to show you my approach to making a 3D character for a cinematic animation. The character is based on the concept art by the talented Tianhua Xu. The concept is a representation of the Hindu god Garuda, and the moment that I saw this concept I told myself that I had to reproduce it in 3D.

Analyzing the concept and gathering references

This step is for sure one of the most important when we start to model a 2D concept: the goal of this particular project was to achieve a realistic look. Try to collect good references as much as you can, reference with good lighting, texture and of course a decent resolution, so you can see the little details that will make a huge difference later when we are going to render the character.

Blocking the character

Here we start sculpting the character. In this first step we don't need to concern ourselves with the details, our main goal is to get the proportions right. Don't rush this step because if your base here doesn't look right, you're going to get problems later trying to fix it. My personal preference when I start the blockout of any character that I'm working on, is to sculpt a single object, get the right proportions first, and then I cut the parts to work more isolated, so I could get a better focus on each element (this is not the detail phase, just my personal preference).

Blocking the secondary elements

When I'm happy with the body of the character I start to work on the secondary elements, such as the clothing and the other accessories. For the cloth modeling, I mask a part of the character's body, extract and Zremesh it. After that, I basically start sculpting the folds using a combination of masking and more brushwork (Standard, Clay Build Up, Pinch) always work big to small, sculpt the bigger forms first and then go to the secondary and tertiary forms.

For the other accessories such as the chains and earrings, I poly modeled in Maya using the standard primitives.


This step is one of the most important steps when you're doing a character for animation. Some people like to use Zremesher to rebuild the topology, but my personal preference is doing it all by hand, this way I have total control of the loops. The tools that I use for retopology is the Quad Draw from Maya.

I exported a decimated version of the mesh from ZBrush and bring it to Maya. Using Quad Draw, I start to rebuild the quads on the mesh in a logical way for animation, generally, the face, joints of the arm, legs, and hands, are the areas where you need to pay more attention distributing the quads.

I also did the same process for the fabric that was sculpted earlier.


After you've done all the retopology on the character, it's time to unfold the UVs. Good UVs are crucial when we start to paint the textures in the character, and if you did a good retopology before, you're not going to have a hard time opening the UVs. For this particular character, I separated the UVs in UDIMs to have a higher texture resolution and by object, for some objects, I used the same UV island (the smallest metals for example).


Now that we have opened up and arranged the UVs properly, we're going to start detailing the character back in ZBrush. Here I imported the clean mesh with the UVs and start the detailing process, generally at this point I always work non-destructively, to do so we're going to create layers in ZBrush. I also used a standard alpha in ZBrush and start to give some more detail on the surface.

For the other parts such as the cloth and metals, it is not different, we'll work non destructively with layers. For the shoulder armor detail, I use a very common method to make ornaments. Just import your geometry with UVs, subdivide a couple times until you get good resolution, and create a new layer. After that use the masking technique, similar to the one we used earlier on the cloth, then just draw your ornament, invert the mask, and after that you can use the INFLAT brush or the INFLATE option under the menu deformation to make the design stand out of the surface.

Extracting the maps from ZBrush

Now that we've done all the finest details on our high poly model, it's time to extract some maps from ZBrush to help us achieve those details into our low poly model.

in this particular project, I extracted only two maps from ZBrush, which was the displacement map and the normal map. We're going to use the displacement later only for the body because I want to achieve a better quality of the details of the skin and the normal map was not enough for this task. Also, the displacement map is very heavy when we start to render our scene so we need to keep in mind that and use this map smartly.

To extract the maps I used the multi map exporter from ZBrush

Creating the scene and light in 3ds Max

In this step, I exported the low poly model to 3ds Max and started to set up the scene with V-Ray lights and some different HDRIs, to see which one fits better what I'm looking for.

Texturing the model

After we're happy with the light, it's time to paint the textures for the character. There are a lot of software for this such as Mari, Substance Painter, Mudbox, and ZBrush. I used Mari to paint the body textures and Substance Painter for the other elements. Those software are easy to use and there is a lot of content online for study.

Example of Mari Textures

Example of Mari Textures

Example Substance Painter Textures

Example Substance Painter Textures

Shaders and map setup in V-Ray

In this step, we are going to set up the shaders and maps for the character in V-Ray inside 3ds Max. The SSS shader is one of the most difficult shaders to set up, at least for me; it was a huge struggle at the beginning, for this shader to work well you have to make sure that your model is in the correct scale, that's why we always work with real world measurements, otherwise the SSS will not work correctly.

shader setup for the skin

shader setup for the skin

Clothing and metals

For the other elements of the character, I used VrayMtl, and the setup for each one is very similar.

Quick Tip: When you are setting up the normal map in 3ds Max, make sure to flip the green channel and override the gamma, so the map will work correctly.

Displacement settings

To correctly do your displacement work in 3ds Max, you usually will have to find the right balance between the Amount and the Shift options, otherwise your mesh is going to inflate.

Quick Tip: To load UDIM textures inside 3ds Max, go to the material editor and create a VrayHDRI map. Make sure that your UDIM textures are named correctly and located in the same folder, after that load one of the textures on the bitmap slot inside the HDRI map, now you have to rename the end of the texture where it says the number of the UDIM tile (Ex. Displacement_1001.tif for Displacement_.tif). When you do that the HDRI map will load all the UDIM textures located in that folder at the same time.


To make the hair I used the Ornatrix plugin from Ephere. First of all, you're going to need a base to grow hair, and to do this we can select a couple of polys on the top of the head and detach then as a clone. I usually detach only half of the polys in the head and further apply a symmetry modifier.

Now we are going to apply some modifiers to help us grow and stylize the hair.

After we are happy with the hairstyle we add the "OX Render Settings" to control the size of our hair and the "Vray Ornatrix Modifier" so we can render the hair in V-Ray.

Posing the character using ZBrush

The final step is to pose the character like the concept reference. To do this, I imported the mesh from 3ds Max to ZBrush, and used the transpose master to move the parts and pose the character. This step is very important, so be patient and pay attention to the silhouette of the character as you are posing him. (Since we have done the hair before, I didn't move the head, I rotate the body instead. Do not move the head, otherwise, when we export the mesh for the final render in 3ds Max the hair geometry will not match the model).

Final render

Before we hit the render button, there are a few things we need to do. First of all, let's create a dummy helper; this will help us rotate the model easily so we can have some renders around the character.

Finally, we can render multiple views of the character.

Related links

See more from Michael Robson
Grab a copy of Beginner's Guide to ZBrush

Fetching comments...

Post a comment