Jump to Step # Intro 0 1 2 3 4 5 6 7 8



Step 6: Understanding the Nodes


Before we start talking about individual nodes, let's discuss the Material Room in general.

I'm not going to cover every parameter of each node. I'm going to stay focused on the parameters that are important for the cel shading technique. (That and I'm still baffled by some node parameters.)

By themselves, nodes don't do anything (with the exception of the PoserSurface node). To make nodes do things, they need to be plugged into each other and eventually into the PoserSurface node.

Each material has a distinct node tree. Setting the nodes up for one material has no impact on any other material (which is how it should be). Unfortunately, since there is no way to easily group materials in the Material Room, this interface gets a bit tedious to use.

Each node can show a preview of the output image. This can be turned on/off by clicking on the Eye icon (/) in the upper right corner of the node. I'll be leaving the preview off in the screen shots.

Each node (except for the PoserSurface node) has a plug () in the upper left corner. By clicking on this and dragging the plug to a socket (), the node can be plugged into another node. This part is easy. The hard part is knowing what node to use and what sockets to plug them into.

Each node can be plugged into multiple sockets but each socket can only have one node plugged into it.

To create a new node, right-click on the Materials Room background and select the type of node you want to create from the pop-up menu.

Many parameters can be animated. Right-clicking on the Key icon () brings up a pop-up menu. The first menu option (Animate) is a toggle which turns on and off animation for that parameter. We aren't going to use parameter animation for the Superman render but I used it extensiely while trying to figure out what the various parameters did.

The title bar of the active node will be highlighted. By shift-clicking on another node, multiple nodes can be selected. This comes will come in handy when we need to use the Copy and Paste commands to copy a node tree from one material to another. (Remember to select nodes of the same type in numerical order.)


Node: PoserSurface

This is the root node. The output of this node is the way that the material region is rendered.

The Diffuse_Color is "the surface color that is multiplied through any light striking the object" according to page 313 of the Poser 5 Reference Manual. Basically, this is the base color of the material and it will be influenced by the way the lighting in the scene.

The Specular_Color is the color of the highlights on the model. I tend to use pure white for this just to keep things simple.

The Specular_Value is the strength of the Specular_Color. It has a range of 0 (0%) to 1 (100%). A value of 0 doesn't apply the Specular_Color while a value of 1 applies it at full strength. Animating this value would make the Specular_Color fade in or out during the animation.

According to page 313 of the Poser 5 Reference Manual, "The Highlight_Size attribute defines the quanitity of micro-facets on the objects surface. Micro-facets are tiny imperfections that re inivisble to the human eye, yet effect the way light is reflected off the surface. Very smooth surfaces (such as glass) have very few imperfections and produce a very sharp specular highlight. Surfaces such as paper have extremely high numbers of imperfections in their surface and thus produce subtler specular highlights."

What this means is that the size of the highlights can be increased by using a higher value for the HighlightSize.

The Transparency value determines how visible the material is with a range from 0 (0% transparent = totally visible) to 1 (100% transparent = totally invisible).

The Alternate_Diffuse is an alternate input for the Diffuse_Color. This socket needs to be used in place of the Diffuse_Color when using any of the Diffuse Lighting nodes like the Toon node (the others are the Diffuse and Clay nodes).


Node: Math_Functions

Value 1 is the first input source. Value 2 is the second input source. Each source can be either a color or a value from another node.

The Math_Argument is the type of mathematical operation to perform. The ones we are concerned with are Step and Multiply.

Step will cause the node to return 0 if Value 1 is less than Value 2 and 1 if Value 2 is greater than or equal to Value 1.

Add will cause the node to return the result of adding Value 1 and Value 2.

Subtract will cause the node to return the result of subtracting Value 2 from Value 1.

Multiply will cause the node to return the result of multiplying Value 1 and Value 2.

Divide will cause the node to return the result of dividing Value 1 by Value 2.


Node: Image_Map

We've already been using the Image_Map node but I suppose I should go ahead and describe it anyway. This load allows you to load an image map (hence the name) and use it as an input for other nodes. By doing this, you can use image files as texure maps and transparency maps. So far, we've done both.

The most important parameter of this node is the Image_Source. This is where you set the file to use as the image map. This parameter defaults to None (no file loaded). To load a image file, click on the word "None" which will bring up a dialog window. On this window, click "Browse" and browse to the file you want to use. Once you have selected the file, click "Ok" on the Browse dialog to close it.

Another interesting parameter is the Texture_Strength. This is how strong the image map is. A value of 1 applies the image at 100% while a value of 0 doesn't apply the image at all. By animating this paramter, you could have the image map fade in or out.


Node: Color_Math

Value 1 is the first input source. Value 2 is the second input source. Each source can be either a color or a value from another node.

The Math_Argument is the type of mathematical operation to perform. The ones we are concerned with are Step and Multiply.

Step will cause the node to return 0 if Value 1 is less than Value 2 and 1 if Value 2 is greater than or equal to Value 1.

Multiply will cause the node to return the result of multiplying Value 1 and Value 2.


Node: Edge_Blend

The Edge_Blend node is what will produce the black lines on the edges of the figures for us.

The Inner_Color is the value used for polygons facing towards the camera.

The Outer_Color is the value used for polygons facing perpendicular to the camera. This is the value that will create the lines at the edges of the figures.

These values can be either a solid color or a value from another node.

The Attenuation is the "power curve used for transitioning between the inner and outer colors" according to page 319 of the Poser 5 Reference Manual. I have no idea what that means which is unfortunate since this seems to be the most important value for this node. It seems to somehow determine what angle the polygon has to be at before the Outer_Color gets used in place of the Inner_Color.

Obviously the geometry of the models used make a huge difference in how this node works. Models with more of a rounded edge to them will work better with this node than models with more hard angles. An excellent example of this are the Boots from the Genesis Rage Outfit. There is absoluately nothing wrong with these Boots but the geometry does not lend itself prefectly to the functionality of the Edge_Blend node.

The tops of these boots have a squared off edge. This means that the Edge_Blend won't create the "Ink" line for us at the top of the Boots. The insdie rim of the boots aren't going to show up on camera since that are on the inside of the Boots. The Boots have a thickness to them. The polygons along the top of the Boots will produce an "Ink" line but at many camera angles it will either be too thin or not show up at all. The polygons along the top outside rim of the Boots in the front will be facing the camera so the Inner_Color will be used. Since it is the Outer_Color that will give us the "Ink" lines. this will result in the top of the boots appearing to sort of merge into the costume.

Think of the Boots as a complex variation of a Cylinder. The top of the cylinder faces upwards while the sides of the cylinder are at a 90 degree angle to the top.

The lower the Attenuation value, the thinner the edge lines will be. The higher the value (topping out at 1), the thicker the edge lines will be. The important thing to realize is that the lines will be drawn on the model. This means that the thicker the edge lines are, the further "into" the model they will be drawn.


Node: Toon

And, finally, the Toon node is what is going to do a lot of the work for us.

The LightColor is the color to use for the lighter areas.

The DarkColor is the color to use for the darker areas.

The InkColor is the color of the ink lines that the node will produce. I tend to use black for this.

The Spread controls the amount gradiations between the colors. A higher value will result in more colors being used whilea lower few will result in fewer colors being used. What this means is that the lower the Spread, the flatter the image will appear.

The LineWidth value controls the width of the ink lines. The range is from 0 to 1.


Watching the impact that a changing node parameter value can be a great way to figure out how a node works and what the various parameters actually do. Unfortunately this can be a very time consuming process.

One of my biggest disappointments in Poser 5 was the manual. It was next to useless to me when I first started trying to figure out how to use the Material Room.

Now that we have a basic understand of these nodes, let's put them to use and set up the cel shading for our Superman project.


Step 7: Setting Up the Cel Shading


Jump to Step # Intro 0 1 2 3 4 5 6 7 8



Please note the donation link below.

If this tutorial was of any help to you, please help support this website.


Copyright (c) 2024