Forum: Poser - OFFICIAL


Subject: Nodes for Dummies

RobynsVeil opened this issue on Jan 24, 2009 · 490 posts


RobynsVeil posted Tue, 03 March 2009 at 5:42 AM

I am printing out every word of yours and every image you posted on this thread, Bill. I've come to the horrible realisation that my reading of this material has not been very careful: moreover, I had printed out the VSS thread some time back and was reading it at work and WOW, so much of it made sense, now... but I also realised to my horror that you had had to repeat yourself so much on this thread ... so much of it was covered on THAT thread.

Sheesh!

So, if I go silent for a bit, it's not because I'm off doing hair or make-up or something: I'm carefully memorising some of these concepts in order to avoid stupid mistakes in the future.

Took your ingredients (above) and did this:
**
def makeSurface():
  # Gamma-correction node
  gamma = Add(2.2).labelled("GammaCorrection")
 
  # Placeholder for colorMap
  colorMap = ImageMap().labelled("Color Map")
  skinColour = colorMap
 
  # Colours to fiddle with
  ltBeige = Color(.98,.94,.88)
  
  # Underlying skin tone
  generalTint = SimpleColor(WHITE).labelled("Tint")
  freckleTint = SimpleColor(ltBeige).labelled("Freckle_Tint")
  normalSkinColour = generalTint * skinColour
  
  freckles = Spots(
    Base_Color = 1,
    Spot_Color = freckleTint,
    Spot_Size = .1,
    Softness = .35,
    Threshold = .7,
    Noise_Type = 2).labelled("Freckles")
  
  freckledSkinColour = freckles * normalSkinColour
  freckleMask = ImageMap().labelled("Freckle Mask")
 
  skinColour = Blend(normalSkinColour,freckledSkinColour,freckleMask)
  # Anti-gamma process
  skinColour = skinColour ** gamma
 
  # Set up specular node
  setSpec = Blinn(1,.4,.4,.4)
  
  # Set up the Diffuse node, keep it from exceeding conservation of energy with Specular
  setDiff = Diffuse(skinColour, .7 * (1 - setSpec))
 
 
  
  # Setting up PoserSurface
  s = Surface(1,0,0,0)
  s.Diffuse_Color = colorMap
  s.Specular_Color = WHITE
  
  # keeps diffuse_color from doing anything but just displaying in the pose room
  s.Diffuse_Value = Add(0,0)
  s.Highlight_Size = .02
  s.Bump = Sub(ImageMap(Background = Turbulence(.05,.05,.05,8,0,.5,.15)).labelled("Bump Map"),.5) * .03
  
  s.Alternate_Diffuse = (setDiff + setSpec) ** (1/gamma)
  
  return s
 
makeSurface()**

I used a freckle mask you'd offered on RDNA or somewhere some time ago... seems to work (meaning... after distributing with VSS, the freckles are appropriately masked out). I'll have a closer look tomorrow.

There's so much I suddenly want to do with shaders and everything, but first, before I start doing anything, I'm going to make sure that every concept you so painstakingly shared is going to be a solid, well-trialed reality to me.

Monterey/Mint21.x/Win10 - Blender3.x - PP11.3(cm) - Musescore3.6.2

Wir sind gewohnt, daß die Menschen verhöhnen was sie nicht verstehen
[it is clear that humans have contempt for that which they do not understand] 

Metaphor of Chooks