|
|
|
Making of the Fruit Tarts byHau Ming (Jamie) Li![]() Hello, my name is Hau Ming (Jamie) Li, the female artist who created the Cheese Platter tutorial earlier. This is my second tutorial on food using Maya, Photoshop and rendered with Mental Ray. I will try to explain the process from photo concept to lighting the scene using Final Gather. A lot of people have asked me why I wanted to create food for my demo reel instead of the typical modeling and texturing reels of environments and characters. I can model and texture environments and characters like any CG artist, although few people can make photorealistic food and I want my demo reel and portfolio to be unique enough for people to remember. In addition, I want to expand my horizon as a texture artist to experiment on the use of different materials and light it using Final Gather and not be dependant on the skin shader to make photorealistic food. Here is the reference picture which I used as a photo concept of my fruit tarts project ![]() Reference of the Fruit Tarts Just like the Cheese Platter project, I didn’t follow the reference 100%. I added stuff to it, and changed the lighting to make it look better. At the same time, I didn’t want to blur it in the post production like I did in the other image; I want a depth of field in it. References As I have said earlier, it is very important to have multiple reference pictures to look at when it comes to modeling and texturing a photorealistic scene. If possible, purchase the fruits and keep them in front of you so you can hold it up to the light to see the translucencies. Here are some of the pictures I have found on the net, which I used for this project. ![]() Modeling For the tart crust, I revolved a NURBS CV curve, added more isoparms in between and manipulated the curves to shape it into a tart crust. Then I converted it into polygon geometry, reversed normals and UV mapped it. ![]() Tart Crust and UV Custard and UVFor the tray, I revolved a NURBS CV curve, converted it into polygons, reversed normals, smoothed it, and then deleted every other edge inside the tray to keep the polygons low but still maintain the roundness of a tray. I could have left it as NURBS geometry, but the UVs were noticeably distorted so that’s why I converted it into a polygon. ![]() Tray and UV For the doily, I used a NURBS plane. ![]() Doily and UV For the raspberries, I used a NURBS sphere, checked the normals, duplicated it many times, positioned them and shape them like a raspberry using a lattice. I left it as a NURBS geometry, because I needed that roundish organic look without having Maya calculate the densities of all the smoothed polygons. In addition, NURBS has its own UVs, although slightly distorted, it works out fine for the fruits. I also made sure all the texture seams are facing inside the raspberries instead of outside. ![]() Raspberry and UV For all the grapes, I used NURBS spheres and shaped them with a lattice. Red grapes are bigger and rounder at the bottom. Green grapes are elongated and thinner than red grapes. ![]() Grapes and UV For the blackberries, I used NURBS spheres just like how I modeled the raspberries, except I converted them to polygons, reversed normals, deleted the inside of the spheres and combined them, shaped them with a lattice to cover all the gaps and make them shaped like a blackberry. The bulbs of the blackberries are rounder and the bulbs of the raspberries are slightly flatter on top. I didn’t UV map the blackberries, because blackberries are mostly blackish in color with a shiny specular skin and they are not translucent like raspberries so there is really no need. ![]() Blackberry and UV For the blueberries, I used a NURBS sphere, converted it to a polygon so I could texture it better, extruded the edges to make the leaves and of course reversed normals. Then when I positioned them, I duplicated the original, rotated them, flipped some of them upside down, and scaled the size smaller or bigger to make the blueberries look random. ![]() Blueberry and UV For the pomegranate seeds, I duplicated the polygon seed and scaled it out to create the meat part. I actually didn’t know they were pomegranate seeds in the photo concept. For over a week, I seriously thought they were cranberries even though I couldn’t find the actual fresh fruit in the supermarket, (at least that was what my American instructor told me,) till my Brazilian instructor walked by one day and pointed out what they really were because his country sells them. So knowing exactly what you are modeling and texturing is a very good thing. ![]() Pomegranates and UV Texturing Before I explain about texturing my project, let me show you the old version of the fruit tarts, my first draft which I posted up on cgchannel. At the time, I wanted to create another food scene that is fast to render with very minimal skin shaders. As you can see it is not photorealistic. In that scene, I used a phong and fractal for the gel custard, a fractal and phong for the blueberries, and a fractal and a misss_fast_simple for the raspberries. Then there are the pomegranate seeds, melons and pineapples that no one can tell apart. It rendered 7 minutes a frame using very little final gather instead of an hour a frame like the Cheese Platter. Although, it rendered really fast, the quality of both the models and textures were not there, didn’t even come close to Ratatouille quality. So I went back and remodeled all the fruits, replaced the melons and pineapples with red and green grapes. I used file textures for everything instead of procedural shaders except the blackberries to have more control in making it photorealistic looking. I also used a misss_fast_skin shader for the custard instead of a subsurface phong, as well as a misss_fast_skin shader for the raspberries and grapes instead of using the misss_fast_simple shader. The misss_fast_simple shader is very basic, renders faster than the skin shader, but doesn’t offer much specularity control to make the fruits wet looking without the use of little transparent spheres. ![]() This tutorial is more for people who already know how to set up a skin shader which looks like this. If not, read this tutorial from lamrug. Also, it would help if you read my Cheese Platter tutorial as well. For the tray, I used a blinn instead of a mia-material because of the low cost of rendering time. The mia-material requires physically accurate lights like Final Gather and Global Illumination to make it look good and a blinn does not. Depending on the closeness of the camera, a tray with a mia material renders longer than a tray with a blinn. Here is the file I used for the color and reflectivity along with the specular attributes of the tray. ![]() Tray color, reflectivity and attributes For the doily, the biggest picture I can find on the internet was 500 pixels wide with no alpha channel information. So I scaled it out to 2048 and used the magic wand tool in Photoshop to take out the black background. Then I used brightness and contrast and moved the sliders to fill the missing white color of the doily and it looks good as new. I called that my transparency layer which I saved as a targa 32 file. For the bump and reflected color maps, I filled a blank layer with noise, then motion blurred it, duplicated that layer, rotated it 90 degrees and played around with the layer and opacity in Photoshop to create that cloth-like criss-crossed look. Then I merged those two layers which I put the merged layer on top of the beveled doily so the doily will have a pattern for the bump layer. I saved that as a targa 24 file for my bump map. I used a lambert in the beginning, but for some reason, it kept coming out blurry behind the shadows of the crusts. So I changed to an anisotropic material with little specular. Here is the transparency and bump map. ![]() Doily Transparency, Reflected Color and bump map For the blueberries, I took a piece of the biggest blueberry picture I could find on the internet, and put it all over my UV layout. Then I fixed it up using the clone and healing tool, brightness and contrast, sampled the blue color, filled the top layer with blue and used that as a tint and played around the layer modes. I used a phong with little reflection turned on and used this color map. ![]() Blueberry Color For the tart crust, I had the hardest time finding a high resolution image to create my texture. I even thought about taking a picture of it using my digital camera, but my camera doesn’t have the manual controls to take extremely good detail. So while I was searching for an alternative image for my crust, I found this really high resolution picture of biscuits which has a similar texture of a crust. So I took a piece of it, scaled it out, fixed it up with Photoshop, painted a strip of brownish color for the burnt part for the color map. The bump map is just a simple noise texture. I played around with the brightness and contrast to create the specular map with a black background. I also used this map for the reflectivity of the phong to give the crust details. Reflected Color is gray. Here are the maps of the tart crust. ![]() Tart crust color, specular and reflectivity map For the blackberries, I used a phong with a procedural fractal shader and played around with the specularity. ![]() Fractal from the Hypershade and attributes The pomegranate seeds had two layers. There is the whitish tip inside the pomegranate seed and a reddish transparent outer skin of the seed. This is the probably the hardest fruit I have ever textured, since I couldn’t find it in the supermarket of my last residency, and most people I know have never seen the actual fruit so they really couldn’t tell what they were on my tarts nor on the photo concept. For the whitish part, I used a surface shader with a small glow. For the outer part, I used a transparent phong. ![]() Pomegranate Color, Pomegranate Roughness, Pomegranate seed out color and out glow Custard is yellowish in color, with a high specularity and some reflection. I cloned a piece of custard color, painted the entire layer with that color, added some noise and Gaussian-blurred it. For the specularity maps, I used a noise filter and painted it with a white brush and added a tint of light blue in the color balance of the attribute. And I used a skin shader for the photorealistic look. ![]() Custard color map and 2 specularity map For the grapes, I took a piece of a grape image, scaled it, used brightness and contrast, level and blurred it. I did the same with the raspberries, except I used a white brush and painted the center for that powdery look. Here are the textures I used for the Red grapes, Green grapes, and Raspberries. ![]() Red grape textures ![]() Green grape textures ![]() Raspberry textures To make a fruit fresh and wet looking without waterdrops It is very simple really; all you need is a black and white noise file with a tint of light blue for the color balance for the secondary specularity attribute and a little bit of reflection. On the left is a red grape with the default secondary attribute which means no file texture. On the right is a grape with the noise file texture for the secondary specularity attribute. Next is the added reflection. ![]() Lighting I used 3 Point Lights, 2 Area Lights and an HDRI. The main light is the back light with an orange color to represent the sun coming into the room hitting the surfaces of the fruits. Then I add a low intensity Area Light hitting the side of the raspberries with the same orange color as the back light. I had that Area Light light-linked to the selected bulbs of the raspberries, which I named litballs, as well as the custard of that tart to give that realistic look. ![]() Skin shader is a very processor-expensive node if you are not using it to texture a character. Food is more translucent than human skin, so the values in the attribute of the skin shader are a lot higher, along with the scale conversion as the more translucent it is, the more noise you will see. So you have to add higher values in the scale conversion to balance it. You can adjust the lightmap as well, if you want smaller values in the scale conversion. The skin shader can only take so much before it gets corrupted by tweaking it for so long. It turns black in the hardware view. And if that happens to you, either open the same scene without saving it, or use a fresh node and copy and paste the attributes from the old node to the new node. Back to lighting, I added a point light with a reddish raspberry color inside each of the raspberries to enhance the translucencies. I also added a low negative point light of -2 to absorb the lights and enhance the shadows at the front right between the raspberry tart and the pomegranate tart. Be careful with the use of the negative light as it is more expensive than a positive light. In addition, it makes the neighboring textures bleed if the intensity is too high. So use very little. Image with the negative light of -10Rendering Final Gather is technology bounced light. It is cheating, but it looks great; however, you are stuck rendering straight out of Maya instead of layers and it makes render time very expensive even if you freeze the final gather points. Another downside is that when you render at 50% resolution in the render view, the quality of the image looks deliciously perfect, but does not at 100% resolution. That means it needs more Final Gather points. In the beginning, I was using 300 Final Gather points, and it was giving my tart crusts blotchiness because the material was a phong. I even turned on “jitter” in the Render Settings. I had troubleshot it to the point that I wanted to give up, then finally I decided to Google my issue and it turns out that someone else has the same blotchiness problem with Final Gather as I do. And he solved it by using an insane number of Final Gather points and a point interpolation of 12. I tried to render out 500,000 Final Gather point accuracy at 72 dpi at 2500 by 1406 resolution, but on the third day, it crashed. I wanted that 50% resolution look from the render view and I got way too greedy for Maya and my processor to handle. So I rendered the FG points in half of the original and it took 3 days to render just the FG points. And I am still not satisfied. Here is my 23,958 KB Final Gather Points ![]() FG Points Here are the render settings I used with a Final Gather Bounce of 2. ![]() Occlusion The only geometries that need to be dark or slightly darker are the tray, blueberries, black berries and crust. I used a total of 6 occlusion nodes with different values. If you use too much occlusion on the custard, it will look plastic. ![]() Occlusion Depth of Field I have to confess, I got help on this part. The lab instructor at the time, noticed that my image was missing a Depth of Field or ZDepth and suggested that I render it out straight out of Maya. Before I knew it, it added an extra 15 minutes per frame. I didn’t think about optimizing my scene at the time, so it was actually rendering twice as long. Anyway, a colleague of mine, Daniel Schrepf, came to my damsel in distress as a returned favor. He suggested that I render the ZDepth separately using a surface shader, and project a ramp texture onto the scene and then composite the final and occlusion in Shake. The best part was that it rendered out really fast. ![]() ZDepth image Final Image The final image still needed more shadow at the front, so I drew a line under the raspberry crust and Gaussian-blurred it and voila, one photorealistic image of Fruit Tarts. ![]() Final Render ![]() Final Composite Artist's Website: www.tvholicjamie.com Daniel Schrepf’s Website: www.3dfxartist.com |









Custard and UV



















Image with the negative light of -10






