Advanced Maya Texturing and Lighting- P8

Chia sẻ: Cong Thanh | Ngày: | Loại File: PDF | Số trang:30

0
53
lượt xem
15
download

Advanced Maya Texturing and Lighting- P8

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Advanced Maya Texturing and Lighting- P8: I should stress that I am self-taught. In 1994, I sat down at a spare seat of Alias PowerAnimator 5.1 and started hacking away. After several years and various trials by fire, 3D became a livelihood, a love, and an obsession. Along the way, I was fortunate enough to work with many talented artists at Buena Vista Visual Effects and Pacific Data Images. In 2000, I switched from PowerAnimator to Maya and have since logged tens of thousands of hours with the subject of this book....

Chủ đề:
Lưu

Nội dung Text: Advanced Maya Texturing and Lighting- P8

  1. color outColor outAlpha inputValue outColor ol or color[1].color_C r olo lor lor_C tCo o ou [0].c co lor 189 ■ sH i F t i ng Colors Figure 6.23 Two textures are blended together with a Remap Value utility. This scene is included on the CD as remap_value.ma. Smearing Colors the smear utility allows one texture to be distorted by another. if smear is combined with a ramp texture, it creates a stylized vision effect that might be appropriate for an alien, a monster, or a robot. For example, in Figure 6.24 a sequence of video images is loaded into a File texture. the use image sequence attribute is checked so that the images are automatically loaded as the timeline moves forward. the outColor of the file node is connected to the inrgb of a smear node. the outu of the smear node is connected to the offsetu of the place2dtexture node of a ramp texture node. the outV of the smear node is also connected to the offsetV of the place2dtexture node of the ramp node. the outColor of the ramp node is finally connected to the outColor of a surfaceshader material node, which is assigned to a primitive plane. the ramp has three handles: one red and two orange. the higher the values are in the video image bitmaps, the farther the smear node “pulls” the ramp down in the V direction. For instance, if a bitmap provides a pixel with rgB values 0.5, 0.5, 0.5, the ramp is pulled downward so that the top rests at the center of the ramp field. if a bitmap provides a pixel with rgB values 0.9, 0.9, 0.9, the ramp is pulled downward so that the top rests
  2. one tenth above the bottom of the ramp field. When the ramp is called upon by the surfaceshader material, every pixel of the ramp is offset in the V direction by a unique amount. Hence, the ramp appears as a colored version of the video bitmap. outU 190 outColor C r e at i n g C u s t o m C o n n e C t i o n s a n d a p p ly i n g C o l o r u t i l i t i e s ■ inRgb outV tUV ize ou iterS tU vFl ou outColor rd Coo outColor uv ze rSi lte u vFi Figure 6.24 An image sequence and a Ramp texture are combined with the Smear utility. This scene is included on the CD as smear.ma. A QuickTime movie is included as smear.mov. internally, the smear utility converts the input rgB to HsV. new uV coordi- nates are generated by plotting values on an HsV color wheel. For another example of the smear utility, see the tutorial at the end of this chapter. Correcting Gamma gamma correction is the adjustment of an image to compensate for the physical limi- tations of a computer monitor. With a monitor, the intensity (brightness) of a screen 6: pixel does not linearly increase with the application of additional voltage. Because of chapter this, uncorrected images may appear inappropriately dark or washed-out. gamma correction solves this by applying a complementary intensity curve to the image to negate the monitor’s intensity curve. different operating systems apply gamma cor- rection in different ways, whether through hardware or software controls. microsoft- based systems generally operate with a gamma value set to 2.2, whereas macintosh
  3. systems operate with a gamma value set to of 1.8. some programs, like adobe photo- shop, allow you to apply different gamma values to the system on the fly. gamma correction is applied to the image with the following standard formula: new pixel value = image pixel value ^ (1.0 / gamma value) thus, if an image pixel has a value of 0.5, 0.5, 0.5 and the gamma value is set to 2.2, the new pixel value, which is sent to the screen, is roughly 0.73, 0.73, 0.73. maya’s gamma Correct utility also applies the standard gamma formula: outValue = value ^ (1.0 / Gamma) in this case, the gamma Correct utility adjusts the values of the value input and outputs the result through outValue. no other node is affected. as a rule of thumb, the higher the gamma attribute values are, the more washed out the mid-range values become. High- and low-range values (white whites and black blacks) are affected to a lesser degree. an interesting side effect of the gamma Correct utility is the increase or decrease of saturation. For example, in Figure 6.25 face.tif is loaded into a File texture. the outColor of the file node is connected to the value of a gammaCorrect node. as a test, 191 the outValue of the gammaCorrect node is connected to the inputs[0].color of a lay- ■ sH i F t i ng Colors eredtexture node. the gamma attribute of the gammaCorrect node is set to 0.5, 0.5, 0.5. as a result, the washed-out bitmap gains a good deal of saturation. raising the gamma above 1 would have the opposite effect—less saturation. outColor outValue value inputs[0].color Figure 6.25 A washed-out face bitmap is given extra saturation with a Gamma Correct utility. This shading network is included on the CD as gamma_correct.ma. to view the custom shading network, follow these steps: 1. open the gamma_correct.ma file from the Cd. open the Hypershade window. 2. switch to the utilities tab. mmB-drag the gammaCorrect node into the work area. 3. With the gammaCorrect node selected, click the input and output Connec- tions button. the network becomes visible. Note: Many Maya utilities feature vector attributes that are represented by three number fields (for example, Gamma). These fields are read left to right when representing color (red, green, blue) or position (X, Y, Z). When one of these fields is used in a custom shading network, the connection is made to a single channel of the attribute (for example, gammaX).
  4. Adjusting Contrast the Contrast utility does exactly what its name implies. the higher the Contrast attribute value of the Contrast utility, the whiter the whites and the blacker the blacks become. the lower the Contrast attribute value, the more the colors converge toward each other. the Bias attribute determines the rgB values that the colors converge to. For example, in Figure 6.26 face_2.tif is loaded into a File texture. the outColor of the file node is connected to the value of a contrast node. as a test, the outValue of the contrast node is connected to the inputs[0].color of a layeredtexture node. the Con- trast attribute of the contrast node is set to 4, 4, 4. the Bias attribute is set to 0.4, 0.4, 0.4. the resulting image has extremely white whites and black blacks and few colors in the mid-ranges. outColor outValue 192 value inputs[0].color C r e at i n g C u s t o m C o n n e C t i o n s a n d a p p ly i n g C o l o r u t i l i t i e s ■ Figure 6.26 A washed-out face bitmap is given a great deal of contrast with the Contrast utility. This shading network is included on the CD as contrast.ma. a Contrast value of 1 and a Bias value of 0.5 leaves the texture unchanged. lowering the Contrast value reduces the contrast. raising the Bias value darkens the texture overall. A Note on Sliders and Super-White in maya, many sliders that include number fields can readjust themselves. For instance, a diffuse attribute slider normally runs from 0 to 1. However, if you enter 2 into the field, the slider automatically readjusts itself to run between 0 and 4. For the diffuse attribute, higher values result in a predictably brighter surface. other sliders, when pushed past their default range, will not display a perceptible change. any maya color channel can exceed the standard bounds of 0 to 1. although it’s not possible to do this directly through the attribute editor, you can enter extra-high values into the fields of the Color Chooser window. to do so, follow these steps: 1. in the attribute editor tab, click the color swatch of an attribute. the Color 6: Choose window opens. chapter 2. Choose either rgB or HsV from the color space drop-down menu. if you choose rgB, enter a value into the red, green, or Blue field. there is no practi- cal limit to the size of the number you enter. if you choose HsV, enter a value into the Hue, saturation, or Value field. although Hue and saturation accept large numbers, the Value field is generally the most useful for custom values. 3. Click the accept button to close the window.
  5. in addition, you can create extra-high values, either intentionally or uninten- tionally, through custom connections. as a demonstration, the line Color and Filler Color attributes of a grid texture node are set to 0.5, 0.5, 0.5 in rgB, creating a solid gray (see Figure 6.27). the outColor of the grid node is connected to the input1 of a multiplydivide node (see Chapter 8 for a description). the output of the first multiply- divide node is connected to the input1 of a second multiplydivide node. the output of the second multiplydivide node is connected to a blinn material node. the input2 attribute of the first multiplydivide node is set to 4, 4, 4. the end result, as seen in the second multiplydivide node, is an rgB color with values of 2, 2, 2. these inappro- priately high values are often referred to as super-white. From a practical standpoint, maya simply clamps any color over 1.0 to 1.0 when rendering standard images. even though the rgB is 2, 2, 2, it’s rendered as if it’s 1, 1, 1 (as seen on the blinn icon). nevertheless, the super-white values can cause problems with custom connections if they are not taken into account. Fortunately, the Clamp utility can solve this problem (see the next section). 193 ■ sH i F t i ng Colors outColor output output input1 input1 color Super-white values Figure 6.27 A shading network designed to test super-white values. This network is included on the CD as superwhite.ma. to view the custom shading network, follow these steps: 1. open the superwhite.ma file from the Cd. open the Hypershade window. 2. switch to the utilities tab. mmB-drag the multiplydivide1 node into the work area. 3. With the multiplydivide1node selected, click the input and output Connec- tions button. the network becomes visible. Note: Maya supports high-dynamic range (HDR) image formats, which are able to store super- white values. See Chapter 13 for details.
  6. Note: The term super-white was coined to describe the disparity between the standard defini- tion of video white (100 IRE units in YUV color space) and the RGB color space used by Maya and other digital-imaging programs. Basically, Maya creates whites that are 9 percent above the color range that a television can actually display. For more details on color space and monitor calibration, see Chapter 1. For a discussion of 8-bit versus 16-bit rendering, see Chapter 10. Clamping Values the Clamp utility is designed to keep a value within a particular range. if a value is too low or too high, it “clamps” it. as an example, table 6.2 shows what happens to inputr values if minr is set to 0.3 and maxr is set to 1.0.  Table 6.2 Clamped Output Values Resulting from Different Input Values inputR 0 0.2 0.8 1.1 4.5 9.0 outputR 0.3 0.3 0.8 1.0 1.0 1.0 194 in this example, if the inputr value is less than 0.3, the outputr value is 0.3. C r e at i n g C u s t o m C o n n e C t i o n s a n d a p p ly i n g C o l o r u t i l i t i e s ■ if inputr is greater than 1.0, outputr is 1.0. if inputr is between 0.3 and 1.0, out- putr is the same value. the Clamp utility has three inputs and three output channels (inputr, inputg, inputB, outputr, outputg, and outputB); you can connect single attributes to any of these. otherwise, you can connect vector attributes directly to input or output. in a similar fashion, min and max, which set the clamp range, are vector attributes that carry three channels each (minr, ming, minB, maxr, maxg, and maxB). you can enter negative or positive values into the min and max fields. Note: For an example of the Clamp utility used to drive a character bicep, see Section 6.1 of the Additional_Techniques.pdf file on the CD. For an example of the Clamp utility used to create disco ball glitter, see Chapter 7. Reading Surface Luminance during a render, the surface luminance utility automatically reads the luminance of every single rendered point on the surface assigned to a material that is part of the same shading network. that is, the utility can determine the total amount of light a point on a polygon face receives and outputs a value from 0 to 1 that represents this. 6: as an example, in Figure 6.28, a custom crosshatch material is applied to a chapter medallion model. the crosshatch pattern is generated by a ramp texture and a sur- face luminance utility. the outValue of a surfaceluminance node is connected to the colorentrylist[0]. position of a ramp texture node. the colorentrylist[n].position attribute controls the vertical position of a color handle in a ramp texture. in this case, the surfaceluminance
  7. node drives the black color handle up and down the ramp based on how much light a surface point receives. if a surface point receives the maximum amount of light, the outValue of the surfaceluminance node is 1, which forces the black handle up to the top of the ramp (leaving the entire ramp field white). if a surface point receives a little light, the outValue is a lower value, which allows the black handle to stay low, thus creating a mix of black and white within the ramp color field. 195 ■ sH i F t i ng Colors out UV outU vFilt erSi ze uvC uvFi oor lterS d ize lor tCo lor ou tCo ou outValue colorEntryList[0].position Figure 6.28 A crosshatch material is created with a standard Ramp texture and a Surface Luminance utility. This material is included on the CD as crosshatch.ma. A QuickTime movie is included as crosshatch.mov. the ramp’s type attribute is set to uV ramp; this allows the pattern to repeat on the surface vertically and horizontally. the ramp’s interpolation attribute is set to none, giving the rendered lines a hard edge. the ramp’s noise attribute is set to 0.1 and noise Freq is set to 0.05 in order to give the lines some squiggle. the ramp node has a standard place2dtexture node with a repeat uV set to 25, 25. Higher repeat values will produce finer lines. the place2dtexture node also has its rotate Frame set to 45 in order to angle the pattern. last, the outColor of the ramp node is connected to the outColor of a surfaceshader material node, which is assigned to the medallion.
  8. Note: For an additional application of the Surface Luminance utility, see Section 6.2 of the Additional_Techniques.pdf file on the CD. In Section 6.2, a stylized metal is created with super-white values. Chapter Tutorial: Creating a Custom Paint Material in this tutorial, you will create a custom material that transforms a photo into a styl- ized painting (see Figure 6.29). you will use the smear, remap Hsv, and Contrast utilities. 196 C r e at i n g C u s t o m C o n n e C t i o n s a n d a p p ly i n g C o l o r u t i l i t i e s ■ Figure 6.29 (Left) A digital photo. (Right) The same photo after the application of a custom paint material. 1. Create a new maya scene. open the Hypershade window. 2. mmB-drag a new layered texture utility (located in the other textures sec- tion of the Create maya nodes menu) into the work area. 3. mmB-drag two remap Hsv utilities (located in the Color utilities section of the Create maya nodes menu). place them to the left on the layeredtexture node. use Figure 6.30 as a reference. rename the top remapHsv node remapHsvA. rename the bottom remapHsv node remapHsvB. 4. Connect the outColor of remapHsva to inputs[1].color of the layeredtexture 6: node. (For a review of how to create custom connections, refer to the beginning chapter of this chapter.) 5. Connect the outColor of the remapHsvB to inputs[0].color of the layered- texture node.
  9. place2dTextureA FileA remapHsvA layeredTexture contrast remapHsvB place2dTextureC fractal smear place2dTextureB FileB bump2d Figure 6.30 The shading network of the custom paint material 6. select remapHsva and open its attribute editor tab. Click the Color check- ered map button and select a File texture from the Create render node win- dow. a place2dtexture node is automatically created along with a file texture node. rename this place2dtexture node place2dTextureA. rename the file 197 ■ C H a p t e r t u t o r i a l : C r e at i n g a C u s t o m pa i n t m at e r i a l node FileA. 7. select remapHsvB and open its attribute editor tab. Click the Color checkered map button and select a File texture from the Create render node window. a second place2dtexture is automatically created along with a second file texture node. rename the new place2dtexture node place2dTextureB. rename the new file node FileB. 8. select Filea and open its attribute editor tab. Click the File Browse button beside image name and choose greyhound.tif from the Chapter 6 textures folder on the Cd. 9. select FileB and open its attribute editor tab. Click the File Browse button beside image name and choose greyhound.tif from the Chapter 6 textures folder on the Cd. 10. mmB-drag a smear utility (located in the Color utilities section of the Create maya nodes menu) into the work area. place it to the left of place2dtextureB. 11. Connect the outu of the smear node to the offsetu of place2dtextureB. Con- nect the outV of the smear node to the offsetV of place2dtextureB. 12. select the smear node and open its attribute editor tab. Click the in rgb check- ered map button and choose a Fractal texture from the Create render node window. a new place2dtexture node is automatically created. name this latest place2dtexture node place2dTextureC. 13. select the fractal node and open its attribute editor tab. Change the amplitude attribute to 0.7 and the threshold attribute to 0.2. this will wash out the
  10. fractal pattern and reduce the contrast. if the fractal node is left with default values, the distortion created by the smear node will be extremely intense and the greyhound bitmap will no longer be recognizable. move the Color gain attribute slider (located in the Color Balance section) until it’s barely above black. this will also reduce the intensity of the distortion. try different posi- tions on the Color gain slider. small changes will produce greatly different results. 14. select place2dtextureC and open its attribute editor tab. Change the repeat uV attribute to 0.6, 0.6. When the repeat uV value is reduced, the blobs with the Fractal become larger; this, in turn, creates larger waves in the smear node’s distortion. try different repeat uV values to see different variations of the effect. 15. select remapHsva and open its attribute editor tab. Change the Hue, satu- ration, and Value gradients to roughly match the left side of Figure 6.31. to move points on a gradient, select the little circles and lmB-drag. to insert new points, click inside the dark gray area of each gradient. to delete a point, click 198 the × box below it. these adjustments are shifting the hue, saturation, and value of the undistorted greyhound bitmap. C r e at i n g C u s t o m C o n n e C t i o n s a n d a p p ly i n g C o l o r u t i l i t i e s ■ Figure 6.31 (Left) The gradients of the remapHsvA node. (Right) The gradients of the remapHsvB node. 16. select remapHsvB and open its attribute editor tab. Change the Hue, satura- tion, and Value gradients to roughly match the right side of Figure 6.31. these adjustments are shifting the hue, saturation, and value of the distorted grey- hound bitmap. 6: 17. select the layeredtexture node and open its attribute editor tab. Click the chapter leftmost purple box. this displays the options for remapHsvB. Change the alpha attribute to 0.5. this allows a 50-50 mix between the remapHsva and remapHsvB nodes. (the Blend mode attribute should be set to over.)
  11. 18. mmB-drag a Contrast utility (located in the Color utilities section of the Cre- ate maya nodes menu) into the work area. place it to the right of the layered- texture node. Connect the outColor of the layeredtexture node to the value of the contrast node. 19. mmB-drag a new Blinn material into the work area. place it to the right of the contrast node. Connect the outValue of the contrast node to the color of the blinn node. select the contrast node and open its attribute editor tab. Change the Contrast attribute to 1.5, 1.5, 1.5 and the Bias attribute to 0.7, 0.7, 0.5. this adjusts the contrast of the layeredtexture node. try different numbers to see different results. 20. select place2dtextureB and open its attribute editor tab. Change the translate Frame attribute to 0, 0.1. this raises the FileB up a tiny amount in the V direc- tion, which counteracts the downward pull of the smear node. 21. mmB-drag a Bump 2d utility (located in the general utilities section of the Create maya nodes menu) into the work area. Connect outalpha of FileB to the bumpValue of the bump2d node. Connect outnormal of the bump2d to normalCamera of the blinn node. since outnormal is not a default attribute of 199 ■ C H a p t e r t u t o r i a l : C r e at i n g a C u s t o m pa i n t m at e r i a l a Blinn material, you will have to use the Connection editor. select the bump2d node and open its attribute editor tab. Change the Bump depth value to 0.3. this bump mapping will give the smear distortion a sense of thickness. 22. the custom paint material is complete! assign the blinn material node to a primitive nurBs plane; add a directional, point, or spot light and render out a test. it should look similar to Figure 6.29. if you get stuck, a finished version of the material is saved as paint.ma in the Chapter 6 scene folder on the Cd.
  12. Automating a Scene with Sampler Nodes Sampler utilities can automate a render. They can evaluate every surface point for 7 every frame and return unique values that other nodes can use. At the same time, you can connect cameras, lights, and geometry for unique shading networks. Along similar 201 ■ Au t o m At i n g A S c e n e w i t h S A m p l e r n o d e S lines, the Studio Clear Coat plug-in utility creates surface qualities unavailable to standard materials. Chapter Contents Review of the Ramp Shader material and coordinate spaces Practical applications of sampler utilities Review of software-rendered particles Connecting materials to nonmaterial nodes Creating shading networks with multiple materials The unique functionality of the Studio Clear Coat plug-in utility
  13. Employing Samplers the Sampler info, light info, particle Sampler, and distance Between utilities can all be described as samplers. they sample surface points, object transforms, or particle transforms automatically throughout the duration of an animation. You can find the Sampler info, light info, and distance Between utilities in the general utilities sec- tion of the create maya nodes menu in the hypershade window. You can find the particle Sampler utility in the particle utilities section. Before i discuss the Sampler info or light info utilities, however, a look at the ramp Shader material and a review of coordinate space is warranted. A Review of the Ramp Shader Material the ramp Shader material has a color input attribute that has light Angle, Facing Angle, Brightness, and normalized Brightness options (see Figure 7.1). 202 Au t o m At i n g A S c e n e w i t h S A m p l e r n o d e S ■ Figure 7.1 (Left) The Selected Color gradient and Color Input attribute of a Ramp Shader material. (Right) The resulting material assigned to a primitive sphere lit from screen right. To see a larger version of the gradient, click the large button to the gradient’s right. This scene is included on the CD as ramp_shader.ma. the color input attribute allows the ramp Shader to sample different points along the Selected color gradient based on feedback from the environment. with light Angle, the material compares the angle of the surface normal to the direction of 7: the light. if the angle between the two is small, a high value is returned and the right chapter side of the gradient is sampled. if the angle between the two is large, a small value is returned and the left side of the gradient is sampled. on a technical level, the surface normal vector and the light direction vector are put through a dot product calculation, producing the cosine of the angle between the two vectors. For a deeper discussion on vectors and vector math, see chapter 8. this technique is also used for the Facing Angle option, whereby the angle of the surface normal is compared to the camera direction. the Brightness option, on the other hand, calculates the luminous intensity of a surface point. if the surface receives the maximum amount of light, the right side of the gradient is sampled. if the surface receives a moderate amount of light, the middle of the gradient is sampled. the gradi- ent runs 0 to 1 from left to right. the light Angle, Facing Angle, and Brightness cal- culations are normalized to fit to that scale.
  14. the disadvantage of the ramp Shader is its inflexibility. Although colors can be changed on the Selected color gradient, the Facing Angle, light Angle, and Brightness calculations cannot be fine-tuned. Sampler info, light info, and Surface luminance utilities solve this problem by functioning as separate nodes. the Sampler info util- ity replaces the Facing Angle option. the light info utility replaces the light Angle option. the Surface luminance utility, as detailed in the previous chapter, replaces the Brightness option. Although the normalized Brightness option normalizes all the light intensities in the scene, its basic function is identical to Brightness and can be replicated with the Surface luminance utility in a custom shading network. most important, the Sampler info, light info, and Surface luminance utilities provide a wide array of supplementary attributes. Coordinate Space Refresher in general, four coordinate spaces are used in 3d software—object, world, camera, and screen. the term coordinate space simply signifies a system that uses coordinates to establish a position. For a surface to be rendered, it must pass through the follow- ing spaces in the following order: 203 Object space A polygon surface is defined by the position of its vertices relative to ■ e m p l oY i n g S A m p l e r S its center. By default, the center is at 0, 0, 0 in object space (sometimes called model space). A nurBS spline has its origin point at 0, 0, 0 in object space. the axes of a surface in object space are rotated with the surface. World space world space represents the virtual “world” in which the animator manip- ulates objects. A surface is moved, rotated, and scaled in this space. to do this, the vertex positions defined in object space must be converted to positions in world space through a world matrix. A matrix is a table of values, generally laid out in rows and columns. Camera space world space must be transformed into camera space (sometimes called view space) in order to appear as if it is viewed from a particular position. in maya’s camera space, the camera is at 0, 0, 0 with an “up” vector of 0, 1, 0 (positive Y) while looking down the negative Z axis. Screen space three-dimensional camera space must be “flattened” so that it can be seen in 2d screen space on a monitor. in addition, maya uses local space, parametric space, and raster space. local space (sometimes called parent space) is similar to object space, but uses the axes and origin of a parent node. this is feasible due to maya’s dAg node system. (See the sec- tion “A transform and Shape node refresher” later in this chapter.) to determine the color of a particular pixel when rendering a surface assigned to a material that uses a texture map, the renderer compares the parametric spaces of both the texture and the surface. texture and surface parametric spaces are com- monly referred to as uV texture space. For more information on uVs and uV texture space, see chapter 9.
  15. Note: A parametric surface is one that has undergone parameterization. In general terms, param- eterization is the mapping of a surface to a second surface or domain. For example, when representing the spherical earth on a rectangular map, specific features of the earth are drawn at specific positions on the map. Depending on the style of parameterization, distortions that affect either feature angles or feature areas occur. (For instance, on common Mercator-style maps, Greenland is unnaturally large.) For more information on surface parameterization, see Chapter 9. raster space is a coordinate system used to calculate individual pixel locations on a screen. in addition, the mental ray renderer uses internal space, which relates surface points and vectors to mental ray shaders. object, world, and camera spaces within maya are based on a “right-handed” cartesian space. Using the Sampler Info Utility the Sampler info utility carries the Facing ratio attribute, which is identical to the Facing Angle option of the ramp Shader material. the Sampler info utility also 204 offers such attributes as ray direction and normal camera. two examples of its Au t o m At i n g A S c e n e w i t h S A m p l e r n o d e S ■ use follow. Applying Car Paint many surfaces, including clear-coat car paints, produce Fresnel reflections (see chap- ter 4). in this situation, the intensity of a reflection or specular highlight varies with the angle of view. For instance, at the top of Figure 7.2, the sky reflection is more intense along the roof and hood of the car than it is along the doors and fenders. to create this effect, you can use the Facing ratio attribute of a Sampler info utility. At the bottom of Figure 7.2, a polygon car is lit with default lighting. the persp camera’s Background color attribute is set to a light blue. raytracing is checked in the render Settings window so that the background color is picked up as a reflection. the car body is assigned to a Blinn material named carpaint. carpaint’s color is set to black. carpaint’s diffuse and eccentricity are set to 0. reflectivity is set to 0.3. Specular roll off is increased to an artificially high value of 5. these settings leave the paint a deep 7: chapter black with highlights derived solely from reflections. As for the custom shading network, the facingratio of the samplerinfo node is connected to the inputValue of a remapValue node. the outValue of the remapValue node is connected to the specularcolorr, specularcolorg, and specularcolorB of the carpaint node. if a surface point faces away from the camera (such as one on the top of the hood), it receives a low facingratio value. this low value is increased, how- ever, by the reversed Value gradient slope of the remapValue node. conversely, if the facingratio is high (from the door or fender), the gradient lowers it. thus, the top of the hood receives the most reflection and the doors and fenders receive the least. Addi- tional handles are inserted into the Value gradient in order to increase the rapidity of the reflection falloff. the handles are all set to Spline in order that the gradient take on a smooth shape. in this case, the color gradient of the remapValue node is not used
  16. at all. the shading network works equally well with the maya Software or mental ray renderer. the Studio clear coat plug-in also addresses the Fresnel nature of car paint and is discussed at the end of this chapter. 205 ■ e m p l oY i n g S A m p l e r S Figure 7.2 (Top) A car shows signs of Fresnel reflections. (Bottom) A reflection changes intensity over a surface with the aid of a Sampler Info utility. A simplified version of this scene is included on the CD as paint.ma. Creating Disco Ball Glitter in Figure 7.3, a disco ball is given a glittery reflection. A Sampler info utility con- trols the location of the glitter. the disco ball is composed of two polygon primitive spheres. the inner sphere is animated to spin. the outer sphere is static. Both spheres are faceted. (choose normals > Set to Face from the polygons menu set to create the faceted effect.) the inner sphere is assigned to a Blinn material named innerBlinn with the color set to black and an env chrome texture mapped to the reflected color attribute. (See chapter 5 for a discussion of environment textures.) the outer sphere is assigned to a second Blinn named outerBlinn with a custom shading network. this network starts with the outcolor of a mountain texture node connected to the colorif- true of a condition node. (See chapter 8 for a description of the condition utility.)
  17. glowIntensity nce sce nde outputR inca r o Col out olorR tR 206 outC inpu Au t o m At i n g A S c e n e w i t h S A m p l e r n o d e S ■ rm Ratio firstTe facing co lor IfT rue ou tCo lor output offsetV Figure 7.3 The glitter of a disco ball is created with the help of a Sampler Info utility. This scene is included on the CD as 7: discoball.ma. A QuickTime movie is included as discoball.mov. chapter the mountain texture has the following custom settings: Snow color: Black rock color: white Amplitude: 0.6 Snow roughness: 0 rock roughness: 0 Snow Altitude: 1 depth max: 2.3
  18. the net effect of these settings is a texture with a few white specks on a black background. the offset V of the mountain’s place2dtexture node is animated to run from 0 to 15. this rapidly changes the pattern of specks as the timeline moves forward. the facingratio of a samplerinfo node is connected to the firstterm of the condition node. the outcolorr of the condition node is connected to the inputr of a clamp node. the outputr of the clamp node is connected to the glowintensity of outerBlinn. last, the outcolor of the condition node is also connected to the incan- descence of outerBlinn. the condition node, with the help of the samplerinfo node, tests whether or not surface normals of the outer sphere point toward the camera. if they do, they receive incandescent white specks from the mountain texture node. if they don’t, they are unaffected by the condition node (the condition node’s color if False attribute is left at 0, 0, 0). Since the outputr of the clamp node is also connected to the glowintensity of outerBlinn, a post-process glow is placed wherever the incandescent white specks appear. the hide Source attribute of the outerBlinn is checked on; therefore, the glow and not the surface of outerBlinn is rendered. the final result is a disco ball that pro- duces small, intense bits of “reflected” light on the part that faces the camera. 207 ■ e m p l oY i n g S A m p l e r S Note: For an example of the Sampler Info utility used to create simulated iridescence, see section 7.1 of the Additional_Techniques.pdf file on the CD. Using the Light Info Utility the light info utility retrieves directional and positional information from a light connected to it. the utility can function like the light Angle option of the ramp Shader material, but is more flexible. Before showing a few examples, however, a review of transform nodes, shape nodes, dAg objects, and instanced attributes is worth a closer look. A Transform and Shape Node Refresher in maya, cameras, lights, and surfaces are represented by two nodes: a transform node and a shape node. For example, spotlight is a transform node that carries all the light’s transform information (translate, rotate, Scale), and spotLightShape is a shape node that possesses all the nontransform light attributes (intensity, cone Angle, and so on). As for geometry, nurbsSphere is the transform node, and nurbsSphereShape is the shape node. transform and shape nodes are also known as dAg objects. dAg (directed Acyclic graph) is a hierarchical system in which objects are defined relative to the transformations of their parent objects. Acyclic is a graph theory term that declares that the graph is not a closed loop. At the same time, maya uses a dependency graph system, which simply supports a collection of nodes connected together. technically, dAg objects are dependency graph nodes. however, not all dependency graph nodes are dAg objects since dependency graph nodes can be cyclic and do not need the parent/child relationship.
  19. By default, there is no visible connection between a transform node and its cor- responding shape node. however, every shape node must have one transform node as a parent. A transform node cannot have more than one shape node as a child, although it can have multiple transform nodes as children. A shape node is considered a “leaf level” node and cannot have any node as a child. the worldmatrix[0] attribute, utilized by many of the example shading net- works in this book, includes the [0] to indicate the index position within an array that stores the attribute. world matrix is an “instanced attribute,” whereby it can be used at different positions within a dAg hierarchy. the [n] appears automatically after a world matrix attribute is connected in the hypershade window. For more detailed information on the world matrix attribute, see chapter 8. Creating Falloff for Directional and Ambient Lights directional and ambient lights do not decay naturally, nor do they possess a decay rate attribute. however, you can employ a light info, reverse, and Set range utility to overcome this. For example, in Figure 7.4 a directional light has an extremely short 208 throw despite its proximity to a nearby primitive plane. Au t o m At i n g A S c e n e w i t h S A m p l e r n o d e S ■ worldMatrix[0] sampleDistance 7: chapter worldMatrix inputX tX tpu ou outValueX intensity X lue va Figure 7.4 A directional light is given decay with a Light Info utility. This scene is included on the CD as directional_decay.ma.
Đồng bộ tài khoản