使用Python将当前的Nuke脚本打开到NukeX中

时间:2017-12-11 12:13:10

标签: python nuke

我要做的是创建一个Python脚本,允许我在Nuke 10.0v3中创建一个自定义UI选项卡,这样我就可以在我有文件的时候点击它,它会将该文件打开到NukeX。下面是我创建的两个Python脚本。

1。//Example of a single route .state('app.lista', { url: '/:slug', templateUrl: '----.html', controller: 'list', resolve: function($stateParams, $location){ //Check if url parameter is missing. if ($stateParams.slug=== undefined) { //Do something such as navigating to a different page. $location.path('/somewhere/else'); } } })

menu.py

2。import nuke import os import sys toolbar = nuke.menu('Nuke') BMenu = toolbar.addMenu('Nukex') import switchtonukex BMenu.addCommand('switchtonukex', 'switchtonukex.main()')

switchtonukex.py

我们说我已经在NUKE Studio中打开了import nuke import os from glob import glob def main(node=False): if nuke.message('Nothing selected. Select a node and try again.'): nuke.createNode('Blur') import subprocess nukeProcess = subprocess.Popen(["C:\ProgramFiles\Nuke10.0v3\Nuke10.0.exe", "--nukeassist", "filePath = nuke.getFilename('Set Output Directory')"]) ,一旦我点击一个节点,我就会点击我创建的NukeX工具栏标签然后打开NukeX并打开vidfile1。但是,我不希望代码基于任何特定文件,因为我有许多需要此过程的文件。

我从我的脚本中得到的结果是,当我在NUKE Studio中打开Nuke脚本时,我可以单击NukeX选项卡(在UI中),它将打开NukeX。然而,它不会将电流加载到它上面。

1 个答案:

答案 0 :(得分:0)

在您的示例中,您传递的是-nukeassist 参数。我认为您应该通过-nukex arg this document as help

此外,如果此脚本将从nuke内部运行,则只需传递nuke.root()。name(),它将返回当前打开文件的路径(如果未保存,则返回“ root”)。

nukeProcess = subprocess.Popen(["C:\Program Files\Nuke11.3v2\Nuke11.3.exe", "--nukex", nuke.root().name()])