Classic Oil Painting 3D Redux - Complete Tutorial on the Making of the Lady of Shalott

Login to Follow
  • Film & VFX
  • General
  • Modeling
  • Rendering
  • Shaders
  • Maya
  • Mudbox
Skill Level
  • Intermediate
1. Foreword

Software used: Maya, Mudbox, Photoshop, BodyPaint, mental ray
Production time: 2 months
Creator: Zhang Yang (zhangyang84)
Awards: CG Talk Choice Award, included in Expose5, included in Digital Art Masters 2 published by 3D Total, included in 3D Total gallery collection, and interviewed by Autodesk on the creation of this work.

2. Story, Concept Design, Drawing

Originally I wanted to create a portrait of a young girl who has a touching story, but more importantly that she would be in an environment that fits her story. Therefore I remembered John William Waterhouse's oil painting. He is my favorite artist. Because I wanted to see my own female character in a beautiful picture, I changed the girl and environment of the original painting. This picture is the original by John William Waterhouse.

The following is my own creative thought process, the original has a character full of body language and rich facial expression, and an aesthetic landscape with depth. This is exactly the common characteristic of all my works?character blended in with the environment in harmony. That was the reason I chose this painting. However, I had to consider that someone would think I just simply copied this picture, so I decided to add my own elements; for example: a more hopeful colour scheme and facial expression, and the addition of a beautiful waterfall. I did not duplicate every pixel 100%; I changed the lighting, perspective, colours, and atmosphere, etc. I almost spent one and half month of full-days to complete this piece, through this experience I learned a lot about traditional art, and knowledge of 3D and 2D.

Before I started the working process, it took me some time to decide which software and techniques to use to complete the work. I hoped to foresee as many difficulties I would encounter as possible: such as the wavy water-surface, the woods in the background, character's hair, and the lighting etc. Fortunately I found effective solutions to all those problems. Basically I used Maya to model all the elements; then I created models for important elements in Mudbox; textures were done in Photoshop, and I used mental ray for rendering.

3. Collecting References

After I finished the concept design, I spent a long time collecting various references, such as human anatomy diagrams, human skin textures, boat and clothes pictures, environment textures and so on. Certainly I would like to thank,, because almost all my references came from there. Then I revised my design again. These are the reference pictures I collected.

4. Modeling, Pose, Layout

Let's begin the low-res modeling process. The character was modeled in Maya. First I modeled a standard human body, I spent much time on her topology structure. In this stage, I didn't use any reference pictures, I just wanted her to look like an ordinary person, then I created teeth, eyes and hair. The eyes are two-layer models, one layer was used to create the highlight and reflection, the other one was used to place the color textures. At the beginning I used NURBS patches to make the hair's initial style. After all the elements were finished, I started to adjust her facial features, at this time I made use of some reference pictures; including the original oil painting of course. But I didn't want my character to look too much in despair and pain, so I made her eye sockets shallower, lowered the nose ridge, and softened the forehead. These are the wireframes of the character's head; the places marked with red lines required extra attention.

After finishing the modeling of the character, I simply bounded it, then placed it to my desired pose. I had to put in consideration the perspective and relation between objects in the original oil painting. After I had a satisfied pose and head facing, I copied a new character model and hid the original model. This is a picture of the rough low-res model.

The clothes were based on the body. I extracted the shape of the clothes from the (model of the) body, then modified the topology structure and appearance of the model. While modeling the clothes, considerations were made for the weight and material of the clothes, for example: silk cloth is soft, and cotton cloth is easily creased. I didn't use the cloth system of Maya or the Syflex plug-in because I wanted more control and detail on the model.

I modeled her hands separately so I could save on RAM and control the hands shader separately.

I manually modeled all the long grass in the foreground; only through this way was I able to achieve my desired effect. I first modeled various models of grass, then placed them randomly, and then duplicated them. I mainly used the Soft Modification Tool to modify the grass; it let's me softly modify a wide area of the grass field. While modifying the grass should not become messy; aesthetics is important. These are pictures of the grass and leaves in the foreground.

There was nothing special about modeling other elements. One thing that needs to be noted is that some details can be done by texturing and it may not be necessary to model, for instance, some small leaves and grass which are hard to see in the background. From here, I placed all the elements together to resemble the look of the design.

These are some unimportant models.

When I completed all the models, I placed them all carefully so they follow the original artwork and can be conveniently textured and rendered.

