1尽量用序列串文件,少用mov


  2尽量减少节点的使用数量(除非有特别用途).用一个参数是3的节点也别使用三个参数是1的节点, 删除未调节参数的节点(虽然他们没起作用,但会减慢你的程序运行速度,只要你渲染过就会发现节点们不停的闪)


  3 Blur节点尽量少用,它们太慢! 即使必须使用也得告诉nuke模糊哪些通道(比如rgb/alpha),别用默认的all以减少计算量


  4如果你做了很多变换和模糊(transforms and blurs)一定记得在某个地方或在结尾加个裁剪节点(crop),否则nuke会计算画面外的内容。(有人不同意这样的说法,你可以试试。)


  5千万别一个接一个的使用重影节点(erode)否则渲一个小时一帧你也得等着:)


  6如果你觉得总有重复性工作,可以做个gizmo。一劳永逸啊


  7如果边界盒(bounding box)因为变换(transforms)或其他操作变大,建议最好连接合并节点(Merge)到最高效的输出上(set bbox to knob)。


  8 nuke变慢的原因:

  a-如果nuke看起来假死或常变慢,可以检查随nuke同时启动的信息窗口里的提示/错误/警告

  b-检查输入素材的位数是32位还是16位

  c-检查bbox(常在read nodes上)用下面的 "Check bounding box" 脚本 追踪到最浪费的家伙们

  Code:

  mult = nuke.getInput('Show nodes with a bounding box larger than their format times this value', '1.5')

  badies = []

  for n in nuke.allNodes():

  width = nuke.expression(n.name()+'.width')

  height = nuke.expression(n.name()+'.height')

  bbWidth = nuke.expression(n.name()+'.bbox.w')-nuke.expression(n.name()+'.bbox.x')

  bbHeight = nuke.expression(n.name()+'.bbox.h')-nuke.expression(n.name()+'.bbox.y')

  format = width*height

  bbox = bbWidth*bbHeight

  if bbox > format*float(mult):

  badies.append(n)

  def displayBadies ():

  return '\n'.join([n.name() for n in badies])

  nuke.display('displayBadies()', nuke.Root(), 'Inefficient Nodes')

  for b in badies:

  b['tile_color'].setValue(-16776961)

  label = b['label'].value()

  warning = '

  CHECK BBOX'

  if label != '':

  label = '\n'.join([label,warning])

  else:

  label = warning

  print label

  b['label'].setValue(label)

  以上脚本用法:打开一个新的Script editor 窗口,把脚本粘贴到下面的输入区,敲ctrl+enter则开始

  运行,会出现个输入框,默认为1.5,它是你要查找的bbox是工程文件的多少倍,比如s里是400*300,你

  如果输入2则找bbox大于800*600的节点,总之可以用3实验一下,再减小,也可以用默认的1.5.被标记的

  节点会变大变红,可以用copybbox 或adjuestbbox去调整他们,具体用法可参见帮助文档的109页“

  Adjusting the Bounding box”

  d-检查write 节点输出通道的数量,根据需要选择,尽量别用默认的all。如果必须事业all,也可以使用Remove node删除无用的通道

  e-如果可以的化尽量用内建


,nuke技巧,nuke教程