Project Overview: Holdeen's Max
Gilberto Magno shares how a concept by Dean Holdeen inspired him to create a 3D version of Holdeen's classic character!
Hello everyone. I would like to share the workflow I used in my last artwork, Holdeen's Max, based on the art of Dean Holdeen. You can see the original concept here.
What led me to choose this concept initially was the fantastic design of the shield. Although Max belongs to the universe of Project D, I think that he seemed to fit in more with the art of Darksiders, and at the time I was looking for something in this style for modeling. Also I'm a big fan of Holdeen's art.
Low poly modeling
Before I started modeling, I took the concept into Photoshop and I did a montage to use as a model sheet. I clipped one half of the shield and using the Warp tool, adjusted it to leave it in a front view.
I started by modeling the shield because it was what motivated me initially. To make good use of the silhouette I chose to make my base mesh in Maya, poly by poly.
The second part to be modeled was the helmet. I used the same process as I'd used for the shield, to keep the shape.
For all parts of my base mesh I used the same workflow, always leaving the concept in the viewport as reference.
Before making the details I did the low poly character first of all; it gave me more freedom to adjust the proportions more quickly and more practically.
Once the base mesh was ready with all the parts, I gave the model a more a general look before starting to detail. To help me adjust the proportions and silhouette, I turned on the light of the viewport without any light in the scene. This left me with a black shader that allowed me to see the silhouette of the character perfectly.
High poly modeling
With the base mesh ready, I took the model into ZBrush where I added the details to the high poly. This was the moment where I loaded all my SubTools and organized everything.
Just like in Maya, I started by modeling the shield in ZBrush. To make the ornaments I masked some parts and used the Inflate deformation. For the more organic parts, like the face of the shield, I used the Clay Tubes, Standard and hPolish brushes to sculpt.
For all the other parts of the model that had ornaments, I used the same process to make the design with the mask and then used the Inflate deformation.
For extruded parts, I used a mask and the Inflate deformation, and Polish to smooth.
To create a rusty metal texture, I used NoiseMaker > Erosion. And to add in some irregularities, I used the Clay Tubes brush with low opacity on the surface.
To create the chipped metal, I used a mask and ZAdd/ZSub with the Inflate brush in places on the surface.
To add grooves to the metal, I used the Slash 3 brush and some alphas. I used alpha 58 the most.
One part that was difficult to make was the hexagonal arms. First I mapped the arm. Then I did a pattern in Photoshop and loaded it into ZBrush as an alpha. Next I converted the alpha to a mask and increased the Inflate value. The studs I put in one by one, with the Inflate, DragDot and Alpha 14.
I've created a video to show this workflow better here.
Here are some pictures of the high poly.
To build the back details without departing from the concept, I gathered some elements of ornaments from other parts.
After finishing the high poly and low poly it was time to do the UV mapping to get the textures. I organized the UV layout into three parts to have better texture resolution: 2 x body and 1x shield, all at 2048.
With the mapping done, it was time to make the bakes. To help me in this process I used xNormal. For each piece I did three bakes: ambient occlusion, normal map and cavity map.
After the bakes were ready, I used Photoshop to join the pieces and make the diffuse map. To give the appearance of rusty metal, besides using the occlusion and cavity maps, I duplicated the cavity and inverted the colors and used it as Multiply to generate dirt in the corners, like rusted metal. For the painting, I left the concept parallel and picked colors to use as a color overlay.
Shader, Illumination and Render
With all the textures ready, I used a default Maya Blinn shader to test my stuff. To get the shader to look metallic, I set Eccentricity to 0.200 and Specular Roll Off to 2.000.
To get the lighting similar to the concept, I used a spot light as the main light at the same angle as the lighting in the concept. I used two area lights for light trimming, one as a back light and another as a rim light.
And as I did not want to use any of the mental ray shaders, I scattered some point lights to generate a specular gloss on the surface of the model, causing the idea of reflection.
For the presentation render, I used mental ray. I have not used an advanced setup in mental ray; I just used Final Gather to help bounce light. I did a specular render pass to make a fake bloom effect in Photoshop.
Unity 3D engine
First I exported the character from Maya in FBX format, because this format saves the animation information and Unity works perfectly with it, along with other engines like UDK.
Then I imported the model for my project into Unity. When importing the FBX the engine automatically recognizes the animation and generates a clip.
For the shader in Unity I used a default (Self-Illumin/Bumped Specular) because it allowed me to use ambient color and specular color as tints. As with most of the shaders in Unity, the specular was used in the alpha channel of the diffuse map.
With the materials ready, I did the lighting at the same angle as I'd done in Maya. The only difference was I didn't use several point light so as to not weigh the scene down.
To simulate an ambient light, I controlled the ambience in the shader. I will not go into details about the configuration of particles and scripts as it would be too long. Soon I will share a full tutorial on how to create a scene in Unity to show your character.
To make the Unity render beautiful, I set the render quality to Fantastic, which leaves the engine to render at the highest quality, with anti-aliasing, soft shadows, etc.
After, I added the scripts in the scene, a mouse orbit camera and another to control the character animations. For this part of programming I counted on the help of my friend Kleber.swf. Finally I just did a Build Web Player and incorporated it into my site. If you want to see to see the result, just click here.
You can also watch a video presentation of Holden's Max here.
Thank you all for taking a time to read this project overview.