5. Remodeling

After the layout, I began my high-res model process. I adjusted the body appearance in Mudbox, and added more details, then put it back to Maya. The high-res modeling process of clothes is the same as the character. The creases on the clothes need particular attention, creases can display the relation between the clothes and the body, they can also express the dynamics of the character, so the creases required careful treatment. The hands require even further details, such as the bulge on a knuckle.

There are two main points regarding remodeling other things. One is realism, for example; the imperfect edges on old objects, wear and tear on the objects, irregularly placed objects, gravel, and messy weeds. Second is aesthetics, here I had to utilize my understanding of the original painting and my artistic knowledge, such as the hierarchy of the scene, perspective, and atmosphere. Perspective is very important -- I placed the boat, middle ground, and the background in realistically scaled distances, so I could achieve the scene of the original painting more easily.

These are the high-res models for the main objects.

6. UVs

I set up the UVs using the normal method. I prefer to finish the UV process in Maya. The latest version of Maya has a powerful UV function. I used Cylindrical Mapping for the UVs of the head, and I used a mixture of surface, automatic, and cylindrical mappings for the UVs on other objects. One important thing is that the quality of the UVs directly affects the difficulty of drawing textures later. My common technique is giving more UV space to parts that can be seen in a scene, and of course this wouldn't necessarily work in an animation. You can also use other UV tools, such as deepuv, etc. These are the UVs for the major objects in the scene.

7. Texturing

My personal work all focus on photorealism, so I have to invest a lot of effort on the textures, in the case of this picture, drawing the textures was a horrid process. Basically all the textures for this character are 3072*3072 in size, the clothes are also all 3K textures. Because there are too many objects in the scene, I had to consider optimizing the scene to save on resources, which I was always doing during the process of creation. I decided to reduce the size of the textures for distant objects in the scene, and used lower-quality format. Some insignificant objects only have color maps, without bump maps. Then I converted especially large textures into MAP format, this format supports mentay ray's render pretty well and it saves on system resource.

The color map was hand-painted in Photoshop with the use of some photographs -- color maps for human skin has to be carefully drawn. Things to remember are the pores and some off-colored dots on the skin, and under the skin there are blood vessels, muscles, and bones. Therefore the skin needs a lot of color variations. I usually use many photos for reference. Then I desaturate the color map to create the bump map and specular map. The bumps on the face are caused by pores and wrinkles, generally the bumps are more visible in certain parts, for example, cheeks, ridge of the nose, forehead, and corners and below the eyes. I changed the details and color tones in the color for Epidermal Scatter Color, and changed the specular map to reflection map. I overlayed a noise map on the reflection map so the reflection would seem more random. Then I got a very detailed normal map in mudbox off of a high-res model. I used body paint to remove texture seams. Other textures were done in the same process. Here are some of the main textures.

I also have my own texture library for my needs, this is my planet texture library and all the textures I used.

8. Materials

There are many objects in this picture, and they all have different materials. There's wood, metal, glass, plant, skin etc. My goal was to distinguish between different objects as much as possible, and to prevent placing objects with similar materials together. If there is a big bunch of grass, I would try to make some of the grass appear a little yellow. Fortunately Maya is a powerful software, it provides many different shaders to choose from. I usually use blinn for wood and rough metal, phong for glass, water, and reflective metal, and lambert for dry grass and cloth and things that aren't reflective. The advantage of lambert is it doesn't have highlights and reflection, and phong has more control options for highlights than blinn for better representation of highly reflective surfaces. This is the hypergragh of the scene.

The following is my technique on how to create a skin shader. Some people asked me about my experience with fastskinshader. I think everyone has their own preferred way of working, but principally I feel that drawing everything myself to control every parameter is the best, but that's very unrealistic, so I used about 8 maps to control some more important parameters (such as diffuse color, epidermal scatter color, subdermal scatter color, primary weight, secondary weight, etc). My personal experience is that we can connect cthe color map to overall color or diffuse color, but their effects will be vastly different; overall color is closer to color map, and diffuse color is closer to SSS effects. If overall color is connected to a color map that has pure black in it, that area will not have any highlights or reflections, because this parameter uses multiply, therefore overall color needs to be used with some consideration. Also the SSS effects on the ears and the ridge of the nose cannot be too high, that is to say it cannot be too red, because people do not look that way in real life. The feel of the skin has to be between plastic and wax. Because I used HDR lighting, I could also choose to turn on Include Indirect Lighting in the light map, it'll create a more pronounced result. Here is the network and parameters for the skin.

