Forum: Poser - OFFICIAL


Subject: BagginsBill Help please =)

meltz opened this issue on May 27, 2009 · 37 posts


bagginsbill posted Thu, 28 May 2009 at 1:17 PM

Quote - BB it worked =) thanks so so much. I'll get this learning curve eventually. All i did was match up the maps in there and it worked.

One more question, to change the skin tone of a texture, do i just go to the VSS Template Skin an then change it in PMC: Color Tint? tring to get a native american looking skin from the whit skin i have loaded in. 

Yep. "Tinting" is not one of those well known CG concepts. I made it up as a verbal shorthand.

There are an infinite number of ways to take an image with certain colors in it, and change it using color math to a different but related set of colors. Listing all of these, and why you use one versus the either, would require an entire book, one I just happen to be writing.

But I'll give you the short and sweet version.

Basic grade-school arithmetic gives us add, subtract, multiply, and divide. (+, -, *, /) Higher level math gives us polynomials, exponentiation (powers and roots), logarithms, trigonometric functions, etc. All of these can be used to manipulate colors, and they can be assembled in combinations - yielding infinite possibilities. I use all of these in my shaders and for the most part you don't need to know why.

Tinting, as I define it, is very simple. You take a variable color pattern, like a pattern that captures skin/lip/mole layout, or a wood grain, and you multiply it with a constant color. In the VSS shader, the PMC:Tint color is multiplied with your color map.

If you'll recall, multiplication has a couple interesting special cases. Multiply x with 1 (x * 1) and the result is just x - no change, regardless of what x is. The other special case is multiply x with 0 (x * 0) and the result is always 0, regardless of what x is.

In color multiplication, each of the Red, Green, and Blue values from the two colors are independently multiplied to produce the new values for Red, Green, and Blue. So for color multiplication, the color WHITE (RGB 255, 255, 255) is the equivalent of the numerical value 1. And the color BLACK (RGB 0, 0, 0) is the equivalent of the numerical value of 0.

So... Tinting with WHITE produces no change in the colors. X * WHITE = X
Tinting with BLACK produces BLACK no matter what. X * BLACK = BLACK.

This is why the default value of PMC:Tint is WHITE. This is the value to use that does nothing - it does not Tint the colors even though Tinting is always turned on.

Everything in between BLACK and WHITE produces something more interesting.

Going back to basic arithmetic, let's think about x * t, where t is the tint value. When t is 1, we've established that the result is unchanged, x * 1 = x. But what if t is just slightly less than 1? For example, if x = .535 and t = .99, then the result is .52965. This is very close to the original value .535 because t is very close to 1. If t is .8, then x * t is .428 which is a bigger difference, but still not a very big difference.

Now the same holds for colors. Colors which are close to white will produce relatively small but noticeable changes to the color from your color map. These colors are commonly known as "pastel" colors.

In every case, tinting with a pastel color will slightly darken the color and depending on the basic hue of the tint, will cause a color cast in the original colors that is similar to the hue of the tint color. The stronger the saturation is in the tint color, the more the color map will be forced to take on that hue. The darker the luminance of the tint color, the more the color map will be darkened.

In certain cases, tinting can actually de-saturate the colors of your color map. For example, most skin color maps have a strong red component, medium green, and weak blue. If you tint with a tint color that is weak red, medium green, and strong blue, you can actually make these become more balanced, resulting in something that is closer to a shader of gray. We use this trick a lot in VSS, because many color maps have too much red in them, something called burned-in subsurface scattering. The VSS skin shader wants to add red from subsurface scattering in various places, depending on which way the light is falling. But if you start with a very red color map, the effect is that the figure looks sun-burned. So we often use a cyan colored tint to basically remove some of that burned-in redness, and let the rest of the shader decide where to add it back.

The other use for tinting is to create ethnic variations, which is what you're trying to do. For the most part, if you're starting with a pale caucasian color map, then you can make it darker simply by using a tint color that is a shade of gray, such as RGB 200, 200, 200. The darker the tint, the darker will be the result. If you want it more red, then use a little extra red in the tint, like RGB 230, 200, 200. If you want it a little more yellow, then use a little extra red and a lot of extra green, like RGB 200, 230, 180.

Experiment with various tints and you can achieve a lot of interesting variations in skin tone.

Sometimes, you end up with the hue and saturation you want, but the overall luminance becomes darker than you like. In such cases, you can try increasing PM:Boost value, which is pretty much a final amplifier of the brightness of the skin. The other thing you can do is insert a Math:Add node and connect it to the PMC:Tint color. Increase the value above 1, and you brighten the color without changing the hue or saturation.

Here's a workflow tip. When you manipulate the PMC:Tint value in the VSS Control Prop for Template Skin, you can see the changes in the preview image on the Poser Surface, but they are shown against a plain white color. After synchronizing and rendering, you may find that the color you ended up with was unexpected and not what you were trying to get. This happens to me all the time. So here's how I handle it.

Synchronize. Now, switch your material room from VSS, and instead display one of the skin zones on your figure, for example the torso. This will show the preview of the shader with the actual color map you've got loaded on the Poser Surface.

Make adjustments to the PMC:Tint value right there on the figure's torso material. With each change, you'll be able to see a reasonable approximation of how that looks in the Poser Surface preview. You may make several adjustments until you think it's about where you want it. Then write down the color you entered here in the torso. Switch back to the VSS Control Prop Template Skin, and enter the same color there. Then Synchronize, to copy this setting to all the skin zones.

I find this to be a big time saver versus repeatedly adjusting, synchronizing, and test rendering.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)