什么是Gizmo

Gizmo是用户自己创建一组节点Group导出成以 .gizmo后缀结尾的文件,直接把他放置在.nuke文件夹或者其他会被Nuke插件加载的文件夹,Gizmo将会被自动加载到Nuke中形成一个可用的新的节点。

创建Gizmo原则

使用自定义Gizmo是把当前项目或者本公司合成师经常使用到的节点树进行打组封装,减少合成师重复劳动亦或是建立一个标准的合成工作流程,总结成以下几点。

  1. 重复使用到的节点树

例如抠像会首先去噪波,经常会使用到F_DeNoiseDenoise两个节点配合,分通道去处理噪点,这时候就可以把这部分功能提炼成一个Gizmo以供大家使用提高生产效率。

  1. 根据当前项目难点提供的一套解决方案

例如我当时参与的《狼图腾》项目,里面有个暴风雪场景戏需要给所有手电筒增加光照效果,因为拍摄时候只是营造了风和地面雪场景效果,雪是特效模拟合成的,所以手电筒光照效果要根据最后暴风雪场景来改变,这时候我们尝试出一套解决方案后就可以把这套节点树打组成一个共所有人使用的Gizmo

  1. 对某个节点增强型改变

Group组成

节点树

把一组节点打包成一个Group后,会自动生成Input入口和Output出口两个节点,Input入口节点可以是多个对应Group节点入口也会是多个,更改Input入口节点名称,Group节点入口连接线名称也会对应改变,默认入口连接线名称是1,2,3等数字标识不是很直观建议更改成具体业务名称。

案例:

以Text节点为例,做一个获取当前帧数的Gizmo。

参数控制面板

用对象思维去看待Group,一个Group可以类比成一个Class类,下面的节点可以类比成Class类里面一个一个的函数方法。那么Group面板相当于我们把这个Class类实例化了,在外部调用他内部方法。

浮点数滑动条(Floating Point Slider)

浮点数滑动条允许用户在最小值到最大值之间改变,数值精确的小数点后三位。

二维位置控制器(2D Position Knob)

X轴和Y轴可以调节。

三维位置控制器(3D Position Knob)

X轴、Y轴和Z轴可以调节。

宽度/高度控制器(Width/Height Knob)

Bounding Box控制器(Bounding Box Knob)

尺寸控制器(Size Knob)

尺寸控制器继承于浮点数滑动条,最小值为0,最大值为1,数值精确的小数点后三位。

UV坐标系控制器(UV Coordinate Knob)

整数控制器(Integer Knob)

RGB 颜色控制器(RGB Color Knob)

RGBA 颜色控制器(RGBA Color Knob)

相比 RGB 颜色控制器多了A通道控制

复选框(Check Box)

TCL脚本按钮(TCL Script Button)

在 Script 脚本区域填写 TCL 脚本,当用户点击当前按钮时候会被执行

Python脚本按钮(Python Script Button)

在 Script 脚本区域填写 Python 脚本,当用户点击当前按钮时候会被执行

未完待续,最近忙于release strack 3.0