Kelly L. Murdock delves into creating advanced materials from Poser 8 Revealed.
CREATE ADVANCED MATERIALS To create advanced materials, select the Advanced tab at the top of the Shader Window to open the Advanced Material panel. Within this panel, you can select and edit the various nodes, link nodes together, and create new nodes. All nodes plug into the root node that is applied to the selected material. Learning to work with material nodes is the key to creating complex materials.
Selecting and Moving Nodes
The Shader Window is an open space for positioning and connecting material nodes. Click a node to select it. The title bar of the selected node is highlighted. The selected node can be moved to a new position by dragging its title bar. You can select several nodes at the same time by holding down the Shift key and clicking on their title bars. You can also select all nodes by clicking the pop-up menu in the upper-right corner or by right-clicking in the Shader Window and choosing the Select All command. You can also invert the current selection with the Invert Selection option in the right-click pop-up menu.
To save space in the Shader Window, click the buttons in the upper-right corner of the node to hide both the value list and the preview window. Only the title bar will remain.
Viewing the Root Node
The default root node is titled PoserSurface, as shown in Figure 8-18, and is always the final surface that is applied to the material group. The root node has no Output value. Different root nodes exist depending on the type of item that you can create a material for. Poser includes four root nodes:
• Material/Hair root node.
Used to define materials for figures, props, and hairstyles. This node is named PoserSurface.
• Light root node.
Used to define the materials applied to the selected light.
• Background root node.
Used to define the materials applied to the scene background.
• Atmosphere root node.
Used to define atmospheric materials such as fog and haze.
Changing Material Attribute Values
The default PoserSurface root node is the node that is used to define materials for material groups. It includes many values that you can edit. Some of these values have color swatches, others have numeric values, and some are merely check boxes. Next to some of the attributes is a question mark button. Clicking this button opens a window providing some help with the attribute. The attributes found in the material/hair root node include the following:
• Diffuse Color.
Defines the surface color of the object.
• Diffuse Value.
Defines the strength of the diffuse color. A value of 0 makes the diffuse color black, whereas a value of 1 matches the defined diffuse color.
• Specular Color.
Defines the color of the highlights.
• Specular Value.
Defines the strength of the specular color.
• Highlight Size.
Defines how sharp or fuzzy the highlight is. Shiny surfaces have smaller, sharper highlights and rough surfaces have larger highlights.
• Ambient Color.
Defines the ambient color for the scene. This color shades all objects in the scene including shadows.
• Ambient Value.
Defines the strength of the ambient color.
Defines the amount of transparency of the material. A value of 1 is fully transparent and a value of 0 is fully opaque.
• Transparency Edge.
Defines the amount of transparency applied to the edges of the object.
• Transparency Falloff.
Defines how quickly the transparency fades as you approach the object edge.
• Translucence Color.
Defines the color of light passing through a transparent object.
• Translucence Value.
Defines the strength of the translucence.
Most of the remaining material attributes have no value, but can be connected to other nodes such as a texture or variable node.
• Reflection Color.
Defines a color reflected off the surface.
• Reflection Value.
Defines the strength of the reflection color or texture.
• Refraction Color.
Defines a color refracted or bent through a transparent surface.
• Refraction Value.
Defines the strength of the refraction color.
Defines a Bump Map that is applied to the material.
Defines a displacement that is applied to the material to change its geometry.
• Alternate Diffuse.
An alternative attribute for applying diffuse colors and/or textures. It applies the texture without any shading as a flat texture.
• Alternate Specular.
An alternative attribute for applying specular highlights.
• Reflection Lite Mult.
An option to multiply the lighting effects into the reflection map.
• Reflection KD Mult.
An option to tint the reflection map by the diffuse color.
• Gradient Bump.
An attribute to use gradient maps as Bump Maps. This attribute isn’t used by the current renderer and is only included for backwards compatibility.
• Gradient Mode.
An attribute to specify whether the Bump Map is a normal Bump Map (Gradient Bump) or a Normal Map (tangent space or object space).
• Shadow Catch Only.
An option to make all transparent surfaces appear opaque for shadows. The result is to cast a shadow onto a transparent surface such as shadow puppets on a sheet.
When rendering using the cartoon shader, each edge is outlined. By giving each separate material a different ID, multiple outlines will not be applied to a single object.
• Normals Forward.
An option to align all the surface normals to point forward.
All values assigned in the Simple Material panel are automatically transferred to the material in the Advanced Material panel.
Animating Material Attribute Values
The values with key icons can be animated. Clicking the key icon opens a pop-up menu where you can select to enable animation mode, view the Parameter Settings dialog box for the given attribute, or open the attribute’s animation graph. When animation mode is enabled, you can animate the parameter by selecting an animation frame and changing the parameter value. More on animating materials is covered in Chapter 13, “Animating Figures and Scenes.”
The material attribute key icon turns green when animation mode is enabled.
Creating New Material Nodes
There are several ways to create a new material node, such as clicking a Value Input, clicking the Shader Window’s pop-up menu, or right-clicking in the Shader Window. All of these methods open a pop-up menu that includes an option to Create New Node.
Figure 8-19 shows a newly created 3D Texture node called Marble. This new node includes several additional values and a Value Output icon in its upper-left corner.
Connecting Material Nodes
To the right of every value is a plug socket icon, known as a Value Input. Clicking this icon opens a pop-up menu where you can create and attach a new node. You can connect any two material nodes using the Value Input and Value Output nodes. To connect two nodes, simply drag from the Value Output to the Value Input or vice versa. When connected, a light blue line (or cord) is shown connecting the two nodes and the node with the Value Output controls the value of the node with the Value Input. For example, connecting a Marble output node to the root node’s Diffuse Color value makes the marble texture appear as part of the root material, as shown in Figure 8-20. You can disconnect nodes by clicking the Value Input icon and selecting Disconnect from the pop-up menu. Each Value Input and Value Output icon can be connected to multiple different nodes.
Copying and Pasting Nodes
The Shader Window pop-up menu (or by right-clicking in the Shader window) includes commands for deleting, cutting, copying, and pasting the selected nodes. The pasted nodes are given the same name as their original with a different number attached on the end.
Using Normal Maps
Earlier in this chapter we covered bump and displacement maps. Bump Maps are great for adding a small amount of texture to an object’s surface, and displacement maps actually alter the geometry, which is good for correct shadows, but they can take a long time to render. A third choice called a Normal Map is available in the Advanced panel.
Normal Maps are also textures, but they work with the lighting to make surface details appear by changing the surface normals. They don’t add a lot of overhead and can make trickier details more visible. To use a Normal Map, you simply need to connect an image map node to the Gradient Bump channel and then set the Gradient mode to either Normal Map (tangent space) or Normal Map (object space). The option to use depends on the process used to create the Normal Map.
New Poser 8 Feature
The ability to load and view Normal Maps is new to Poser 8.
Poser cannot be used to create Normal Maps, but can use Normal Maps created by another program.
Use Texture Nodes 1. Open Poser and click the Material tab to access the Material Room.
2. Click the Advanced tab in the Shader Window.
3. Click the Value Input iconfor the Diffuse Color value and select New Node, 3d Textures, Cellular from the pop-up menu.
The Cellular material node is added to the Shader Window with a line connected to the Diffuse Color’s Value Input icon.
4. Click the color swatch for Color 1 value in the Cellular node and select a red color from the pop-up color palette. Then, click the color swatch for Color 2 value in the Cellular node and select a blue color from the pop-up color palette. Change the Scale X and Scale Y values to 0.25.
5. Click the Value Input icon for the Intensity 2 value in the Cellular node and select New Node, 2d Textures, Tile from the pop-up menu.
The Tile material node is added to the Shader Window with a line connected to the Cellular node’s Intensity 2’s Value Input icon.
6. Click the Node Preview button in the upper-right corner of both texture nodes.
The preview pane for the Cellular node shows several red colored cells among a light blue grid pattern, as shown in Figure 8-21.
7. Select File, Save As and save the file as Texture pattern.pz3.
Create a Ghost Material 1. Open Poser with the default mannequin figure and click the Material tab to access the Material Room.
2. Click the Advanced tab in the Shader Window. In the PoserSurface node, set the Diffuse and Ambient Colors to white and set the Specular Color to black. Then set the Highlight Size to 1, the Ambient Value to 2, the Transparency to 0.3, and the Transparency Falloff to 0.
3. Select the pop-up menu and choose the New Node, Math, Edge Blend node.
The Edge Blend material node is added to the Shader Window.
4. Within the Edge Blend node, set the Inner Color to black and the Outer Color to blue.
5. Drag from the top-left corner of the Edge Blend node to the Diffuse Color Value Input to connect the two nodes. Then connect the Edge Blend node to the Specular and Ambient Colors also.
A connecting cord is made between the connected nodes.
6. From the Object list, select the Background object. From the pop-up menu, select the New Node, 2D Textures, Brick option to add a new Brick node to the Shader Window.
7. Connect the Brick node to the Background Color parameter.
Adding a Brick node to the background color parameter makes the background show a brick pattern.
8. Click the Render button at the top of the Document Window to render the current scene.
The mannequin with its ghost material is displayed over the brick background, as shown in Figure 8-22.
9. Select File, Save As and save the file as Ghost material.pz3.
Use a Normal Map 1. Open Poser with the default mannequin figure and click the Material tab to access the Material Room.
2. Open the Library palette and load the Hi-Res Ball from the props Primitives folder. Then select and delete the default figure.
3. Click the Advanced tab in the Shader Window. Select the New Node, 2D Textures, Image Map option from the pop-up menu to add a new node to the Shader Window. Click on the Image Source value and load the Spikey Ball Normal Map.tga file from Chapter 8 folder.
4. Drag from the Value Input in the top-left corner of the Image Map node to the Gradient Bump channel. Then set the Gradient Mode value to Normal Map (tangent space).
5. Click the Render button at the top of the Document Window to render the current scene.
The ball object is displayed with some spikes from the Normal Map, as shown in Figure 8-23.
6. Select File, Save As and save the file as Normal Map.pz3.
LEARN THE VARIOUS MATERIAL NODES
When creating a new material node, there are several categories of nodes available, each with its own unique attributes. The available nodes are divided into the following categories: • Math. Used to mathematically manipulate values such as adding, subtracting, and multiplying values together.
Used to alter the scene lighting method to change highlight shapes, or to specify a certain effect like toon shading.
• Variables. Used to add variable values to the material values such as the current frame number, the dimensions of the current point, or the current pixel.
• 3D Textures.
Includes several preset 3D texture maps such as Noise, Clouds, Marble, and Granite.
• 2D Textures.
Includes several preset 2D texture maps such as Brick, Tile, and Weave. It also includes nodes for loading image files and movies.
Using Math Nodes
You can use math nodes to combine two values using several different mathematical functions. The available math nodes include:
Used to blend between two colors.
• Edge Blend.
Used to blend between an Inner Color and an Outer Color where the Inner Color faces the camera and the Outer Color faces away from the camera.
Used to extract Red, Green, or Blue components from a color based on the Component value where Red = 1, Green = 2, and Blue =3.
• Math Functions.
Used to combine two values using a mathematical function. Available functions include Add, Subtract, Multiply, Divide, Sin, Cos, Tan, Sqrt, Pow, Exp, Log, Mod, Abs, Sign, Min, Max, Clamp, Ceil, Floor, Round, Step, Smoothstep, Bias, and Gain.
• Color Math.
Includes the same mathematical functions as the Math Functions node, except it works with two colors instead of two values.
• User Defined. Used to define a color using numeric color values. It lets you choose from Red, Green, Blue (RGB); Hue, Saturation, Lightness (HSL); and Hue, Saturation, Value (HSV) color models.
• Simple Color.
Lets you select a single color using the pop-up color palette.
• Color Ramp.
Includes four colors that are used to create a gradient ramp.
Defines colors using Hue, Saturation, and Value color attributes.
Holding down the Alt/Option key while clicking a color swatch automatically opens the Color Selector dialog box.
Using Lighting Nodes
The Lighting nodes let you specify a very specific lighting model for the current material. For example, the Special, Hair node lets you select colors for the hair roots, hair tips, and the root’s transparency. Each light node listed below includes a submenu of available nodes.
Used to select from several types of highlights, each with its own shape, color, size, and intensity values. The available options include Anisotropic, Phong, Glossy, Blinn, and Specular.
Used to alter how the diffuse color is affected by the lighting. The options include Clay, Diffuse, Probe Light, and Toon.
• Special. Several additional specialized lighting models. The options include Skin, Velvet, Hair, and Fast Scatter.
Several raytrace options used to create photo-realistic scenes. The options include Reflect, Refract, Ambient Occlusion, Gather, and Scatter.
• Environment Map.
Includes a single option of Sphere Map for creating a reflection sphere map.
Using Variables Nodes
These nodes are used to represent specific scene values such as the current point. The available Variable nodes include:
Includes the X, Y, and Z values of the normal at the current point used to determine the polygon’s orientation.
Includes the X, Y, and Z values of the current point.
• Frame Number. The current frame number for animation sequences.
• u, v. References the texture location of the pixel currently being rendered.
• Du, Dv.
References the change rate of the texture coordinates or how fast the rendering is progressing.
• dPdv, dPdu. References the change rate of the current point.
• dNdv, dNdu.
References the change rate of the surface normals.
Using 2D and 3D Texture Nodes
The texture nodes are divided into two categories[md]3D and 2D. 3D textures maintain their material properties regardless of the shape of the object they are applied to, whereas 2D textures are simply images that are wrapped about the object. All of these textures are convenient because they can be selected and applied without having to load an image. The available 3D textures include:
• Fractal Sum.
Creates a fractal-based texture.
Creates a texture based on multiple fractals.
Creates another variant fractal texture.
Creates a static texture useful for adding variety to materials.
Creates a texture of repeating cells.
Creates a texture that resembles clouds.
Creates a texture of random spots.
• Marble. Creates a texture that resembles a marble rock surface.
• Granite. Creates a texture that resembles a granite rock surface.
Creates a texture that resembles a wood grain.
• Wave 3d. Creates a texture of concentric circles.
Figure 8-24 shows each of the available 3D texture nodes.
The available 2D textures include:
• Wave 2d.
A texture map of concentric circles.
• Image Map.
An image map loaded from the hard disk.
An image map of a set of bricks.
An image map of alternating checkerboard patterns.
An image map of a basket weave pattern.
A movie file loaded from the hard disk.
Figure 8-25 shows each of the available 2D texture nodes.
Create a Striped Material 1. Open Poser with the default mannequin and click the Material tab to access the Material Room.
2. Click the Advanced tab in the Shader Window.
3. Click the Value Input icon for the Diffuse Color value and select New Node, Math, Blender from the pop-up menu. Set the Input colors to black and white
The Blender material node is added to the Shader Window with a line connected to the Diffuse Color’s Value Input icon.
4. Click the Value Input for the Blending value in the Blender node and select New Node, Math, Math Functions. On the new Math Function node, set Value 1 to 10, Value 2 to 0.5 and keep the Add function.
5. Click the Value Input for the Value 1 value in the Math Function node and select New Node, Math, Math Functions again to create a second Math Function node named Math Function 2. On the Math Function 2 node, set Value 1 to 1, Value 2 to 0.2 and the function to Subtract.
6. Click the Value Input for the Value 1 value in the Math Function 2 node and select New Node, Variables, u to create a u Texture Coordinate node.
The u Texture Coordinate node sends the texture information for every pixel in the horizontal direction across the face of the texture to the Math Function 2 node. The value then has 0.2 subtracted from it and the value then has a value of 0.5 added to it, and that value is set as the blending value. The Value 2 in the Math Function 2 is the break point for the blending function causing a change in color and the Value 2 in Math Function 1 sets the offset for the color on the figure, as shown in Figure 8-26.
Once a Blend node is created, you can then animate a change in the Blending value to gradually change the color of a shirt.
7. Select File, Save As and save the file as Striped material.pz3.
Use a Lighting Node 1. Open Poser and click the Material tab to access the Material Room.
2. Click the Advanced tab in the Shader Window.
3. Click the Value Input icon for the Diffuse Color value and select New Node, Lighting, Specular, Anisotropic from the pop-up menu.
The Anisotropic material node is added to the Shader Window with a line connected to the Diffuse Color’s Value Input icon. Anisotropic highlights are elliptical rather than circular.
4. Click the color swatch for Specular Color value in the Anisotropic node and select a gold color from the pop-up color palette.
5. Click the Node Preview button in the upper-right corner of the Anisotropic node.
The preview pane for the Anisotropic node shows a gold-colored elliptical highlight, as shown in Figure 8-27.
6. Select File, Save As and save the file as Anisotropic highlight.pz3.
Add an Image 1. Open Poser with the Casual Ryan figure loaded and click the Material tab to access the Material Room.
2. Choose the Shirt object in the Document Window and click the Advanced tab in the Shader Window.
3. Right-click in the Advanced Shader Window and select New Node, 2D Textures, Image Map from the pop-up menu.
4. Click on the Image Source value and load the Maui Scenery.jpg from the Chap 08 folder on the CD.
5. Drag and connect the existing Image Map to the Input_1 value on the Blender node and the new Image Map 2 to the Input_2 value on the Blender node.
The preview pane of the Blender node shows both images overlapped on each other.
6. Within the Image_Map_2 node, set the U_Scale value to 0.4, the V_Scale value to 0.2, the U_Offset to 0.3, and the V_Offset to 0.04. Then set the Image_Mapped value from Tile to None.
The new settings will position the image to cover the lower part of the shirt. The image is also set not to tile end to end so only a single image is displayed.
7. Connect the Blender node to the Diffuse Color value in the PoserSurface node.
8. Click the Render tab in the Document Window and click the Render button to see the resulting material applied to the shirt, as shown in Figure 8-28.
9. Select File, Save As and save the file as Image t-shirt.pz3.
Kelly L. Murdock has more than 15 years experience in the computer graphics arena, especially in the area of 3D graphics. Included in the experience is a variety of tasks from high-end CAD product design and architectural pre-visualization to virtual reality and games. Kelly is best known for his international best-selling books on graphics including the 3ds max Bible, Illustrator Bible and Naked Maya. He also is the author of Poser 6 Revealed and Poser 7 Revealed as well as Edgeloop Character Modeling for 3D Professionals. Kelly currently works as a freelance designer for Logical Paradox Design, a company that he founded with his brother.