1

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

1.menu.py

import nuke
import os
import sys

toolbar = nuke.menu('Nuke')
BMenu = toolbar.addMenu('Nukex')

import switchtonukex
BMenu.addCommand('switchtonukex', 'switchtonukex.main()')

2.switchtonukex.py

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')"])

假设我vidfile1在 NUKE Studio 中打开,一旦我点击一个节点,我将点击我创建的 NukeX 工具栏选项卡,这将打开 NukeX 并打开viffile1. 但是我不希望代码基于任何特定文件,因为我有很多需要这个过程。

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

4

1 回答 1

0

在您的示例中,您正在传递--nukeassist参数。我认为您应该传递--nukex arg (args 列表)

此外,如果此脚本将从 nuke 中运行,那么您只需传入 nuke.root().name() 即可返回当前打开文件的路径(如果未保存,则返回“root”)。

nukeProcess = subprocess.Popen(["C:\Program Files\Nuke11.3v2\Nuke11.3.exe", "--nukex", nuke.root().name()])
于 2019-06-09T15:57:43.033 回答