Nuke插件转Fusion插件的方法
本教程属于插件盲转,若有不对的地方,请指出。
首先拿一个简单案例边讲边操作,更方便理解。
本次我们要做一个像素化节点,虽然之前我发布过马赛克工具,其实是同理的,换个表现手法再来做一次,顺便研究Nuke的Gizmo布局。
Nukepedia原址:http://www.nukepedia.com/gizmos/filter/sd_pixelate
若不能下载原址的同学,我这边分流一个。
我们先用脚本查看器,或者Notepad工具打开Gizmo看看。
会发现有几十行的代码,如下图:
从中,我们一起来研究代码的结构,若是专业工具打开的,能看到代码行数,普通文本打开则没有,下文中我就直呼行数了。第1-13行,是本插件的信息:版本号,插件名,描述,参数名和作者信息。
从14行开始,是Nuke调用节点的代码,每大括号{}为一段数据,也称为节点,比如Input{ } 就是输入端的节点,大括号内的代码是该节点的参数名称,节点位置,或者表达式语句等等。
表达式几乎和Fusion差不多,只是调用的方法或者写法有点出入。
分析完简单的Nuke节点,我们回过来把他们编译成Fusion节点。
首先要了解Fusion的Macro宏工具的写法,再来编写就容易很多,不了解的可以去看下我出的视频教程。
加入微信公众号 cgsfusion回复: 插件制作
Fusion的宏插件规则也是相当简单易懂的。{} 大括号表示一个参数或者节点的段落,里面包含节点名称,组名,重命名,关联属性,表达式,值,位置信息,颜色信息等等。
转换对照给大家看下:
Reformat 的宽度和高度分别用了表达式,写的是获取Input1的宽度和高度都除以一个自定义参数,所以我在Fusion也用了Resize节点,在Width和Height值上写表达式,这边为何用OriginalWidth,与Width区别就在于它能获取源素材的原始宽高,不会因为代理原因,得到一个临时较小的画面,底下的UserControls{ } 则是自定义参数段落,这边我创建了一个Slider滑竿形式的控件,类型为整数-数值,最少值1,最大值设为1000,默认值是100。
这样我们的第一个节点参数,就能对应起来。
下面我把Fusion 像素化插件分享上来,供大家研究学习。 有问题的同学,跟帖回复吧。
UI结果和计算结果的对比:
http://i2.tiimg.com/512818/b4b20a130d6f9cf3.png
http://i2.tiimg.com/512818/1235575e9a01db7b.png
谢谢大佬=-= 谢谢大佬=-=
页:
[1]