- 最后登录
- 2022-10-8
- 注册时间
- 2010-12-6
- 阅读权限
- 100
- 积分
- 14150
- 纳金币
- 76544
- 精华
- 23
|
创建自定义菜单
m = nuke.menu('viewer')
mymenu = m.addmenu('mystuff')
给菜单添加icon
m = nuke.menu('viewer')
mymenu = m.addmenu('mystuff', icon = 'ohu_icon.png' )
创建自定义工具栏
mytoolbar = nuke.toolbar('my nodes')
给toolbar添加item和给menu添加一样
mytoolbar.addcommand(‘my gizmo’, lambda: nuke.createnode(‘noop’ ) )
如果没给item指定toolbar,那将成为一个按钮:
否则,item作为菜单项( 像默认工具栏那样):
mytoolbar.addcommand( 'my other tools/tool a', lambda: nuke.createnode( 'noop') ) mytoolbar.addcommand(' my other tools/tool b', lambda: nuke.createnode('noop') )
给menu添加icon,那就在创建前明确指定。
mymenu = mytoolbar.addmenu(‘my gizmo’, icon= ‘ohu_icon.png’ )
mymenu.addcommand( ‘tool a’, lambda: nuke.createnode(‘noop’))
mymenu.addcommand(‘ tool b’, lambda: nuke.createnode(‘noop’))
创建自定义菜单项
给菜单添加自定义入口,请用menu.addcommand():
nuke.menu(‘nuke’).addcommand(‘mymenu/my tool 1’, lambda:nuke.message(‘yay, it works’ ))
注意:上面的例子中,我们创建了叫mymenu的菜单
利用lambda表达式创建的匿名函数要在菜单项调用时才执行,你可以将需要的命令打包进一个字符串:
nuke.menu(‘nuke’).addcommand(‘mymenu/my tool 2’, “nuke.message(‘yay, it works too’)” )
要设置菜单项的位置请使用index参数:
nuke.menu(‘nuke’).addcommand(‘mymenu/my tool 1.5’, “nuke.message(‘yay, it works too’)”, index = 1 )
通过名字找到菜单,并在前面添加一个分割线:
m = nuke.menu('nuke').finditem('mymenu')
m.addseparator()
nuke.menu('nuke').addcommand('mymenu/my tool 3', "nuke.message('yay, it works too')")
找到已存在的menu 项,并运行其函数:
m = nuke.menu(‘nuke’).finditem(‘edit/node/filename/show’)
m.invoke()
停用菜单项:
m = nuke.menu(‘nuke’).finditem(‘redner/proxy mode’)
m.setenable( false )
注意,菜单虽然禁止了,但快捷键依然可用。
绑定快捷键
给已存在菜单绑定快捷键,你可以有效地取代整个菜单项
给axis2节点绑定快捷键。这个节点在nodes菜单里(那就是,toolbar),在3d子菜单,其子项叫axis。
nuke.menu(‘nodes’).addcommand(‘3d/axis’, lambda:nuke.createnode(‘axis2’ ), ‘a’ )
现在键盘上的a就能创建axis节点。
当绑定快捷键时也可以修改. 用ctrl( mac上的 cmd) 作为修改:
ctrl + 后跟键
~ 后跟键
例如:
nuke.menu('nodes').addcommand('3d/axis', "nuke.createnode('axis2')", "ctrl+a')
nuke.menu('nodes').addcommand('3d/axis', "nuke.createnode('axis2')", "`a')
用alt作为修改:
alt+键
# + 键
nuke.menu( 'nodes' ).addcommand( '3d/axis', "nuke.createnode( 'axis2' )", 'alt+a')
nuke.menu( 'nodes' ).addcommand( '3d/axis', "nuke.createnode( 'axis2' )", '#a')
用shift作为修改:
shift + 键
+ 后跟键
nuke.menu( 'nodes' ).addcommand( '3d/axis', "nuke.createnode( 'axis2' )", 'shift+a')
nuke.menu( 'nodes' ).addcommand( '3d/axis', "nuke.createnode( 'axis2' )", '+a')
定义默认knob
修改默认knob值,请使用nuke.knobdefault()
nuke.knobdefalut('blur.size', '77' )
上面的代码将所有blur节点的size控制默认值设置为77
当跳过节点类,新的默认值会应用到所有给定的控制上
nuke.knobdefault( 'channels', 'rgba')
上面的代码在节点创建时设置所有的channel为rgba。
via yiihuu
|
|