2014年8月13日 星期三

2014年7月20日 星期日

2014年7月17日 星期四

2014年5月27日 星期二

2014年2月11日 星期二

2014年2月10日 星期一

switch nuke channel by expression node






















set cut_paste_input [stack 0]
version 7.0 v10
ColorWheel {
 inputs 0
 gamma 0.45
 name ColorWheel2
 selected true
 xpos -68
 ypos -329
}
CheckerBoard2 {
 inputs 0
 name CheckerBoard3
 selected true
 xpos -191
 ypos -331
}
add_layer {JimmyChannel JimmyChannel.red JimmyChannel.green JimmyChannel.blue JimmyChannel.alpha}
ShuffleCopy {
 inputs 2
 alpha alpha2
 black red
 white green
 red2 blue
 green2 alpha
 out2 JimmyChannel
 name ShuffleCopy4
 label "模擬同一串流裡面有一組channel叫\nJimmyChannel"
 note_font_size 20
 selected true
 xpos -139
 ypos -217
}
Expression {
 channel0 {forward.u -forward.v -backward.u -backward.v}
 expr0 JimmyChannel.red
 channel1 {-forward.u forward.v -backward.u -backward.v}
 expr1 JimmyChannel.green
 channel2 {-forward.u -forward.v backward.u -backward.v}
 expr2 JimmyChannel.blue
 channel3 {-forward.u -forward.v -backward.u backward.v}
 expr3 JimmyChannel.alpha
 name Expression9
 label "將JimmyChannel切換到motion channel"
 note_font_size 20
 selected true
 xpos -139
 ypos -94
}


useful info about nuke expression node : http://www.nukepedia.com/written-tutorials/expressions-101
and thanks seadog's help!

2014年2月8日 星期六

nb_MariTools 1.0 from Nicholas Breslow


nb_MariTools 1.0 from Nicholas Breslow on Vimeo.

https://vimeo.com/86082496

http://nbreslow.com/nbmaritools

shuffle-out-all-channels Script

http://www.muttsy.net/blog/2011/10/20/shuffle-out-all-channels/

nodes = nuke.selectedNodes()
for node in nodes:
 if node.Class() == 'Read':
  channels = node.channels()
  layers = list( set([channel.split('.')[0] for channel in channels]) )
  layers.sort()
  if 'rgba' in layers:
   layers.remove('rgba')
  for layer in layers:
   shuffleNode = nuke.nodes.Shuffle(label=layer,inputs=[node])
   shuffleNode['in'].setValue( layer )
   shuffleNode['postage_stamp'].setValue(True)
 else:
  pass

2014年1月15日 星期三

mask3d node

set cut_paste_input [stack 0]
version 7.0 v10
push $cut_paste_input
Group {
 name mask3d
 selected true
 xpos 1457
 ypos -418
 addUserKnob {20 User}
 addUserKnob {18 pos l Position t "Select the colour that corresponds to the position you want."}
 pos {5.994726658 48.59552765 6.745039463}
 addUserKnob {13 rad l Radius}
 rad {0.7 {rad.x} {rad.x}}
 addUserKnob {7 fall l "Falloff Exponent" R 1 10}
 fall 3.25
 addUserKnob {7 gain l Hardness}
 gain 0.54
}
 Input {
  inputs 0
  name __POS_INPUT__
  xpos 95
  ypos 536
 }
 Expression {
  temp_name0 distR
  temp_expr0 (Br-parent.pos.r)/rad.x
  temp_name1 distG
  temp_expr1 (Bg-parent.pos.g)/rad.y
  temp_name2 distB
  temp_expr2 (Bb-parent.pos.b)/rad.z
  temp_name3 len
  temp_expr3 sqrt((distR*distR)+(distG*distG)+(distB*distB))
  expr0 pow(1-len,fall)
  expr1 pow(1-len,fall)
  expr2 pow(1-len,fall)
  expr3 pow(1-len,fall)
  name __POSITION_KEY__
  xpos 95
  ypos 597
 }
 Clamp {
  channels rgba
  name Clamp1
  xpos 95
  ypos 641
 }
 Group {
  name Perlin_gain
  help "This is an implementation of Ken Perlin's gain function. It boosts micro-contrast (acutance, in photographic terms) without clipping. When set to 0.5, it has no effect. When >0.5, gain is boosted; when <.5, gain is muted. Only luminance is affected; not hue nor saturation. Superwhites remain untouched."
  tile_color 0xcc9d6d00
  xpos 95
  ypos 686
  addUserKnob {20 "" l User}
  addUserKnob {7 realGain l "Perlin Gain function" t "This is an implementation of Ken Perlin's gain function. It boosts micro-contrast (acutance, in photographic terms) without clipping. When set to 0.5, it has no effect. When >0.5, gain is boosted; when <.5, gain is muted. Only luminance is affected; not hue nor saturation. Superwhites remain untouched."}
  realGain {{parent.gain}}
 }
  Input {
   inputs 0
   name Input1
   selected true
   xpos 130
   ypos -89
  }
  Expression {
   temp_name0 gain
   temp_expr0 parent.realGain
   temp_name1 lum
   temp_expr1 "0.2125*Br + 0.7154*Bg + 0.0721*Bb"
   temp_name2 val
   temp_expr2 .5*((lum<.5)?((1-gain)>0?pow(2*lum,log(1-gain)/log(0.5)):0):2-((1-gain)>0?pow(2-2*lum,log(1-gain)/log(0.5)):0))
   expr0 r>1?r:r*(val/(lum+0.00001))
   expr1 g>1?g:g*(val/(lum+0.00001))
   expr2 b>1?b:b*(val/(lum+0.00001))
   name KPGain
   tile_color 0xd47f3b00
   label "TRUE GAIN\nFUNCTION"
   xpos 130
   ypos -24
   addUserKnob {20 "" l User}
  }
  Output {
   name Output1
   xpos 130
   ypos 98
  }
 end_group
 Clamp {
  channels rgba
  name Clamp2
  selected true
  xpos 95
  ypos 731
 }
 Output {
  name Output1
  xpos 95
  ypos 839
 }
end_group

Enable the mip production shader in Maya mentalRay

The Mental Ray production shaders are hidden by default.  mip_* mib_* mia_*
Simply go to your script editor, type in:
optionVar -intValue "MIP_SHD_EXPOSE" 1;
Also check out info on the finest in Mental Ray websites from Zap
http://mentalraytips.blogspot.com.br/2007/10/production-shaders-hidden-treasures-of.html
To find more info you can always search "Mental Ray production shaders" as well as read the 2013 Mental Ray production manual online.

http://docs.autodesk.com/MENTALRAY/2013/ENU/mental-ray-help/