9. Lighting

After everything is done, I began to test my lighting. I used an HDR picture for mental ray 's IBL, then I added some other special purpose lights, some were for simulating the lighting of the original painting, some for global illumination, some for increasing details of the shadows with negative intensity, some for creating the highlights in the eyes. I have to clarify that I added a spotlight at the top left corner to create rays of light, to unify the whole scene and make it appear more hopeful, it also serves to create an atmosphere for the picture. Remember that rays of lights are formed from Light Fog; to create more details, I overlayed a noise layer in the Light Fog.

10. Hair and Fur

If you notice, I used Maya's Paint Effects to create the character's eyebrows and eyelashes. Of course you could also use textures to create the same thing.

The character's hair took more time, I extracted curves from the original NURBS patches to use as a guide for a Maya plugin, Joe Alter's Shave And A Haircut. It's a powerful plugin, its advantage is that it's easy to use and easy to control. I will share more of my experience with this plugin in future tutorials. Remember that the hair has to blend in nicely with the skin tone, it also has to move with the wind.

11. Matte Painting and Background Plants

Because this isn't a MP tutorial, I won't cover too much on this step. I used Maya's plugin Xfrog v4.0 and the 2D texture plane technique to create the trees, because Maya's built-in Paint Effects doesn't have enough texturing details to achieve my final render size of 3500*4000. I have to thank Xfrog for making 3D plants with enough details for Mattepainting. But I also spent a lot of time on testing and adjusting this plugin to find a way in which it'll work for me. You can visit for Xfrog tutorials.

12. Rendering

I rendered the image multipass, so I could easily modify and control the image. How many passes are needed and how to set the render pass depends on everyone's own work. The basic principle is that you separate the parts where you need further refinements or editing later. I rendered my character, cloth, boat, and water separately. Multipass take a lot of time, but it will give you better control. Here are some of the render passes.

13. Composing

I put all the layers into Photoshop and used all kinds of techniques to make them blend in better. For example I added lens flare to create atmosphere, fixed the color tones, and added some noise effects, etc. My advice is: being a professional 3D artist, you definitely cannot be content with just 3D techniques, but many other related techniques and knowledge as well, such as photography, post-productioon, drawing, etc. Because these techniques and knowledge can all be applied in your creations.

14. Final Refinement

I made further refinements to perfect the image, such as adding more details on the grass, and sharpened the image.

15. Special Thanks

Finally I would like to thank everyone for reading my tutorial, if you have questions or comments please email me or visit my personal gallery.

Posted By
  • Maya
  • Mudbox
  • General
  • Modeling
  • Rendering
  • Shaders
To post a comment please login or register
| 13 years ago
I saw you work from 3DCREATIVE. Great work. Truly a masterpiece.
| 13 years ago
| 13 years ago
wooooow its realy amazing!!!!!!!!!, realy a great job, its a masterpiece of the 3d art.
| 13 years ago
| 13 years ago
^______^ Crazy !
| 13 years ago
very special work thanks
| 12 years ago
thanks . very very good.????
| 12 years ago
amazing!!!!!!!!! amazing!!!!!!!!!
| 11 years ago
amazing!!!!!!!!! amazing!!!!!!!!!amazing!!!!!!!!! amazing!!!!!!!!!amazing!!!!!!!!! amazing!!!!!!!!!amazing!!!!!!!!! amazing!!!!!!!!!amazing!!!!!!!!! amazing!!!!!!!!!amazing!!!!!!!!! amazing!!!!!!!!!amazing!!!!!!!!! amazing!!!!!!!!!amazing!!!!!!!!! amazing!!!!!!!!!
| 11 years ago
I'm flabbergasted!!!! How did you add the "oil on canvas" look?
| 11 years ago
thanks for posting this!!!
| 11 years ago
| 10 years ago
Very Impressive. A lot of work went into the work as well as your tutorial. Thanks for posting.
| 10 years ago
wow . . just wow
| 10 years ago
| 9 years ago
great man...
| 9 years ago
| 9 years ago
Gr8. Thanx 4 posting
| 8 years ago
give me a video tutorial this * amazing * image
| 4 years ago
Stunning work and great depth in tutorial. Alas no final image, but googling around I found several other (shorter) tutorials and interviews including this one ...