Sunny Afternoon - Twilight - Moonlight - Electrical Candlelight - Underwater 3D environment lighting ‘3D Environment Lighting’ is a 6-part tutorial series. Over the course of the six chapters, this series will be detailing techniques on lighting an environment under a number of different conditions. Each chapter we will cover a step-by-step guide to setting up lights, aimed at portraying the scene in a specific manner. The various chapters will be tailored to specific software packages and each will aim to show a comprehensive and effective way of lighting an interior of a ship that includes both natural and artificial light. These will include a sunny afternoon, sunset, moonlight, electric light, candle light, and finally a submerged submarine light. The schedule is as follows: Chapter 01 Natural Exterior Lighting Sunny Afternoon Chapter 02 Natural Exterior Lighting Twilight Chapter 03 Natural Exterior Lighting Moonlight Chapter 04 Artificial Interior Lighting Electrical Chapter 05 Artificial Interior Lighting Candlelight Chapter 06 Artificial Interior Lighting Underwater Chapter 01 Natural Exterior Lighting Sunny Afternoon Chapter 01 Sunny Afternoon Natural Exterior Lighting Fig 01 Sunny Afternoon This tutorial is intended to be used with Autodesk Maya 8.5. Welcome to the first of the six-part tutorial series, discussing possibly the most challenging kind of 3D environment: interiors. Mental Ray (for Maya) users typically get cold feet and sweating fingers when it comes to this “closed combat”; the royal league of environment lighting. It’s for no reason though, as all you need for the battle is a simple field manual (this tutorial), and just a little bit of patience... So what is it all about? Set the project (Fig01) Fig 02 to the folder you unzipped, which is called 3DEnvironment_maya (download can be found at the end of this tutorial; click on the Free Resources logo), and let’s have a look at our object for this demonstration (Fig02) ... As you can see, we have a closed room; you can tell by the porthole and the characteristic door that it is a room inside a ship. Let’s imagine that it’s a tween deck of the ferry “MS No-Frills”, used as a lounge, and the staircase leads to its upper deck. From a lighter’s point of view, we can estimate by this analysis that there is light coming in from a) the opening in the ceiling where the Fig 03 staircase leads outside, and b) from the porthole and the window beside it. That’s not much, and if you ever took a photograph under such conditions you will know that, even with nice equipment, you would have a hard time catching the right moment (the “magic hour”) to illustrate the beauty of this particular atmosphere. (Atmosphere is also defined, besides by the lighting condition itself, by things like a point in time, the architecture, the weather, and occasionally also the vegetation.) So, for our first tutorial part, we will choose the following scenario: our ship, the MS No-Frills, is www.3dcreativemag.com Page 4 Environment Lighting Sunny Afternoon Chapter 01 Fig 04 anchored somewhere along the shore of Tunisia (North Africa) in the Mediterranean Sea; it’s summer, the time is around early afternoon, and the weather is nice and clear. That’s all we need to know at this stage to get us started... If you open up the scene, you will see that there’s no proper point of view defined yet. Feel free to either choose your own perspective or use one of the bookmarks I have set in the default perspective camera (Fig03). By clicking on one of the bookmarks, all relevant camera attributes (position, orientation, focal length, etc.) are changed to the condition stored in the bookmark. This greatly helps when trying out different views without committing oneself, Fig 05 and without creating an unnecessary mess of different cameras. Before we start lighting and rendering the scene, we should have a little introduction to the actual shading of the scene and about a few of the technical aspects of things such as colour spaces. If you find this too boring then you might want to skip the next two paragraphs as this is not essential, but is nonetheless an explanation regarding how to achieve to the result at the end of this tutorial. A Note on Shading. All the shaders you see are built on the new mia_material that ships with Maya 8.5. This shader was intended as Fig 06 a monolithic (from the Greek words “mono”, meaning single, and “lithos”, meaning stone) approach for architectural purposes, but can be practically used to simulate the majority of the common materials that we see every day. Unlike the regular Maya shaders, and most of the custom Mental Ray shaders, it implements physical accuracy, greatly optimised glossy reflections, transparency and translucency, builtin ambient occlusion for detail enhancement of final gather solutions, automatic shadow and photon shading, many optimisations and performance enhancers, and the most important thing is that it’s really easy to use. And it’s all in one - thus “monolithic”. I therefore decided to use it in our tutorial... www.3dcreativemag.com Page 5 Environment Lighting Chapter 01 Sunny Afternoon A Note on Colour Space. As you may already Fig 07 know, usually all of the photographs and pictures that you look at on your computer are in sRGB. This is because, for example, a colour value of RGB 200, 200, 200 is not twice as bright as a colour with RGB 100, 100, 100, as you would expect. It is of course mathematically twice the value, but perceptually it is not. As opposed to plain mathematics (like 2 x 100 = 200), our eyes do not work in such a linear way. And here’s where the sRGB comes in... This colour space ‘maps’ the values so that they appear linearly. Here the RGB 200, 200, 200 is perceptually roughly twice as bright as RGB 100, 100, 100. This is why most of the photographs are visually pleasing and look natural, which is not in a true mathematically linear colour space. However, almost every Fig 08 renderer spits out these old and truly linear images, unless we tell them to do otherwise. Most people are not aware of this, and instead of rendering in the right colour space they unnecessarily add lights and ambient components to unwittingly compensate for this error. In Fig04 and Fig05, you can see two photographic examples illustrating the difference between a true linear (left) and an sRGB colour space (right). In Fig06, you can see the same from a CG rendering; you’ll notice that the true linear one looks a lot more “CGish” and unnatural. Even if you brightened it up and added/reduced the contrast, you still couldn’t compensate for the fact that it’s in the wrong colour space. This is an essential issue in order Fig 09 to create visually pleasing and naturally looking computer graphics. If you have followed me up to here, and you think you understand the need for a correct colour space, then go take a break and get yourself some coffee or delicious green tea and enjoy life for a while - you have earned it! This is all tricky yet fundamental knowledge. How this theory is practically applied in Mental Ray will be shown later on... So, let’s get started with lighting the scene... Maya 8.5 introduces, along with the mia package, a handy physical sun and sky system. This makes it easy to set up a natural looking www.3dcreativemag.com Page 6 Environment Lighting Sunny Afternoon Chapter 01 Fig 10 environment and we can then focus more on the aesthetic part of the lighting process, instead of tweaking odd-looking colours. The sky system is created from the render global’s environment tab (Fig07). By clicking on the button, you practically create: a) a directional light which acts as the sun’s direction; b) the corresponding light shader mia_ physicalsun; c) the mia_physicalsky, an environment shader that connects to the renderable camera’s mental ray environment (Fig08); d) a tone mapping lens shader called mia_exposure_simple, which also connects to the camera’s mental ray lens slot. Fig 11 It’s also worth mentioning here that this button also turns Final Gathering ON. Now that we have a default sun and sky system set up, we are almost ready to render. Before we do the first test render, let’s make sure we are in the right colour space. By default, we are rendering in true linear space (for an explanation please refer to the previous notes on colour space), which is - for our needs right now - not correct. The lens shader we created however (Fig08) brings us into a colour space which closely approximates sRGB by applying a 2.2 gamma curve (see the Gamma attribute) globally to the whole rendered image, as we calculate it. Generally, this is a good thing and Fig 12 is desirable. But if we apply a gamma correction in this way, then we would have to “un-gamma” every single texture file in our scene. This is due to the fact that the textures already have a -2.2 gamma (this is usually true for any 8bit or 16bit image file), and adding a gamma correction on top of that would double the gamma and could potentially wash out the textures’ colours. (What a bummer!) So, we either have to “un-gamma” every texture file (boring and tedious), or instead of the lens shader’s gamma correction, we can use Mental Ray’s internal gamma correction (still boring, but less tedious). www.3dcreativemag.com Page 7 Environment Lighting Chapter 01 Sunny Afternoon As you can see from Fig09, we set the Gamma Fig 13 value in the Render Globals’ primary framebuffer menu to the desired value, which is simply because Mental Ray works this way; 1 divided by the value (2.2 for approximating sRGB in our case), which equals 0.455. At the same time, we also need to remove the gamma correction of our lens shader, so we must set its Gamma attribute to 1.0 (linear equals no correction; you can select these shaders from the hypershade’s Utilities tab). Thus we completely hand over the gamma correction to Mental Ray’s internal mechanism, which automatically applies the right “un-gamma” value to our textures. This is a long-winded theory, but there are no more worries now and we’re ready to go! I tweaked the Final Gathering settings (Fig10) Fig 14 so that we will get a relatively fast converging, yet meaningful, result. I also turned down the mia_physicalsun’s Samples to 2. It’s kind of dark and has a few errors (Fig11), mainly because of insufficient ray tracing settings. Let’s now increase the general ray depths (Fig12) and the Final Gathering ray depths (Fig13). We’re also turning the Secondary Diffuse Bounces On. However, the Secondary Bounces button in the Render Globals only sets their Bounce Depth to 1; we want it to bounce twice so we’re selecting the actual node where all the Mental Ray settings are stored, which is called “miDefaultOptions”. You can do this by typing in “miDef*” in the input line with LMB Select by name on (the asterisk is a wildcard Fig 15 for lazy people like me, see Fig 14). Once we select the miDefaultOptions, all more or less hidden Mental Ray settings are exposed to the attribute editor. There’s also some stuff in the mentalrayGlobals node, but we’re focusing on the Final Gather tab in the miDefaultOptions right now. Let’s set the FG Diffuse Bounces attribute to 2 (Fig15). These ray depth settings should suffice to get the result at the end of this tutorial. www.3dcreativemag.com Page 8 Environment Lighting Sunny Afternoon Chapter 01 Fig 16 Let’s re-render (Fig16). It is still pretty dark, but you can tell that the indirect light contribution is sufficient (don’t worry about detailed shadowing, we’ll get to that later on), so we need to actually raise the exposure level of our piece, somehow. Fig 17 Remember, we’re all still on the very basic default settings for everything. One setting used to tweak the exposure is the Gain attribute in the mia_exposure_simple, which is connected as a lens shader to our camera. Let’s increase the Gain value to 0.5 (Fig17). Fig 18 www.3dcreativemag.com Page 9 That’s much better, and gives a more natural feeling (Fig18). Environment Lighting Chapter 01 Sunny Afternoon Now we can start to actually make decisions on Fig 19 the lighting and aesthetic accentuations. For this part, please don’t feel constrained to the settings and colours that I choose - feel free to follow your own ideas! I’m rotating the sunDirection to X -70, Y 175, Z 0 to accentuate certain elements by direct sunlight, and I’m setting the attributes of the mia_physicalsky to the values you can see in Fig19. I increased the Haze value to 0.5 (note that this attribute takes values up to 15, so 0.5 is rather low). Then I set the Red/Blue Shift to 0.1, which basically means a white-balance correction towards reddish (towards blue-ish would be a negative value, like -0.1). I also raised the Saturation attribute to 2.0, which is it’s maximum value. I then made slight adjustments to the horizon, which does not have much effect on the global look but I experimented with Fig 20 what we could see through the porthole and the window. The last thing I changed was the Ground Colour. I gave it a greenish tint because I thought this gave it a more lagoon-like feeling, and I think it gives the whole piece a more interesting touch (Fig20). From my own point of view, this is a good base for what we intended to accomplish with the early afternoon in the Mediterranean Sea scenario. If we’re satisfied with the general look, we can then go about setting up the scene for a Fig 21 final render. Firstly, let’s increase the Final Gathering quality, because we can reuse the Final Gathering solution later on. As you can see from Fig.21, I raised the Accuracy to 64, but more importantly, and especially for the shadow details, the Point Density is now at 2.0. With a denser Final Gathering solution we can also raise the Point Interpolation without losing too much shadowing contrast. I also set the Rebuild setting to Off, because the lighting condition is not changing from now on and we can therefore re-use existing Final Gather points. www.3dcreativemag.com Page 10 Environment Lighting Sunny Afternoon Chapter 01 Fig 22 Let’s have a look (Fig22). As you can see, there is still a lack of detail in the shadowed areas, especially in the door region (Fig.22). We can easily get around this with the new mia_ materials which implement a special Ambient Occlusion mode. You only need to check On for Ambient Occlusion in the shaders, as everything else is already set up fairly well by default (all I did was set the Distance to a reasonable value and darkened the Dark colour a little). Fig 23 The main trick is the Details button in the mia_material (leaving the Ambient at full black). By turning on the Details mode, the Ambient Occlusion only darkens the indirect illumination in problem-areas, avoiding the traditional global and unpleasant Ambient Occlusion look. See Fig23 with the enhanced details. Fig 24 Note: to adjust the shaders all at once, select all mia_materials from the hypershade, and set the Ao_on attribute in the attribute spread sheet to 1 (Fig24) (the attribute spread sheet can be found under Window > General Editors > Attribute Spread Sheet). Also note that switching on the Ambient Occlusion in the shader scraps the Final Gathering solution; it will be recalculated from scratch. If you find the Final Gathering taking too long, turn the Point Density down to 1.0 or 0.5, as this still gives you nice results but the lighting details will suffer. www.3dcreativemag.com Page 11 Environment Lighting Chapter 01 Sunny Afternoon Now let’s increase the general sampling quality Fig 25 (Fig25). The sample level is now at Min 0 and Max 2, with contrast at 0.05 and the Filter set to Mitchell for a sharp image. Last but not least, if you are having problems with artifacts caused by the glossy reflections, raise the mia_material’s Reflection Gloss Samples (Refl_gloss_samples) up to 8 for superior quality. You can do this with the attribute spread sheet, as well. For the final render, I chose to render to a 32bit floating point framebuffer, with a square 1024px Fig 26 resolution. This can be set in the Render Globals (Fig26). If I want to have the 32bit framebuffer right out of the GUI (without batch rendering), I need to Fig 27 turn the Preview Convert Tiles option On and turn the Preview Tonemap Tiles option Off, in the Preview tab of the Render Globals (Fig27). www.3dcreativemag.com Page 12 Environment Lighting Sunny Afternoon Chapter 01 Fig 28 Important: I also need to choose an appropriate image format. OpenEXR is capable of floating point formats and it’s widely used nowadays, so let’s go for that (Fig28). When rendering to the 32bit image, you will get some funky colours in your render view, but the resulting image will be alright - don’t worry. After rendering, you can find it in your projects images\tmp folder. Fig 29 Fig 30 Fig.29 shows my final result: a pretty good base for the post production work. Since we rendered to a true 32bit image, we have great freedom for possibilities. See Fig30 for my final interpretation where there is no additional painting, only colour enhancement. Try it for yourself! I hope you have enjoyed following this tutorial as much as I enjoyed writing it! www.3dcreativemag.com Page 13 Environment Lighting Originally designed & modelled by: Richard Tilbury Tutorial by: Florian Wild For more from this artist visit: http://individual.floze.de/ Or contact them: mymail@floze.de Chapter 02 Twilight Chapter 02 Natural Exterior Lighting Twilight Twilight Chapter 02 Natural Exterior Lighting Fig 01 Twilight Welcome back aboard to the second part of the Environment Lighting series for Autodesk Maya 8.5. Again, we will be using Mental Ray for Maya for this challenging interior illumination, so all you need for this is to get your CPU at operating temperature and the basic Maya scene of our ship’s interior (download can be found at the end of this tutorial; click on the Free Resources logo). Before we can start, we need to properly set the project (Fig01). If you’re not familiar with the use of projects, you might want to know that (one of) the main reasons for doing this is because of Fig 02 the relative texture paths that Maya uses. These relative paths ensure that we can import the scene from one file location (e.g. my computer) to another (your computer) without any hassle, as opposed to absolute paths which would always point to a static location that might differ from system to system. So we’re back aboard the MS No-Frills, still anchored somewhere in the Mediterranean Sea (Fig02). For this second tutorial, we will set our goals for accomplishing a twilight atmosphere, which would usually occur at either dusk or dawn. Before we actually look at the scene, let’s take Fig 03 a few moments to think about this very special situation (you might want to skip or come back later to this paragraph if you want to go straight to the execution). Twilight, from a technical point of view, is the time (usually around half an hour) before sunrise or after sunset. In this condition the sun itself is not visible; the sun’s light is however scattered towards the observer in the high layers of the atmosphere, either by the air itself (Rayleigh-scattering) or aerosols. This scattering effect causes the beautiful and different colours that we enjoy every dusk or dawn. From an artistic point of view, twilight may happen in a variety of occasions, for www.3dcreativemag.com Page 17 Environment Lighting Chapter 02 Twilight Fig 04 example in stormy weather, or when natural and artificial light sources meet - typically, whenever two (thus “twi”) light sources or light conditions compete for predominance. (Imagine two wrestlers intensely fighting on the floor, and it’s absolutely impossible to tell who’s going to win the fight.) Twilight always has this dramatic sense to it, and often the dramatic colours as well. In the case of a storm, they might even range from greenish to deep blue. Usually, in the case of dusk and dawn, colours range from blue to purple, and from yellow to orange and red. The crux is that these colours are mostly equally dominant (and therefore leave us with great artistic and interpretational freedom), as opposed to any other lighting condition Fig 05 where there is usually one light source which is predominant. With this in mind, we are now ready to simulate the very particular case of twilight... We will use the same base scene as used for part 1 of this tutorial (Sunny Afternoon), so all shaders and textures are ready to rumble. All surface shaders are made from the mia_material that ships with Maya 8.5. (You might want to read back to the Note on Shading featured in part 1 - Sunny Afternoon - which explains it’s basic functionality.) Again, we are using the newly introduced physical sun and sky system, which can easily Fig 06 be created from the Render Globals (Fig03). This button saves us time setting up all the nodes and connections to make the system work properly (thus it also turns Final Gathering On). It basically consists of three things: the sun, whose direction we control using the directional light (called sunDirection, by default) with it’s light shader mia_physicalsun; the sky, which consists of an environment shader (mia_physicalsky) connected to the camera; and a simple, yet effective, so-called tonemapper (mia_exposure_simple), used as a lens shader on the camera (Fig04). Before we start rendering, let’s firstly think about a reasonable sun direction that would www.3dcreativemag.com Page 18 Environment Lighting Twilight Chapter 02 fit our needs for twilight. It is very tempting to Fig 07 actually use an angle that leaves the sun below the horizon line, however this would yield a diffuse and so the lighting wouldn’t be very dramatic. You might want to experiment with this a little, but I have decided to have a more visible indication of where the sun actually is. I rotated the sun on X 12.0, Y 267.0, Z 0.0; this makes the direct sunlight shine through the back windows, still providing a very flat angle. There’s still one important point that we should consider before pushing the render button: the colour space. As already explained in the Note on the Colour Space in the first tutorial (Sunny Afternoon), we should make sure we work in a correct space, which is sRGB, or in our case an sRGB closely approximating 2.2 gamma curve. Fig 08 The mia_exposure_simple already puts us into this space by default (the Gamma feature defaults to 2.2), but by doing it this way we double the gamma on our textures files, which by default are already in sRGB. That’s a big secret that no-one may have ever told you before, but trust me - it’s like that. So we either need to remove the gamma from our textures (“linearize” them) before rendering, which can be done with a gammaCorrect node in front of them in the shader chain with Gamma set to 1/2.2, which is 0.455 rounded, or we can use Mental Ray’s internal gamma correction mechanism - which I prefer. So we abandon the mia_exposure_simple’s gamma correction, simply by setting it’s Gamma attribute to 1.0, Fig 09 and enable Mental Ray’s mechanism by setting the primary framebuffer’s Gamma to 1/2.2 = 0.455, in the Render Globals, as you can see in Fig06. So we’re ready to go and do the first test rendering (Fig07). As you can see, the scene is pretty dark and has a few errors caused by the insufficient ray depths. However, we are still using the Render Globals default Draft quality preset... Let’s now increase the raytracing depths to a reasonable amount (Fig08). The values you see www.3dcreativemag.com Page 19 Environment Lighting Chapter 02 Twilight Fig 10 in Fig08 should satisfy our requirements; we might increase the reflection depth later on... I also tweaked the Final Gathering settings to a lower quality (Fig09). This way, we get a fast converging - yet meaningful - indirect illumination for our preview renders. But besides lowering the general Final Gathering quality, I increased it’s trace depths and, more importantly, turned the Secondary Diffuse Bounces button On. This button however only gives us a single bounce of diffuse light, as that’s how they designed the Render Globals, but as I’m not satisfied with that let’s go under the hood of the Mental Ray settings... Fig 11 We are selecting the miDefaultOptions node (for example by typing “select miDefaultOptions” in the MEL command line) (Fig10). This node is basically responsible for the export of all the settings to Mental Ray. The regular render globals are practically a more user friendly “front-end” to the miDefaultOptions. There’s also some stuff in the mentalrayGlobals node, but this does not affect us right now. As you can see, the FG Diffuse Bounces attribute is actually exposed; we set it to our desired depth, which is 2 for now. It looks better (Fig11), but still appears to be seriously under exposed. There are several ways to adjust the general exposure level in Fig 12 Mental Ray for Maya, but let’s choose the easiest one: raising the Gain attribute of our mia_exposure_simple... You can navigate to the mia_exposure_simple either by selecting your camera (to which it is connected), or by opening the hypershade and selecting it from the Utilities tab. I gave it a serious punch and boosted the Gain up to 4.0 (Fig12). www.3dcreativemag.com Page 20 Environment Lighting Twilight Chapter 02 Now it’s much better from an exposure point of Fig 13 view (Fig. 13), but it looks very cold and not very twilight-ish. You might want to experiment with the sun’s direction, but if we overdo this then we will lose the nice light which is playing on the floor. I therefore decided to solve the problem using the mia_physicalsky - the environment shader which is responsible for pretty much the entire lighting situation. I upped the Haze parameter to 2.0, which gives us a nice “equalization” of direct light coming Fig 14 from the sun, and the light intensity of the sky (Fig14). At lower haziness, the sunlight would be too dominant for our twilight atmosphere. I then shifted the Red/Blue attribute towards reddish, to achieve a warmer look (if I wanted to shift it towards blueish, i.e. doing a white balance towards a cooler temperature, I would have to use a negative value for the Red/Blue Shift). I also slightly increased the Saturation, which is pretty much self explanatory. Now, for an interesting little trick to make the whole lighting situation more sunset-like, whilst still maintaining the direct light on the floor (i.e. the actual light angle), I increased the Horizon Height to 0.5. This not only shifts the horizon line but also makes the whole sky system think that we have Fig 15 a higher horizon, and thus provides a more accentuated sunset situation. Remember this does not have too much of an effect, yet it’s still an interesting way to tune the general look. The last two things I changed were the Horizon Blur and the Sun Glow Intensity, however both of these attributes don’t have much of a visible effect on the general illumination of our interior. Once we’re finished setting up the basic look, we can go about configuring the Render Globals for the final quality (Fig15). First of all, let’s increase the Final Gathering quality, since we can reuse the Final Gathering solution later www.3dcreativemag.com Page 21 Environment Lighting Chapter 02 Twilight Fig 16 on. In Fig15, you can see the values I used: 64 for Accuracy, which means each final gather point shoots - in a random manner - 64 rays above this point’s hemisphere (less accuracy would give us a higher chance of a blotchy Final Gathering solution). To work against the blotchiness we could also increase the Point Interpolation to really high values, like 100+, but this would most likely wash out the whole contrast and detail of our indirect illumination if we don’t have a sufficient Point Density value. The Point Density - in conjunction with a reasonable Point Interpolation - is the most responsible part in achieving nicely detailed shadowing, and so we have to find a good correlation between these two. In our case, I Fig 17 found it sufficient to have a Point Density of 2.0 and a Point Interpolation of 50. You might want to try a Density of 1.0 (or even 0.5) if you think the former settings take too long to calculate, but you’ll surely notice the lack of detail in the indirect illumination. Note that increasing/decreasing the Interpolation does not affect the Final Gathering calculation time at all. It also does not hurt the actual rendering time too much. The crucial value is the Point Density which adds to the calculation time, as well as the accuracy. Also note that you might be able to comfortably experiment with the Point Interpolation if you freeze the Final Gathering solution (set Rebuild to Freeze). Fig 18 It looks much better now (Fig16), but there are still some areas that seriously lack detail, such as the door region. To reveal these details we could render a simple Ambient Occlusion pass and multiply it over in post production. This would accentuate the problem areas, but at the same time it would add this typically all-present, physically incorrect and visually displeasing ambience. To overcome this, and still use the advantage of Ambient Occlusion, we can use the mia_material’s internal Ambient Occlusion mode... We simply need to enable it in the shader, and set the Detail attribute to On (which it is by default) (Fig17). This special Ambient Occlusion www.3dcreativemag.com Page 22 Environment Lighting Twilight Chapter 02 mode is intended to enhance the problem areas’ Fig 19 details, where the Point Density might still not suffice. To enable the Ambient Occlusion in all shaders, we simply select them all from the hypershade and open the attribute spread sheet, from Window > General Editors > Attribute Spread Sheet (Fig17). There we navigate to the attribute called Ao_on and set it’s value to 1 (On). Although it still might be physically incorrect, it reveals all the details that the Final Gathering was not able to cover (Fig19). Of course, it still looks very coarse, and this is mainly because the general sampling settings are still at extremely low values. Fig 20 To ensure nice edge antialising, as well as better shadows and glossy sampling, we set the Min/Max Sample Levels to 0/2 and the Contrast values both to 0.05 (Fig20). The filter should be changed, too; I chose Mitchell for a nicely sharp image. I’m also raising the Reflection Gloss Samples (Refl_gloss_samples) up to 8 in the mia_materials. Note: this happens on a per shader basis, and we can use the attribute spread sheet again to do this all at once for all shaders. Last time we rendered to a full 32bit floating point framebuffer. This time, for my final render, I chose to render to a half 16bit floating point framebuffer (Fig21). The half 16bit takes less Fig 21 storage (and bandwith) but still provides the increased dynamic range of floating point buffers. If we want to render the floating point buffer right out of the GUI, without batch rendering, we need to make sure the data written into the buffer actually is floating point; thus the Preview Convert Tiles in the Preview tab of the Render Globals needs to be switched On, and the Preview Tonemap Tiles option needs to be switched Off. This will produce funky colours in your render view preview, but the image written to disk (typically in your project’s images\tmp folder) should be alright. www.3dcreativemag.com Page 23 Environment Lighting Chapter 02 Twilight Fig 22 The use of a half 16bit framebuffer forces us to use ILM’s OpenEXR format, as it is the only supported format right now for this particular kind of framebuffer (Fig22). That’s not actually bad, since OpenEXR is a very good and widely used format, nowadays. Fig 23 Here’s the final rendered, raw image (Fig23) - a good base for the post production work. In my final interpretation I decided to exaggerate the colours that make a dramatic twilight atmosphere. Again, there is no painting happening, only colour enhancement which was done using Adobe Lightroom 1.0 (Fig24). Fig 24 I hope you have enjoyed following this second part of the series as much as I have enjoyed writing it. Stay tuned for part 3 where we will be covering an extremely interesting - and no less challenging - lighting situation: moonlight. www.3dcreativemag.com Page 24 Environment Lighting Originally designed & modelled by: Richard Tilbury Tutorial by: Florian Wild For more from this artist visit: http://individual.floze.de/ Or contact them: mymail@floze.de Chapter 03 Chapter 03 Natural Exterior Lighting Moonlight Moonlight Moonlight Chapter 03 Natural Exterior Lighting Fig 01 Moonlight Hello and welcome to the third part of the environment lighting series for Autodesk Maya 8.5, where we will be discussing a very interesting lighting situation: natural moonlight. So let’s wait for full moon and a cloudless sky, then we can turn off the lights and get started... 1. If you followed the preceding two tutorials (which I recommend), you will already be familiar with the scene (download can be found at the end of this tutorial; click on the Free Resources logo) (Fig01). Before we start placing lights and tuning parameters, we should take some time to think Fig 02 about what ‘moonlight’ actually is. If you are not interested in this concept then you might want to skip or come back later to the next two paragraphs, as they are not essential. They are however valuable for the understanding of why certain methods have been used in the execution of this moonlight setup. So what is moonlight? First of all, by moonlight we mean a nighttime situation, and for the sake of convenience let’s say we have a full-moon/ nighttime situation. There are several sources and components of illumination in this setting (i.e. in the descending order of energy): the moon itself (by scattering sunlight from its surface in all directions), the sun (by scattering light around the Fig 03 edge of the earth), planets and stars, zodiacal light (dust particles in the solar system that scatter sunlight), airglow (photochemical luminescence from atoms and molecules in the ionosphere), and diffuse galactic and cosmic light from galaxies other than the milky way (source: A PhysicallyBased Night Sky Model). All of these illumination sources have their characteristics, and in order to super-realistically simulate such a night-sky, we would have to account for all of them. But please bear with me, we will only be concentrating on the moon itself, and an atmospheric ‘soup’ including all the other ingredients. Besides, and this is very interesting, even if we did that super-realistic www.3dcreativemag.com Page 27 Environment Lighting Chapter 03 Fig 04 Moonlight night-sky simulation then we would perhaps get a very photo-realistic rendering, but I am sure many people would be disappointed by it. This is for the simple fact that, seeing a night-sky/moonlit photograph is fundamentally different from actually viewing such a scene with our own eyes. The photograph might be physically correct, but also completely different from what we are used to physiologically perceiving. In the end, we would most likely shift the photograph’s white balance towards blue, because this is what we are used to seeing, which is opposed to how a camera sensor works in dim lighting levels. The sensitivity of the human perception of light is shifted towards blue; the colour sensitive ‘cones’ in the eye’s retina are mostly sensitive to yellow light, and the Fig 05 more light sensitive ‘rods’ are most sensitive to green/blueish light. At low light intensities, the rods take over perception and eventually we become almost completely colour blind in the dark, hence it appears that the colours shift towards the rods’ top sensitivity: green and blue. This physiological effect is called the “Purkinje” effect, and is the reason why blue-tinted images give a better feeling of night - even though it’s not correct from a photographic point of view. 2. So we will rely on a hint of artistic freedom, rather than strict photo-realism, for this tutorial. To simulate the moon’s light I chose a simple directional light with the rotation: X -47.0 Y -123.0 Z 0.0 (Fig02). Fig 06 3. For the light colour I decided to use Mental Ray’s mib_cie_d shader (Fig03). Its Temperature attribute defaults to 6500 K (degree Kelvin), which means an sRGB ‘white’ for this so-called D65 standard illuminant, which is commonly used for daylight illumination, will be as follows: every temperature above 6500 K will appear blueish, and every temperature below 6500 K will appear reddish. The valid range is from 4000 K to 25000 K. Although the moon actually has a colour temperature of around 4300 K, I chose a temperature of 7500 K. This is not necessarily correct from a physical point of view, for various reasons. www.3dcreativemag.com Page 28 Environment Lighting Moonlight Chapter 03 Firstly, the moon is not a black body radiator and Fig 07 so its colour cannot precisely (only approximately) be expressed with the Kelvin scale. Second, the moon’s actual colour is mainly a result of the sunlight (with a temperature of around 5700 K - still lower than the white point of our D65 illuminant, or in other words more reddish if expressed with it), a slightly reddish albedo of the moon’s surface and the reddening effect of rayleigh scattering (blue light, i.e. smaller wavelengths, tend to scatter more likely than red light and greater wavelengths, therefore a higher amount of blue light gets scattered in the atmosphere leaving more red light from the perspective here on Earth). This would, in photoreality, surprisingly yield a quite reddish moonlight, even if we did choose a very low white balance for our photograph at maybe around 3200 K Fig 08 (which is considered ‘tungsten film’). However, for the physiological reasons described previously, I went for 7500 K on the D65 illuminant as this gives a pleasing - not too saturated but still very natural - blueish light. To cut a long story short, if you wanted to go for photo-realism you would have to use a reddish light source, but you would most likely white balance everything towards blue afterwards to achieve the cool night feeling! And that’s basically what I did - only in a rush... 4. For the same reasons I chose a turquoise (blue-greenish colour) for the surrounding environment, which was simply applied as the camera’s background colour (Fig04). Although this will only have a subtle effect it makes sense Fig 09 for the completeness, and after all we will see this colour through our back windows. Note that what we see on the actual Background Color’s colour swatch will be (deliberately) gamma corrected later on. To overcome this and to ensure that the colour I choose is the colour that I will see later on in the rendering, I use a simple gammaCorrect node, with the inverse gamma applied. The gammaCorrect is connected via mmb drag&drop in the ‘Background Color’ slot. 5. Before we push the render button, let’s make sure we have something that takes care of our indirect illumination, and that we are rendering www.3dcreativemag.com Page 29 Environment Lighting Chapter 03 Fig 10 Moonlight in an appropriate colour space. For the sake of simplicity I chose final gathering with Secondary Diffuse Bounces for the indirect light contribution (Fig05). This is easy to set up, yet effective. As you can see I set low quality values, but since we are only doing a preview this will suffice. 6. Because there is a little shortcoming with the Secondary Diffuse Bounces setting, I’m selecting the miDefaultOptions node (Fig06), which is basically the back-end of the render globals. There I set the FG Diffuse Bounces to 2, which is my desired value for the indirect illumination bounces. To select the miDefaultOptions simply type “select miDefaultOptions” (without the quote marks), in the MEL command line, and then hit Enter. Fig 11 7. I’m also setting the Ray Tracing depths to reasonable values - they seem very low, but are absolutely sufficient for our needs (Fig07). 8. To take care of the desired colour space (sRGB) we simply need to set a gamma curve in the Primary Framebuffer tab of the render globals (Fig08). Since a gamma curve of 2.2 is similar to the actual sRGB definition, we only need to set the Gamma attribute to 1/2.2 = 0.455, as this is how Mental Ray’s gamma mechanism works. For a basic understanding as to why we should render in sRGB, I greatly encourage you to go through the Note on Colour Space in the first tutorial of this series (July 2007 issue), if you haven’t already. Fig 12 As a general note, it is to do with the non-linearity of human light perception and rendering in a true linear space (gamma = 1.0), as any renderer usually does by default, which is the main reason for CG looking “CG-ish”. (Spread this knowledge to your buddies and with this understanding you’ll be the cool dude at every party, trust me!) 9. So here is our first test render (Fig09). It looks a bit dark, and since we want to have a full-moon the shadow seems a bit too sharp. 10. To soften the shadow, let’s increase the Light Angle of our directional light (Fig10). Because widening the light angle introduces artifacts, we should also increase the amount of shadow rays www.3dcreativemag.com Page 30 Environment Lighting Moonlight Chapter 03 to yield a smooth and pleasing shadow. I’m also Fig 13 increasing the intensity of the mib_cie_d a little. 11. This is a good base (Fig11) and all we need to do now is increase the general quality settings for our final render. 12. For better anti-aliasing and smoother glossy reflections we should crank up the global sampling rates (Fig12). A min/max value of 0/2 and a contrast threshold of 0.05 should suffice. I used a Gauss 2.0/2.0 filter for a sharp image. 13. For the final gathering this time I chose a fairly unorthodox method... Remember the last couple of times we used the automatic mode, which in most cases does a really good job? Well, in automatic mode all we need to worry about are Fig 14 the Point Density and Point Interpolation values. However, sometimes in this mode the interpolation becomes quite obvious and displeasing, especially in corners where you can usually spot a darker line where the interpolation happens to be very dull. For a sharper interpolation, I decided to use the scene unit dependant Radius Quality Control (Fig13). It generally takes a little time to estimate the proper min/max values (in scene unit values), but as a guideline you might want to do a diagnostic automatic Final Gathering solution (see Diagnostics in the render globals) as a base, to see its point densities. Then, step by step, approximate this density with the scene unit Max Radius control. Note that the density is Fig 15 only decided by the Max Radius (the lower the Max Radius, the more Final Gathering points are being generated); the Min Radius only decides for certain interpolation extents. Once you are satisfied with this general density, you will usually want to raise the Point Density value. This Point Density is added to the density we estimated with the min/max radii; however, the interpolation extents do not change so we are basically only adding points to the interpolation, which is similar to raising the Point Interpolation in automatic mode (only more rigid and somehow it puts the cart before the horse this way). www.3dcreativemag.com Page 31 Environment Lighting Chapter 03 Moonlight It’s always good to know how and why things are happening, and this knowledge is useful if you ever want to use the Optimize for Animations feature. It’s also a bit easier if the View radii are being used, since the min and max radii can be generalised (25/25 or 15/15 in pixel units is a good starting point). 14. As a little trick to enhance details in our scene, I turned the Ambient Occlusion on in the mia_material shaders, in the Details mode. Simply select them all and switch the Ao_on attribute to 1 (On), using the attribute spread sheet (Fig14). The Details flag, in combination with Final Gathering, ensures that we don’t get that rather unpleasant dark-cornered-and-strange Ambient Occlusion. 15. To prepare for the final render, I set the framebuffer to half floating point and the image format to OpenEXR (Fig15). Floating point means the image gets stored with a high dynamic range, as opposed to 8bit or 16bit integer images, which are clipped at RGB values greater than 1.0 (‘white’). With a floating point image we can map values greater than 1.0 back to the visible range in post-production (i.e. we will be able to eliminate completely burnt areas). Half floating point means the floating point with half precision, taking less memory and bandwidth. To be able to render a floating point image right out of the GUI we need to set the Preview Tonemap Tiles to Off, but keep the Preview Convert Tiles: On. The preview in the render view might look very dark and psychedelic, but the OpenEXR image written to disk in the images\ tmp folder will be alright, and that’s the one we will be processing later on in Photoshop (or any other HDRI editor of your choice). 16. Here’s my final render without post processing (Fig16). 17. As with any photograph we shouldn’t judge the raw shot; instead let’s take it into the ‘darkroom’ and apply some colour and contrast improvements here and there (Fig17). www.3dcreativemag.com Page 32 Environment Lighting I hope you’ve enjoyed following this little exercise as much as I have enjoyed writing it! Sadly this is the last part concerning natural exterior lighting, but the upcoming electric light tutorial will be no less challenging and just as much fun, I’m sure! Originally designed & modelled by: Richard Tilbury Tutorial by: Florian Wild For more from this artist, contact them: mymail@floze.de Chapter 04 Electrical Chapter 04 Artificial Interior Lighting Electrical Electrical Chapter 04 Environmental Lighting Electrical Hello and welcome aboard! This time, following on from our last tutorial on natural moonlight, we’ll be discussing a very “CGI-traditional” style of illumination: electrical lighting. Although this kind of light is considered artificial, we will learn later on that it has a very natural background (at least as long as we stay with a tungsten light, which we propose to do so in this tutorial). So why “CGI-traditional”, you ask? Well, ever since there was CGI (Computer Generated Imaging), tungsten bulbs have been very easy to simulate, for mathematical reasons. The classic tungsten bulb has a relatively limited area of light emission, which in the 3D/simulation world can be simplified down to a infinitely small point: the classic point light (as a side note, its little brother, the spot light, is nothing but a point light but with more sophisticated features). In the history of CGI, this infinitely small point made it possible to render 3D images quickly and effectively, due to logic reasoning. In order to simulate a light source, we basically need three points for the maths; i.e. the position of the eye of the observer, since the point is strictly determined. Back in the times when computers the point on the surface that’s being lit (called the “intersection point”), weren’t as “high-clocked” as they are today, this was crucial, and point and the position of the light source. All of these together mathematically light based lighting was mandatory, along with closely related techniques make out the rendering, and since an infinitely small point is obviously such as spotlights and directional lights (which use an infinitely far away the most simple element in 3D space, it can be computed with very little point, instead). So for CGI, the Point light is pretty much as important as expense in this context. Even more importantly, it becomes “noise-free”, Edison’s light bulb is for real life. Computer light sources have evolved since then, however; just as the real light bulb has. For both, the principles have also stayed the same. And still, the most believable deployment of a point light is at the simulation of a tungsten bulb. Now with the history covered, let’s have a closer look at how tungsten bulbs actually work, and why they look as they do. This is, as always, the essential starting point when trying to simulate a specific subject. The operation of a usual incandescent bulb is quite simple: an electric current is passed through a tungsten (also called wolfram) filament, which is enclosed by a glass bulb that contains a low pressure inert gas, to avoid oxidation of the electrically heated filament. Depending on the type of the filament, the operation heat is typically between 2000 and 3300 degree Kelvin (around 3140 to 5480 degree Fahrenheit, or 1727 to 3027 degree Celsius). This thermal increase induces radiation (also, but not only) in the human visible light spectrum, in the form of a socalled “black body”. The interesting thing about this black body (which actually is an idealised physical model of a radiator/light emitting body) is that its emitted spectrum, i.e. the colour, can be estimated by solely knowing the (absolute) temperature of the black body, according to Planck’s Law. On the contrary, one application of this is in astrophysics, where scientists can measure the temperature of a star by analysing its spectrum. And furthermore, this way the movement of stars and galaxies www.3dcreativemag.com Page 35 Environment Lighting Chapter 04 Electrical can be determined, if this estimated spectrum Fig 01 is shifted either towards blue (getting closer) or red (moving away), due to the electromagnetic equivalent of the sonic Doppler effect, called “redshift” or the “Hubble effect”. Well, this all means we have (at least in theory) a strictly defined spectrum, or colour in our case, for a glowing tungsten bulb. This colour lies on the so-called “Planckian locus” (Fig01); a coordinate in a particular colour space, which ranges (for our needs) from the visible red, over white, to blue. There are several “black-bodyKelvin-temperature-to-colour” converters on the Internet, but fortunately there is a standard tool that ships with Mental Ray, which makes our life a little easier! Fig 02 It’s called, guess what, “Mib_blackbody”, and can be found in Maya under the MentalRay Lights tab in the Hypershade menu (Fig02). This utility outputs the desired colour, according to the temperature we feed it. So let’s model the actual light. To deliberately break tradition, I decided to use a spherical Fig 03 Area light (instead of the good ol’ Point light) which I placed close to the centre of the actual bulb’s geometry, so that it’s encompassed by it (Fig03). Obviously, if we rendered it this way, we would face trouble due to the occlusion caused by the bulb’s geometry. www.3dcreativemag.com Page 36 Environment Lighting Electrical Chapter 04 Fig 04 There are several ways to get around this. We can either adjust the bulb’s glass shader so that it handles the transparency (although we’ll have to increase the ray depths accordingly). Or, and this a little smarter in this case, because we won’t have to mess with the ray depths, we can simply exclude the bulb from shadow and reflection/refraction tracing by setting some flags in the object’s Shape node (Fig04). Since the bulb is incandescent anyway, we can neglect its shadow. Fig 05 To give our light the desired colour, I simply create the mib_blackbody node and connect it to the Area light’s colour slot (Fig05). Fig 06 I also set its decay rate to Quadratic, which is very important in order to give it a natural falloff and to obey physical laws. The intensity is left at 1.0; I completely hand this over to the mib_blackbody, where I also set a reasonable temperature for our tungsten filament (something between 2000 and 3300 - I decided for 3000 degree Kelvin) (Fig06). I repeat all these steps for the second bulb, except that I use the same mib_blackbody node for its colour, just to speed up the workflow a little as we can assume that both bulbs are of the same type. www.3dcreativemag.com Page 37 Environment Lighting Chapter 04 Electrical We’re pretty much ready to render now. Before Fig 07 we push the button though, let’s adjust the Render Globals to something more reasonable. The Ray Tracing depths for example are not quite what we need, although they only need changing slightly (Fig07). I’m also switching on Final Gathering for the indirect light contribution. I set the Accuracy, Fig 08 Point Density and Trace Depths to a “good-toplay-with” value; we can change these for the final render of course, later on (Fig08). Because the FG Diffuse Bounces setting has a little shortcoming in Maya 8.5, I set Fig 09 them in the actual controlling node, which is called “miDefaultOptions” (type “select miDefaultOptions”, without the quote marks, into the MEL command line to bring it up in the attribute editor) (Fig09). www.3dcreativemag.com Page 38 Environment Lighting Electrical Chapter 04 Fig 10 Lastly, but most importantly, we have to get into the right colour space, which is sRGB - the commonly used space for things like photographs. Although we cannot precisely apply this colour profile right away (at least not easily in Mental Ray for Maya 8.5), we simply apply a so-called “gamma correction curve” to our image, with a value of value 2.2, which is usually sufficient. This implies some caution; because the textures we usually use are already in sRGB, hence they are gamma corrected, we need to “un-gamma” them before we correct the whole image again. This may seem awkward and unnecessary, but it makes total sense for one reason: if we want the (gamma corrected/sRGB) texture to look like what we Fig 11 are used to it looking like, we need to remove the gamma correction first, before we re-apply it to the whole image. This may seem odd, but it will make our picture look much more natural. Thankfully, Mental Ray has this “removetexture-gamma-and-re-apply-it” thing built in already, so we simply set the desired gamma correction value in the Framebuffer > Primary Framebuffer tab of the Render Globals (Fig10). However, Mental Ray wants us to actually specify the inverted function, which is 1/2.2, equal to 0.455 in our case. For more information on the gamma issue, I encourage you to read the ‘Note on Colour Space’ in the very first part of this tutorial series. Fig 12 Well, here’s our first test render with the settings above (Fig11). Strange things are happening, I know. The reason for this is the very close proximity of geometry to our Area light. The Final Gathering usually goes nuts on this! There’s an easy solution: we simply set the Final Gathering filter to greater than 0. I decided to use 1 as this usually does a good enough job (Fig12). Usually, it is desirable to completely avoid this filter (i.e. leave it at 0), because it introduces some strange bias in certain situations; for example, if we had lit our scene completely by HDRIs. So use it wisely, or only if you are forced to, like in our case. If you are still encountering www.3dcreativemag.com Page 39 Environment Lighting Chapter 04 Electrical artifacts, try excluding the lamp guard and base Fig 13 from the reflection/refraction tracing, as well. Let’s see if it helped (Fig13) ... Yep, that looks much better now! I’m preparing for the final render now, by upping the general anti aliasing quality. The Final Gathering needs increasing, too (Fig14). And there we go (Fig15). www.3dcreativemag.com Fig 14 Fig 15 Page 40 Environment Lighting Electrical Chapter 04 Fig 16 The last thing I added was the mia_material’s built-in detail ambient occlusion, by selecting all the mia_materials and changing the Ao_on attribute to 1 (on) in the attribute spread sheet (Fig16). This reveals small details without hammering the well-known - and usually way too strong - “ambient occlusion corner darkness” onto our image. Fig 17 Also, I decided to render to a more reliable, fancy, super-duper 32bit framebuffer - simply because everyone does! Seriously though, for stills it’s better of course to render to a floating point format. After all this, we’ll achieve a much more peaceful sleep whilst the renderer works overnight. However, for efficiency, I decided on a 16bit half framebuffer, which is still a floating point format but uses less space and bandwith. To use this, the only possible file format for now is OpenEXR, which is not a bad thing since OpenEXR is quite fancy, really (Fig17). Fig 18 After touching up the contrast and some of the colours here and there, I came up with my final interpretation (Fig18). I hope you’ve enjoyed following this little tutorial about electrical light, and I hope you’ll stay with us for the next tutorial part, on candle light! www.3dcreativemag.com Page 41 Environment Lighting Originally designed & modelled by: Richard Tilbury Tutorial by: Florian Wilde For more from this artist, contact them: http://individual.floze.de/ Or contact: mymail@floze.de Chapter 05 Candlelight Chapter 05 Artificial Interior Lighting Candlelight Candlelight Chapter 05 Artificial Interior Lighting Fig 01 Candlelight Ahoy, and welcome back to the fifth part of our lighting tutorial series! Interestingly the general matter on this one will technically be the same as the last time, where we discussed the behavior of electric light bulbs, however the result will be considerably different. So lets turn off the lamps and fetch the matches, to get our candle light tutorial started. In the last tutorial we already learnt the technical aspects of heated bodies, like tungsten filament, or wick. It became clear that in a simplified yet meaningful way the emitted color always has a very determined type, only depending on the Fig 02 temperature of the heated body. And curiously this special rule does not depend at all on the material of the heated body. So we can pick up where we left, and simply translate these rules to our new topic. Lets recall the behaviour of a heated ‘black body’. Whenever matter is heated, it emits photons with certain intensities at distinct frequencies. This ‘fingerprint’ of the radiation is then called a spectrum. Now a black body is an ‘ideal physical model’ which absorbs all radiation and which does not reflect any at all. The interesting thing about this is that the spectrum (‘color’) of such a body is strictly defined by physical law, and is solely dependant on the Fig 03 actual temperature of the body. Of course this is somewhat simplified, as the actual emission spectrum of our heated material (i.e. carbon and hydrogen, bound in the, say, paraffin of our candle) is neglected this way. Still this ‘ideal model’ does a good job at simluating our situation. 01. Now that we have an idea of how to model the color of our candle-light we can start to give it shape. According to gravity and buoyancy laws (hot things move upwards due to their lower density), the candle flame has this well known ‘drop shape’. If you ever wondered how www.3dcreativemag.com Page 45 Environment Lighting Chapter 05 Candlelight Fig 04 a candle burns at zero gravity, see the right side of Fig01 - the hot and ‘lighter’ gas does not circulate (‘convect’) as well as down here on earth, instead it spreads uniformly and no oxygen (although available!) raises it, so it is likely forced to become extinguished. 02. For the sake of simplicity I decided to use a simple photograph of a candle flame as a so called sprite, or billboard object (Fig02). I already adapted the image’s hue to the temperature we will be using later on, which you might want to consider too, but more on this shortly. 03. The billboard is then placed closely to Fig 05 the wick (Fig03), to model the flame. This is a simple and popular method of representing a rather complex shape, be it flames, snow, leaves, grass, pylons, and probably an arbitrarily huge bunch of other things one could think of. 04. It obviously makes sense to take care of certain factors when dealing with such ‘tricks’, so I adjusted all necessary render flags of this sprite, to avoid render artifacts (Fig04). For example, it does not make sense to let this helper object cast shadows (after all it is replacing a light emitting entity), or to leave it visible to reflections or refractions (the actual light will handle this later on with the ‘highlights’). Fig 06 05. The next rational step in our abstraction of the candle light is to build the actual light emitting 3d representative. I chose a spherical area light for this job, with a little scale in the ‘up’ direction’ (Fig05). I placed it closely to where our ‘fake’ flame is, right above the wick. Since we took care of the sprite’s render flags it does not interfere with the light at all. Now that we have our light source constructed, we shall give it life with an appropriate color. As described earlier, we have robust guidelines on how to deal with this, in order to create naturally looking candle light. We simply need to know the approximate temperature at which a candle flame burns on average. The sources on this www.3dcreativemag.com Page 46 Environment Lighting Candlelight Chapter 05 however seem to diverge quite a bit; some state Fig 07 a temperature of around 1300 Kelvin (~1000 degree Celsius, or ~1800 degree Fahrenheit) and some even state it at around 2300 K (~2000 °C, or ~3600 °F). I went for the middle of these values, and decided for a temperature of 1800 K, which equals to around ~1500 °C or 2800 °F. This is the tempereatre (color) we should align our candle sprite texture to, in order to yield a convincing congruence in the rendering. 06. There are many Kelvin-to-color converters on the internet which we could use to obtain the desired color, but luckily there is also a built-in tool that ships with mental ray for Maya. It is called mib_blackbody and can be found under the mental ray lights tab of the ‘Create Render Node’ menu in the hypershade (Fig06). Fig 08 07. This node only has two attributes we need; the temperature (in Kelvin, or ‘absolute’ temperature), and an intensity value (Fig07). If we wanted to really (really!) exactly simulate a candle light, or any light at all, we would have to actually know it’s luminous power, also called luminous flux or lumen (read on this link for further information: http://mentalraytips.blogspot. com/search/label/photometry), and then we would have to convert this value into the Maya/mental ray world with some effort on both the emitting (light) and receiving (camera) side. Maya 2008 has some built-in improvements on this, however, since we don’t do a radio/photometric scientific simulation we simply Fig 09 GUESSTIMATE the intensity. I went for a value of 2500. To finally make use of this little tool, I connect it to the light’s color slot - the light’s intensity is left at 1.0 (this is handled by the mib_blackbody), and I also make sure the decay rate is set to ‘Quadratic’. That’s pretty much it for the scene part, lets head over to the rendering department. 08. We prepare the final gathering settings for quick yet meaningful convergence of the indirect illumination (Fig08). We only need a few rays (32) and a coarse point density (0.5) for our www.3dcreativemag.com Page 47 Environment Lighting Chapter 05 Candlelight Fig 10 preview. Of course we will refine everything for our final image. I left the final gather ‘mode’ at automatic, i.e. the ‘Optimize for Animations’ and ‘Use Radius Quality Control’ are kept OFF. 09. The trace depths however need to be increased, along with the general raytracing settings; I decided for 2 ‘bounces’, for the diffuse contribution, which I revise in the miDefaultOptions node (Fig09): although I turn them ON in the render globals, they are stuck at 1 bounce due to a little bug. I want them to be of depth 2, so I adjust them ‘under the hood’ in the miDefaultOptions. Before we actually render, we must take care Fig 11 over the color space, so its time for our little gamma-mantra (since we dont want odd and cg-ish looking, grungy true-linear shadings). Thus we put ourselves into the right color space, which is sRGB, the commonly used space for things like photographs. Although we cannot precisely apply this color profile right away (at least not easily in mental ray for Maya 8.5), we simply apply a so called gamma correction curve with a value of 2.2 to our image, which usually is sufficient. This implies some caution: because the textures we usually use are already in sRGB, or hence gamma corrected, we need to un-gamma them before we correct the whole image again. This seems awkward and unnecessary but makes total sense for a reason Fig 12 - if we want the (gamma corrected/sRGB) texture to look like we are used it to looking, we need to remove the gamma correction first, before we RE-apply it on the whole image. Odd notion, but makes our picture look pretty and more natural. 10. Thankfully mental ray has this removetexture-gamma-and-re-apply-it thing built in already, and we simply set the desired gamma correction value in the frame buffer>primary framebuffer tab of the render globals (Fig10). However, mental ray wants us to actually specify the inverted function, which is 1/2.2=0.455 in our case. For more information on the gamma issue, I encourage you to read www.3dcreativemag.com Page 48 Environment Lighting Candlelight Chapter 05 the ‘Note on Color Space’ in the very first part of Fig 13 this tutorial series. 11. A quick test render yields some strange, blotchy artifacts though (Fig11). This is due to the close proximity of certain objects to the area light - we would have to either move them (or the light) a little farther away, or exclude them from the final gathering and reflection/refraction computation somehow. Since we obviously have a great demand to keep the light close to the candle, we are forced to take the latter solution. 12. We simply switch OFF the corresponding render flags in the candle’s and wick’s shape node (Fig12). This basically cures the brightblotches-problem. To furthermore suppress these kinds of blotches, I decided to use a final Fig 14 gathering filter of 1. This filter should be handled with care, and only be used as a last resort. 13. Another test rendering verifies this (Fig13), and we have take off clearance. Lets raise the quality to something more usable (which basically means we are extending the flaps, to continue the metaphor). 14 . First, lets raise the general sampling settings (Fig14). The minimum level is kept at 0, the maximum level is set to 2, which means a maximum of 4^2, or 16 samples per pixel (whereas the rule is 4^n, and n means the sampling level). The contrast is lowered to 0.05 each. I usually use a narrowed gauss filter of Fig 15 width 2.0 (default is 3.0!) both in x and y, which gives sharp, fast and nice sample filtering. 15. In the end, lets give the final gathering a final quality (Fig15). I increased the rays (accuracy) to 64, and the point density to 2.0, which should be more than enough for our still image. 16. I also turned on the ‘detail ambient www.3dcreativemag.com Page 49 Environment Lighting Chapter 05 Candlelight Fig 16 occlusion’ mode of the mia shaders. All you need to do is to select all the mia shaders in the hypershade, open up the attribute spread sheet, and set the Ao_on attriubte to 1 (ON) (Fig16). This ensures we see all the little details that are too small to be captured properly by a rather coarse final gathering solution. 17. Last but not least, we could go for a floating Fig 17 point framebuffer, if we liked. To do so from within the render view and without going to a batch, we simply had to switch the framebuffer to either RGBA (Float), or RGBA (Half), turn the ‘Preview Convert Tiles’ ON, the ‘Preview Tonemap Tiles’ OFF, and use an appropriate file format, like OpenEXR (Fig17). 18. Thats it. I came up with this final Fig 18 interpretation, after going through a few color, white-balance and contrast image operations (Fig18). I hope you enjoyed following our little candle light exercise as much as I enjoyed writing it! I’d be glad to welcome you next time to our final part, which is probably the most challenging and most definitely the eeriest one: about underwater lighting! www.3dcreativemag.com Page 50 Environment Lighting Originally designed & modelled by: Richard Tilbury Tutorial by: Florian Wild For more from this artist, contact them: http://individual.floze.de/ Or contact: mymail@floze.de Chapter 06 Underwater Chapter 06 Artificial Interior Lighting Underwater Underwater Chapter 06 Artificial Interior Lighting Underwater Hello and welcome to the sixth and last part of our environment lighting tutorial series! In the preceeding parts we discovered the world of natural environmental lighting, artificial kinds of lighting, and a combination of the two. In our last feature we will be discussing a rather special case: that of an underwater scenario. This implies some more or less ‘unusual’ pre-requisite. More precisely, we will be in need of a truely visible ‘medium’, let’s call it volume or ether. Most often people tend to fake such volume by simply using so called ‘volume shadows’ on their 3d lights, i.e. lights casting a visible ‘light ray’ into an apparent (though not existant) volume. This is not the real deal, however it is a favored method of both professionals (because it renders fast, which is essential specially for animations) and beginners (because its rather easy to set up and.. well I dont know. But its like the No.1 thing people wish to do when getting their hands on a 3d program). Anyhow, we will be going the way of the cowboy, or cowgal, and do it the tough style. Since this is all about rendering stills, we can afford to have this extra nuance of ‘bought’ prettiness. Well. So we’re back aboard.. though this might be a rather inappropriate description - we are sunk! The ship’s body is below the waterline and filled with seawater. To believably illustrate this situation shall be the challenge of our tutorial. We will also be creating an eerie, or unfamiliar, uncommon lighting to support the feeling of being in a different world. Before we start to do anything we need to have a few thoughts on this different world, because this time we actually have a whole different (or lets say: a more exaggerated) situation than usual. Mainly there are two things we need to consider: First WHAT makes underwater look underwater, and second HOW can we achieve/ simulate it. This might sound trivial, and in fact www.3dcreativemag.com Page 53 Environment Lighting Chapter 06 Underwater the circumstances are so trivial indeed, that most people seem to forget about them. 1. Lets begin by comparing our usual situation (land / more or less dry air) with our new situation (under the sea). In our habitual environment, like our office, the living room, or wherever inside a building, we usually do not have much of a visible ‘volume’ - except if we romp around and raise some dust. When this dust gets into the air, it naturally, like any matter, reflects light. Thus it gets ‘visible’. The more dust we raise into the air, the ‘thicker’ the apparent volume gets, and the light rays seem to become actually visible - although all we see is the dust reflecting them. There is a nice (albeit philosophical) quote of Andre Gilde that aptly says: “Without the dust, in which it flashes up, the sunray would not be visible”. Now there are more ‘things’ than plain dust in the air we breath, in fact there are tons of gases and particles which all make up what is commonly called the ‘aerosol’. This rather invisible mixture of microscopic solid particles and liquid droplets have the same scattering impact on incident light as the regular (substantially larger) airborne dust. This has an interesting effect: when light gets scattered (i.e. forced to diffusely deviate it’s naturally straight trajectory) by a surface much smaller than the wavelength of it (like the aerosol ingredients), the so called ‘Rayleigh scattering’ occurs. Named after the physicist Lord Rayleigh, this general approximation rule says that the scattering ‘probability’ of a light ray is dependant on its wavelength - whereas the smaller wavelengths (blueish, ultra violet domain) have a higher chance of getting scattered than the larger wavelenghts (reddish, infrared domain) (Fig01). Have you ever asked yourself why the sky is blue? THIS is the answer. The rather neutral, virgin and ‘white’ sunlight enters the earth’s atmosphere, and the distinct portions of it get scattered by the aerosol - since the blue part of the light has a largely higher probability to get scattered, we seem to www.3dcreativemag.com Page 54 Environment Lighting Underwater Chapter 06 be surrounded by a diffuse blue environment. As opposed to a sunset or dawn, where mostly unscattered light from the direction of the sun reaches the observer - and appears red, due to the lower wavelength. Fair enough. Much pondering about the air, but what about our concrete underwater situation? Well, its basically the same story! The ocean IS blue. Not only because it reflects the sky, but also because of the Rayleigh rules explained above. This scattering rules basically apply to anything at anytime. In cgi we only neglect it, or often we fake it based on observational facts. And after all, computing true wavelength based Rayleigh scattering is a seriously complex task, and its questionable if the effort can be justified, since it’s mostly rather marginal effect would ‘steal’ the rendering time we could spend on other things that make our image pretty. Have you ever asked yourself for example: why do Maxwell Renders of outdoor images look faint, whilst the indoors look pimp? Because they neglect this light scattering (at least to this point in time)! The scattering effect is not as apparent in the indoor/interior renderings, but has a large impact on the ‘naturalness’ of outdoor, larger scale situations. The Rayleigh rule is omnipresent, unless you’re in a complete vacuum. And it is even more evident in ‘thicker’ mediums, or volumes, like the ocean water, which is full of more or less tiny particles. The only difference here is that the light gets scattered and absorbed earlier, which is often referred to as a higher ‘extinction’. A light ray entering such volume has a certain probability to either get scattered forwards (along it’s original trajectory), backwards (the direction it came from), something inbetween, or to get completely absorbed by some particle. Every volume has it’s own characteristics at how much of each of the former criteria is being applied, not to forget that the wavelength of the light ray looms largely over this... www.3dcreativemag.com Page 55 Environment Lighting Chapter 06 Underwater Fig 01 This behavior can be modelled, or simulated by a so called ray marching shader. We are not going to obey the wavelength dependant rules strictly (it’ll be more of a guesstimation), but lets finally get our hands on our actual scenery. As a reference I like to use http://www. underwatersculpture.com/ by Jason Taylor, which has various and no less beautiful photographs on the day-to-day-thingsunderwater subject. Fig 02 2. To build up our medium, I decided to simply create a large surrounding cube (Fig02) as a ‘container’ of our volume. This is the simplest and mostly fail-safe way to set up this kind of stuff. We could alternatively build our volume through our camera’s volume shader slot, which would basically have the same effect unless a ray would hit ‘nothing’, where this second approach would simply return the un-approximated environment color. This alternative method could take longer to render, because the ray marcher could possibly take some more and unncessary steps further into the depth (not in our case however). The ray marching utility we will be using is the Fig 03 rather ancient, though still nicely working mental ray ‘parti_volume’ shader, which can be found under the ‘mental ray Volumetric Materials’ tab in the hypershade. This is not to be confused with the parti_volume_photon, which is used for volume photon tracing, but we will not use photons to obtain indirect illumination in our tutorial anyway. Our method will be a bit less accurate but still nice and fast enough to create our desired look and feel. 3. Lets have a look at the volume shader. Foremost, we assign a new ‘black’ surface shader to our cube container, and connect the parti_volume to its shading group’s ‘Volume Shader’ slot (Fig03). Thats pretty much it for the www.3dcreativemag.com Page 56 Environment Lighting Underwater Chapter 06 set-up part, and we can have a closer look at Fig 04 the parti_volume’s diverse attributes. 4. Most important for our needs right now is the scattering part (Scatter, Extinction), the so called scatter lobes (R, G1, G2, more on this later), and the ray marching quality settings (Min_-, Max_step_len). The other attributes, which we will neglect however, are for filling the volume only partially (Mode - 1 means ‘do it’ - and Height), to add a noise, or rather density variation (Nonuniform, 0.0 means ‘no noise’) and stuff we really dont need (Light_dist, Min_ level, No_globil_where_direct). As you can see, there’s lots of techy stuff, but we’ll concentrate on the essential things. (Fig04). First the scattering factors, Scatter and Fig 05 Extinction. Scatter basically controls the color of the medium and is closely related to the Extinction, which controls the density of the medium. Both go hand in hand, and the hassle about this is that to work with half-way rational values we need to have a quite dark Scatter color and a quite low Extinction factor - if any of the two goes into higher extremes we’ll typically end up with undesired results. So I decided for a value of RGB 0.035, 0.082, 0.133 for the Scatter color, which is a natural blueish tint. Since we don’t do wavelength dependant calculations I decided for this predominant color that mimics and supports the Rayleigh rules explained above. For the Extinction I used a low appearing value of 0.004, but keep in mind that this is Fig 06 all correlative with the Scatter color, and very sensitive. So this value will give us an extinction that swallows almost all of the light in the rear corners, and that’s way enough. Now about the scattering lobe. That’s a bit more difficult at first glance. Basically, a negative value for G (either G1 or G2) means a backscattering lobe (back into the direction the light ray came from) and a positive value means a forward scattering lobe (forward along the original trajectory of the light ray) - and R simply means the mixture between G1 and G2. So you typically chose one backward scattering lobe www.3dcreativemag.com Page 57 Environment Lighting Chapter 06 Underwater Fig 07 (i.e. a negative value for G1) and one forward scattering lobe (i.e. a positive value for G2), and weighten both with the R attribute. Whereas 1.0 for R means ‘use only G1’ and 0.0 means ‘use only G2’ and 0.5 would weight both equally... I know - there must have been some really funny guy at mental images who wrote this shader, and I’m pretty sure he’s still laughing up his sleeve. Anyhow. I chose a rather foward scattering volume, but I encourage you to experiment with the values. The forwardish scattering creates these nice glow-like appearing light sources when the light points towards the camera (its vice versa if the light is e.g. behind the camera Fig 08 of course). So I used R 0.1, G1 -0.65, G2 0.95 for my final image. Last but not least I trimmed the Min_- and Max_step_len to 50.0 each. This attribute decides at which distances (step lengths) to stop for looking up a volume sample - hence the rays ‘march’ through the medium, and the lower the step lengths the more samples will be taken, the better (less noisier) the image quality gets and the longer it’ll take to render. If you think it takes too long to render, boost this value up. On the other hand, if you think you get too much noise and artifacts in your image, reduce it. Generally however the manual proposes to use a value of about 10 percent of the Max_step_len for the Fig 09 Min_step_len, so you might want to try this as well (5.0min/50.0max). It is worth mentioning that the step length values are in actual scene units, so in our case it looks up a volume sample every 50 centimeters. 5. Ok, we have our medium set up and running (almost), now lets create some lights to make it shine. Since our volume shader relies more on direct rather than indirect light we cannot rely much on the later final gathering for the ‘diffuse’ incoming illumination. That’s why I created two area lights for this job, one above the hatch, and one right behind the rear windows. For the main light source however I used two spot lights shining in from outside (Fig05). www.3dcreativemag.com Page 58 Environment Lighting Underwater Chapter 06 6. For these main lights I used a mib_blackbody Fig 10 helper utility at 2200 Kelvin to obtain a rather warm and diver-flash-light-like color (Fig06) (the method of using a blackbody temperature as color source has been explained more extensively in the two preceeding tutorials!). Though one could also imagine that its the sun shining in from windows, you must decide this and play around with it (in the words of Bob Ross: there’s no failures, only happy accidents!). 7. The two area lights need a mixture of natural blue (due to Lord Rayleigh’s stuff) and green (due to many small greenish micro organisms floating in the sea, like plankton or algae). This mixture is commonly referred to as cyan, turquoise, mint or cobalt, depending on which color is weighted, or most felicitous: aquamarine Fig 11 (Fig07). 8. So far so good? Uhm.. there’s one last very important thing we need to consider. Remember the funny shader programmer? He decided to omit every light that is NOT on his list. That’s a strange attitude, but not stranger than the other stuff in the parti_volume, no ? So we need to link every light on the light list (Fig08). You can either put in the (case sensitive!) name of the light, or mmb drag and drop the light transform from the outliner onto a spare field (you need to re-select the parti_volume each time you connect one light, so the mechanism can add another open slot). Fig 12 9. Now that we have this part running, lets think about adding a few details that would add more to the underwater impression. In Maya we fortunately have the Paint Effects system, which is easy to use and even has some built-in ‘underwater’ brushes (Fig09). I used some sea urchins here and there, a hint of shells, and a few scattered starfish. I also added a little of the seaweed to some corners. 10. To be able to render the Paint Effects with mental ray we need to convert them to regular polygons (Fig10). I also converted their Maya shaders to mental ray mia_materials, which www.3dcreativemag.com Page 59 Environment Lighting Chapter 06 Underwater Fig 13 is always a good idea to obtain a consistent shading behavior across the scene, since in our case everything else is built with them as well. This needs to be done manually however. 11. That’s it; we’re finally ready to render. I used a fixed sample rate of 2/2 this time (Fig11). This is quite a brute-force way, and you might consider using an adaptive sampling of 0/2, but be advised to tune up the sampling of the area lights along with it, since they are all left at 1/1 right now. Also you should consider lowering the parti_volume step lengths if you encounter artifacts with the adaptive sampling. It is also worth mentioning that to actually ‘cast’ a shadow into the volume, we need to have a shadow (and Fig 14 general max-) ray trace depth of at least 4. 12. For the indirect illumination I chose a rather low-quality appearing final gathering with diffuse bounces (Fig12). This time, due to the volume stuff, the final gathering will not add all too much to the image, but it still has a nice contribution to the general look of our piece. Before we push the render button we need to chant the gamma mantra though, as always. Since we want our image to look nice, natural and appealing, instead of dark, smudgy and cg-ish, we need to pull it from it’s default color space, i.e. mathematically linear, into the one we are used to seeing, i.e. gamma corrected Fig 15 sRGB. There’s a deeper explanation on this matter in the very first of the tutorials, the sunny afternoon. To recall the essential basics however, lets repeat why we need to care about the gamma issue BEFORE we render out our image. As mentioned, the (any) renderer does it’s internal calculations in a mathematically linear manner, which generally is a good thing. We could pick this truely linear result and take it into our post application and gamma correct it there (because gamma correction / putting things into the sRGB color space is desirable in almost any case - probably almost everything you see, i.e. photographs, pictures are in this sense, already gamma corrected. When using regular image files, which usually www.3dcreativemag.com Page 60 Environment Lighting Underwater Chapter 06 have the sRGB/gamma correction ‘baked’ into Fig 16 them a priori, we need to remove this gamma correction, before we RE-apply it on the whole image. Makes sense, no ? I know its confusing, but unless you dont want to have doublegamma-washed-out-looking textures we need to obey this little rule. Applying the right gamma on the whole image afterwards isnt enough, if we want the textures to look as they should (i.e. as we are used to seeing them, in their sRGB color space). Now, many people dont care about this whole issue and thus render in the plain mathematically linear space. They wonder why their images look strange and unnatural, and have this unusual dark and smudgy look and blown out highlights and overbright areas everywhere. Realtime 3d has yet to ‘learn’ that mathematically linear rendering is not what the eye is used to seeing in nature (the human brain reaches a ‘gamma corrected’, or rather logarithmically corrected image too, if you will! Although human perception is far more complex of course). 13. So we want to have it gamma corrected/ sRGB. Our renderer mental ray has a built-in function to automatically ‘remove’ the gamma from the textures before rendering, and apply the inverse of this gamma on the rendered pixel/image. To do so, we go to the Primary Framebuffer tab in the render globals and put the appropriate gamma value, which is 1/2.2 or 0.455, into the Gamma field (Fig13). 14. As a last enhancement lets turn on the ‘detail ambient occlusion’ mode of our mia_materials. It should all be set up already by default, we simply need to switch it on by selecting the mia_materials and raising the Ao_on value from 0 (off) to 1 (on). We can do this easily for all selected shaders at once by using the attribute spread sheet (Fig14), from the Window> General Editors> Attribute Spread Sheet menu. 15. We should come up with a render similar to (Fig15). I rendered to a regular 16bit image format, and took it into photoshop for some www.3dcreativemag.com Page 61 Environment Lighting contrast and color adjustments. That’s the most enjoyable part of it. 16. After playing around with the white balance, crushing the blacks, enhancing certain color elements (i.e. the blues and aquamarines), and after having fun with the ‘liquify’ function in Photoshop I came up with my final interpretation (Fig16). I also put a ‘dust/grime’ image on top of the image, to support the feeling of a thick medium. I hope you like it. And I hope you enjoyed following our environment lighting tutorial series, as it is time to say good bye for the time being. I have had a great time solving all the problems concerning each of the tutorials, and most defintely learned a lot along the way, and hopefully you have too. If you have any questions, criticisms, comments or any other input on the tutorials, don’t hesitate to contact me. Originally Designed & Modelled by Richard Tilbury Tutorial by: Florian Wild For more from this artist visit: http://individual.floze.de/ Or contact them: mymail@floze.de Introduction: The aim of our training DVD’s is to provide the artist with the most comprehensive set of lessons available. This is achieved by presenting the training material in the form of: - step-by-step tuition. - on-screen visual and audio instructions. - ongoing forum support from the author. - full-screen resolution flash movies. All aspects of creating the finished projects are taught in a way that artist of all levels will be able to learn at their own pace. Once these techniques have been learnt , they can be equally applied to all your future modelling and texturing projects. - Section 1: The Basics - Using the Interface. - Section 2: Modelling - Head, Nose, Horns & the Eyes. - Section 3: Mapping & Unwrapping. - Section 4: Texturing - Painting Skin, Eyes & the Horns. - Training by in-house 3D Artist Richard Tilbury. - Over 3hrs 30mins of comprehensive training. - Printable step by step PDF. - Suitable for all levels of artist. - Section 1: The Basics - Using the Interface. - Section 2: Modelling - Head, Nose, Horns & the Eyes. - Section 3: Mapping & Unwrapping. - Section 4: Texturing - Painting Skin, Eyes & the Horns. - Training by Julian Sarmineto - Sony Picture Imageworks. - Over 3hrs 30mins of comprehensive training. - Printable step by step PDF. - Suitable for all levels of artist. - Section 1: Modelling. - Section 3: Mapping & Unwrapping. - Section 4: Texturing. - 8hrs 30mins of comprehensive training. - Suitable for all levels of artist. for more products in our range visit http://www.3dtotal.com/shop : volume 2 Available Now Only! UK - £32 USD - $64 EUR - €49 Features 58 of the finest digital 2d and 3d artists working in the indusrty today, from the likes of: Philip Straub Jonny Duddle Alessandro Baldasseroni Benita Winckler Fred Bastide James Busby Marek Denco Patrick Beaulieu Jonathan Simard Buy the book to see just how they create their incredible imagery! for more products in our range visit http://www.3dtotal.com/shop Hardback 21.6cm x 27.9cm in size 288 Full Colour premium paper pages Introduction: The ‘Eva Wild Series’ – Our aim in this series is to provide comprehensive lessons to produce a complete fully rigged, textured and anatomically correct female character. This series fits well into 3 DVDs with 3 separate professional 3ds Max instructors taking you through each if their specialties in very detailed step by step processes making this training suitable for artists of all levels. Part 1 - Modelling: - Complete step by step modelling of the Eva Wild character. - Teaches the importance of studying human anatomy. - Provides clear diagrams showing muscle flow and bone structure. - 14 hours of comprehensive training. - Suitable for artist of all levels. Part 2 - Texturing, Mapping & Clothing: - Complete step by step texturing process of the Eva Wild character. - Modelling and Texturing of Eva Wild garments. - Lighting the character. - 4 hours and 47 mins of comprehensive training. - Suitable for artist of all levels. Part 3 - Rigging & Animation - Complete step by step of setting up a fully animatable rig for the Eva Wild character. - Creating a walk Cycle. - Creating a simple face morph. - 7 hours and 43 mins of comprehensive training. - Suitable for artist of all levels. for more products in our range visit http://www.3dtotal.com/shop Introduction: Michel Roger’s famous ‘Joan of Arc’ tutorial re-written for Maya by Taylor Kingston, Cinema 4D by Giuseppe Guglielmucci & Nikki Bartucci, Lightwave by Vojislav Milanovich and Softimage by Luciano Iurino and 3DCreative Magazine.com. If there has been one single tutorial that has educated and inspired more budding 3d artists than anything else, this complete step by step project by Michel’s must be it. The community is in debt to him. These 120 plus page, Downloadable PDF’s are designed for ease of use to help beginners and intermediate level of artist alike in the creation of a female character. The tutorial takes you through the process of modelling, texturing and mapping to finally adding bones. for more products in our range visit http://www.3dtotal.com/shop Image by Michel Roger Chapter 1: Modeling of the Body - Body Chapter 2: Modeling of the Head - Head, Ear & Assembly Chapter 3: Modeling of the Accessories - The Sword & Armour Legs Chapter 4: Modeling of the Accessories - Armour Bust, Hair & Glove Chapter 5: Modeling of the Accessories - Accessories & UVW Mapping Chapter 6: UVW Mapping - Sword, Clothing, Armour & Body Chapter 7: Texturing & Hair - Eyes, Skin & Hair Chapter 8: Bones & Skinning - Bases, Hierarchy & Skinning Introduction: A Collection of the finest independent animated movies and commercial trailers. The DVD includes work from a whole number or different sources, such as students, independents animators and commercial studios. We want people to be able to view this wealth of elite animation in one convenient high resolution package whilst generating much exposure for these talented artists at the same time. - Running Time: 3hrs 8 mins - 27 Shorts movies - 6 Clips & Trailers - Region Free, NTSC & PAL versions - Shorts & trailers from artist and studio like: Blur Studios Brian Taylor Marco Spitoni Patrick Beaulieu & Alex Mateo - Running Time: 3hrs 8 mins - 27 Shorts movies - 3 Trailiers - Region Free, NTSC & PAL versions - Shorts & trailers from studios such as: Blur Studios Keytoon Animations Studios Redrover Studios & Platige Image - Loads of extra including images and storyboards for more products in our range visit http://www.3dtotal.com/shop Downloadable Tutorial EBook Introduction: The original character of the Swordmaster was created by Seong-wha Jeong and we had 3DTotal’s in-house 3d artist Richard Tilbury, re-create the character in 3dsmax as well as create the textures in Photoshop, in our new precise, step-by-step tutorial for highly polished, low polygon game character with detailed texturing for real-time rendering. We have also converted the tutorials into Cinema 4D, Maya, Lightwave and Softimage platforms. Even if you are not a user of one of them, the principles should be easily followed in nearly all other 3D applications. The Swordmaster tutorials is spread over 8 Chapters which outline, in detail, the process for creating the Swordmaster below are the details. image by Seong-wha Jeong Chapter 1: Modelling the Head Chapter 2: Modelling the Torso Chapter 3: Modelling the Arms & Legs Chapter 4: Modelling the Clothing & Hair Chapter 5: Modelling the Armour Chapter 6: Mapping & Unwrapping Chapter 7: Texturing the Skin & Body Chapter 8: Texturing the Armour & Clothing for more products in our range visit http://www.3dtotal.com/shop THEBRANDNEW V !RCHITECTURAL3HOWROOM4EXTURES /UR .%7 4OTAL 4EXTURE COLLECTION IS FULL OF GREAT 3HOWROOM 4EXTURES FOR REALLY FINISHING THOSE !RCHITECTURAL RENDERS TO THE HIGHEST STANDARDS WITH AS LITTLE EFFORT AS POSSIBLE !S WITH ALL 4OTAL 4EXTURE #OLLECTIONS THE .%7 $6$ NOW CONTAINS 4EXTURE -APS COMPRISING OF OVER INDIVIDUAL HAND CRAFTED TEXTURE MAPS WHICH ARE ALL FULLY TILEABLE %ACH TEXTURE HAS BEEN HAND CRAFTED FROM ORIGINAL PHOTOGRAPHY MADE SEAMLESS WHERE REQUIRED AND EACH HAVING THEIR OWN UNIQUE BUMP SPECULAR MAP INCLUDED %ACH TEXTURE IS ALSO OF COURSE TOTALLY FLEXIBLE AND CANBE USED IN MANY PROJECTS ARCHITECTURAL OR OTHERWISE (ERE IS THE $6$gS FULL CONTENTS #OLOUR 4EXTURE -APS -ATCHING "UMP -APS -ATCHING 3PECULAR -APS 3PLIT UP INTO THE FOLLOWING CATEGORIES &ABRICS 5PHOLSTREY 4EXTURES -ARBLE 4EXTURES 2UGS 3TONE 4EXTURES 4ILE 4EXTURES 7ALL 4EXTURES 7OOD 4EXTURES -ISC 4EXTURES #OLLECTIONSOFAMAZING4EXTURES FORFULLINFORMATIONANDPRICINGINCLUDINGDISCOUNTSOFUPTOVISITWWWDTOTALCOM )MAGE CHEN QINGFENG