29 октября, 2013

Создаём cвоё меню в Nuke... Foundry Nuke.

У Нюка есть очень хорошая особенность - создание своих узлов (gizmo) которые очень упрощают жизнь и работу. Для полного счастья не хватает много незаслуженных денег своего отдельного места на панели инструментов где можно складывать свои гизмо.


menu

Для начала надо определится с местом где мы будем складывать свои Гизмо и создать там папку "Plugins" в которую складываем папки "Gizmos" и "Icons".


В новые папки можете сохранить мои гизмо с иконками чтобы легче было понять следующие шаги... ну и вообще могут пригодится: Gizmos и Icons.


Теперь мы должны дать понять Нюку что у нас есть отдельное меню и нам его надо "подцепить". Для этого мы идём в директорию куда установлен Нюк: "C:\Program Files\Nuke7.0v6\plugins", находим там файл init.py и открываем его в текстовом редакторе. Добавляемв самом конце строчку: "execfile('D:/Library/Nuke/Plugins/_RunAll.py')" где путь указываем к своей папке с плагинами, а файл _RunAll.py мы создадим позже. Так-же нам надо изменить файл menu.py, который лежит там-же, записав в нём: "execfile('D:/Library/Nuke/Plugins/_RunAllUi.py')".

Далее в нашей папке "Plugins" создаём следующюю последовательность файлов, незабывая исправлять пути:

_RunAll.py 
print('Executing _RunAll.py')
nuke.pluginAddPath('D:/Library/Nuke/Plugins')
nuke.pluginAddPath('D:/Library/Nuke/Plugins/Gizmos')
nuke.pluginAddPath('D:/Library/Nuke/Plugins/Icons')
nuke.knobDefault("Write.tiff.compression", "0")
nuke.knobDefault("Write.file_type","13")

execfile('D:/Library/Nuke/Plugins/Autobackdrop.py')


_RunAllUi.py
execfile('D:/Library/Nuke/Plugins/UI_ALToolbar.py')


Autobackdrop.py

import nuke
import nukescripts

def MakeAutobackdrop():
    if len(nuke.selectedNodes()) > 0:
        nukescripts.autoBackdrop()
    else : nuke.message('no node selected') 



 UI_ALToolbar.py
import sys
import nuke
print 'Loading Lab Tools...'
menubar = nuke.menu("Nuke")
toolbar = nuke.toolbar("Nodes")
m = toolbar.addMenu("AL-Tools", icon="AL_menu.png")
m.addCommand("AerialPerspective", "nuke.createNode(\"AerialPerspective\")", icon="AerialPerspective.png")
m.addCommand("ChromaticAberration", "nuke.createNode(\"ChromaticAberration\")", icon="ChromaticAberration.png")
m.addCommand("ColorMapping", "nuke.createNode(\"ColorMapping\")", icon="ColorMapping.png")
m.addCommand("Glow_Pro", "nuke.createNode(\"Glow_Pro\")", icon="Glow_Pro.png")
m.addCommand("HighPass", "nuke.createNode(\"HighPass\")", icon="HighPass.png")
m.addCommand("Lens_F", "nuke.createNode(\"Lens_F\")", icon="Lens_F.png")
m.addCommand("P_Ramp", "nuke.createNode(\"P_Ramp\")", icon="P_Ramp.png")
m.addCommand("RenderID", "nuke.createNode(\"RenderID\")", icon="RenderID.png")
m.addCommand("Vignetting", "nuke.createNode(\"Vignetting\")", icon="Vignetting.png")




 
Теперь если вам нужно добавить свой Гизмо в меню то копируете его в папку "Gizmos" и прописываете в файле UI_ALToolbar.py новый адрес так-же как указано выше.

7 комментариев:

  1. Сделал всё как написанно, но не появилось ничего на панели. 9-й нюк.

    ОтветитьУдалить
    Ответы
    1. 9 Нюк пока не пробовал, по идеи новые версии не должны вызывать проблем. Попробуйте проверить пути к файлам.

      Удалить
  2. А во, кавычки надо было убрать для "execfile..." Спасибо. ))

    ОтветитьУдалить
  3. А как круг виньентирования двигать? У меня hd разрешение, и круг не по центру.

    ОтветитьУдалить
    Ответы
    1. Поставте в настройках проекта првельное разрешение (буква "S")

      Удалить