Making of 'Sea Turtle'
After playing for some weeks with ZBrush, I wanted to do a small project. As I am personally not too interested in those aliens, dragons and monsters that you see done a lot, I decided on a sea turtle. To keep this short, I'm going to assume for this tutorial that the reader is already familiar with the basics of Mental Ray for Maya and ZBrush...
I made a low polygon model in Maya 8.0, and for rendering I used Maya 8.5. The head, body, feet and shell were kept as separate parts. Because my PC had only 1 GB of RAM at the time, I imported them into ZBrush one by one. After initially trying to create the eyelid in ZBrush, I went back into Maya and modelled it there, too. The low polygon model can be seen in Fig.01.
Painting deformations in ZBrush, I presume, is a lot of fun with a graphic tablet. I tried this with a mouse but just wasn't satisfied with my sculpting results, and so for the detailing I relied mostly on deformations which were limited by alpha masking, and used bump mapping for smaller details. For this approach, properly laid out UV coordinates are required. With this approach it makes sense to do the texture painting prior to the detailing in ZBrush. All colour texture maps were 2D painted in Photoshop on top of UV snapshots. I painted in 2K and 3K resolution and used plenty of reference images from the Internet and photographs that I took in a Beijing aquarium. The UV mapped model (1 level smoothed) can be seen in Fig.02, and UV maps for all the body parts in Fig.03.
After finishing the colour maps, I painted, or extracted from the colour maps, greyscale deformations and bump maps for features like the wrinkles and bumps that I wanted to model in ZBrush. I used these maps to control the deformations in the ZBrush tool panel. When used as an alpha mask the black areas of the mask kept the model unaffected, so the deformations only changed certain parts of the model. For better control and a more irregular look I painted separate maps for different features, and layered the deformations on top of one another. Sometimes I even used different maps for the positive and negative deformation values. I imported the models into ZBrush and divided them six times. I then applied the alpha masking, and mainly positive and negative values for Offset, Inflate, Spheres and Taper deformations. For the small details and skin texture, a modified greyscale version of the colour map was added as a bump map on top of it. This way, the generated details matched the colour textures exactly. The head colour map can be seen in Fig.04; some deformation alpha maps used for masking the neck in Fig.05 - 06; deformation alpha maps used on the chin, and the bump map for head details (based on the colour texture map), in Fig.07 - 08.
Alpha masking applied to the neck can be seen in Fig.09; deformation applied to the non-masked parts (white mask parts) of the neck in Fig.10; the result of several layered deformations on the head in Fig.11; and the result of several layered deformations on the body in Fig.12.
There was some trial and error involved. On the body I ended up using Resym because the right shoulder looked good but the left one was not so great. When I liked the result, I created cage models at level 1 or 2 and exported the models in .obj format. I then wrote out 2K normal and cavity maps from ZBrush using the ZMapper plug-in. The normal map and cavity map used for the head can be seen in Fig.13 - 14.
In the end, I think the advantage of the deformation map approach when compared to free-hand sculpting gives very accurate control of the placement of details, especially when layering several deformation maps. The details fit the colour texture nicely. The downsides are the need to paint many deformation maps (about ten for the body alone), and having to switch back and forth between ZBrush and the paint program for every change in deformation. Worst of all, there was visible UV-stretching when deformations became too large.
After detailing, I went back into Maya and set up an underwater photograph back-plate, and matched the lighting to it. The back-plate can be seen in Fig.15.
The Volume light setup used Mental Ray physical light and the Mental Ray participating Volume shader, applied to a cube. The spheres in front of the Volume light were partially transparent, because of the visible streaks in the light cone. There was also a Fill light from below, and an IBL-gradient in the scene. The white sphere next to the head was not renderable and was used for the eye reflection only. The Volume light setup in Maya view port can be seen in Fig.16, and the rendering result in Fig.17.
I re-imported the "cage object" models from ZBrush and smoothed them in Maya, by one level. I used the Mental Ray architectural material for all shaders, as non-Mental Ray shaders are known to not work well with the physical light. I applied the painted colour texture and the normal map. The cavity maps went into the extra colour as a multiplier. The re-imported and smoothed 1 or 2 level cage objects can be seen in Fig.18.
I rendered everything in Mental Ray in 2K resolution and 16-bit colour depth. Because it's a still image, there were several passes for the lighting. I then put them all together in Photoshop. Some render passes: projected caustics and self shadow passes can be seen in Fig.19 - 20; Volume light and Ambient Occlusion passes in Fig.21 - 22; and Specular and Reflection passes in Fig.23 - 24.
I had to do some painting for the generated normal maps and on UV seams in the finished image, where I had not ideally placed the position of the camera. I finally applied depth of field using a Z-map, and used a Photoshop lens blur. The result can be seen in Fig.25.