命令行操作

启动时,命令行标志会激活各种选项Nuke从命令行或终端,并提供其他功能来Nuke。首先让我们讨论如何启动Nuke从壳。

Windows

注意:  如果您使用的是终端仿真器,请按照Mac或Linux下的步骤操作,根据需要替换文件路径。

打开命令行提示符并按如下所示更改目录:

cd C:\Program Files\Nuke12.1v1\

推出Nuke,输入以下命令:

Nuke12.1.exe

或者,您可以设置一个doskey指向Nuke然后您可以启动Nuke从任何目录:

doskey nuke="C:\Program Files\Nuke12.1v1\Nuke12.1.exe"

如果你想服用NukeX,输入:

doskey NukeX="C:\Program Files\Nuke12.1v1\Nuke12.1.exe" --NukeX

如果你想服用Nuke Studio,输入:

doskey nukes="C:\Program Files\Nuke12.1v1\Nuke12.1.exe" --studio

在Mac上

打开命令行提示符并按如下所示更改目录:

cd /Applications/Nuke12.1v1/Nuke12.1v1.app/Contents/MacOS/

推出Nuke,输入以下命令:

./Nuke12.1v1

或者,您可以设置别名以指向Nuke然后您可以启动Nuke从任何目录。此过程取决于您的默认外壳程序。要获取您正在使用的外壳的名称,请启动Terminal并输入echo $SHELL

如果使用的是bash shell,请输入:

alias nuke='/Applications/Nuke12.1v1/Nuke12.1v1.app/Contents/MacOS/Nuke12.1v1'

或者,如果您使用的是tcsh shell,请输入:

alias nuke /Applications/Nuke12.1v1/Nuke12.1v1.app/Contents/MacOS/Nuke12.1v1

如果要别名NukeX,输入:

alias NukeX /Applications/Nuke12.1v1/Nuke12.1v1.app/Contents/MacOS/Nuke12.1v1 --NukeX

如果要别名Nuke Studio,输入:

alias nukes /Applications/Nuke12.1v1/Nuke12.1v1.app/Contents/MacOS/Nuke12.1v1 --studio

小费:  您可以将别名添加到.cshrc要么.bashrc文件放在您的主目录中,以便您每次打开外壳时都会激活它们。请与系统管理员联系以获取设置帮助。

在Linux上

打开命令行提示符并按如下所示更改目录:

cd /usr/local/Nuke12.1v1/

推出Nuke,输入以下命令:

./Nuke12.1

或者,您可以设置别名以指向Nuke然后您可以启动Nuke从任何目录。此过程取决于您的默认外壳程序。要获取您正在使用的外壳的名称,请启动Terminal并输入echo $SHELL

如果使用的是bash shell,请输入:

alias nuke='/usr/local/Nuke12.1v1/Nuke12.1'

或者,如果您使用的是tcsh shell,请输入:

alias nuke=/usr/local/Nuke12.1v1/Nuke12.1

如果要别名NukeX,输入:

alias NukeX=/usr/local/Nuke12.1v1/Nuke12.1 --NukeX

如果要别名Nuke Studio,输入:

alias nukes=/usr/local/Nuke12.1v1/Nuke12.1 --studio

小费:  您可以将别名添加到.cshrc要么.bashrc文件放在您的主目录中,以便您每次打开外壳时都会激活它们。请与系统管理员联系以获取设置帮助。

使用命令行标志

现在,您可以在启动时开始尝试使用命令行标志Nuke。这是显示版本号和构建日期的版本。

nuke -version

如果您有.nk脚本,您可以在命令行中呈现它而无需打开GUI版本。这是一个渲染一百帧的示例Nuke脚本:

nuke -F 1-100 -x myscript.nk

请注意如何使用-F在命令行上切换以指示帧范围,并用短划线分隔开始帧和结束帧。

注意:  我们建议您使用-F每当在命令行上定义帧范围时切换,该范围必须在脚本名称参数之前。
但是,为了向后兼容,您也可以使用旧语法。为此,请将帧范围放在命令的末尾,并使用逗号分隔开始帧和结束帧。例如:
核-x myscript.nk 1,100

要显示您可用的命令行标志(开关)列表,请使用以下命令:

nuke -help

这是表中的命令行标志列表:

开关/标志

行动

-一种

格式默认为变形。

-c大小(k,M或G)

限制高速缓存的使用,其中size等于一个以字节为单位的数字。您可以通过附加指定其他单位k (千字节), M (兆字节),或G (GB)之后size

-续

Nuke尝试在出现错误后渲染指定范围内的后续帧。什么时候--cont未指定,遇到错误时渲染将停止。

--crashhandling 1

--crashhandling 0

Breakpad崩溃报告使您可以在极少数情况下将崩溃转储提交给Foundry。默认情况下,崩溃报告在GUI模式下启用,而在终端模式下禁用。

采用--crashhandling 1以在GUI和终端模式下启用崩溃报告。

采用--crashhandling 0禁用GUI和终端模式下的崩溃报告。

小费:  您还可以使用NUKE_CRASH_HANDLING环境变量来控制崩溃处理。看到环境变量了解更多信息。

-d <x服务器名称>

这允许Nuke在一台机器上查看,而在另一台机器上运行。(仅Linux,并且需要进行一些设置才能允许远程访问目标计算机上的X Server)。

-F

打开Nuke全分辨率脚本。使用此标志可以打开已保存的显示代理图像的脚本,以显示完整分辨率的图像。也可以看看-p

-F

要为其执行脚本的帧号。所有-F参数必须在脚本名称参数之前。这里有些例子:

-F 3表示框架3。

-F 1-10表示第1、2、3、4、5、6、7、8、9和10帧。

-F 1-10x2指示帧1、3、5、7和9。

您还可以使用多个帧范围:

nuke -F 1-5 -F 10 -F 30-50x2 -x myscript.nk

--gpu ARG

设置后,通过可选的GPU索引参数(默认为0)在终端模式下启用GPU使用。采用--gpulist显示可选的GPU。

注意:  覆盖设置的GPU Preferences > Performance > Hardware在交互模式下运行时。

--gpulist

打印可选的GPU及其对应的索引,以便与--gpu ARG选项。

-H

显示命令行帮助。

-救命

显示命令行帮助。

-一世

使用交互式(nuke_i)RLM许可证密钥。此标志与使用以下命令的背景渲染脚本一起使用-x。默认情况下-x使用nuke_r许可证密钥,但是-xi使用nuke_i许可证密钥渲染背景。

注意:  如果您仍然使用FLEXlm许可证,并且有兴趣转向RLM许可证,请联系sales@foundry.com获得替换许可证。

-l

新的读取或写入节点的颜色空间设置为线性而不是默认值。

-m#

将线程数设置为指定的值 #

--multigpu

如果安装了多个相同类型的GPU,则可以启用此首选项以在可用GPU之间共享工作,以提高处理速度。这是全局首选项,并应用于所有启用GPU的节点。

看到WindowsMac OS X和macOS , 要么的Linux有关GPU的更多信息Nuke支持。

-n

打开脚本,节点上没有邮票。

--nocrashprompt

在GUI模式下启用崩溃处理后,无需显示崩溃报告程序对话框即可自动提交崩溃报告。

小费:  您还可以使用NUKE_NO_CRASH_PROMPT环境变量来控制崩溃提示。看到环境变量了解更多信息。

--nukeassist

发射Nuke Assist,这是作为NukeX维护包,旨在用作艺术家进行绘画,旋转描边和跟踪的工作站。每个随附两个免费许可证NukeX执照。

-p

打开Nuke代理解析的脚本。使用此标志可以打开已保存的显示全分辨率图像的脚本,以显示代理分辨率图像。也可以看看-f

-P

衡量节点的性能指标,并将其显示在“节点图”中。看到使用性能计时了解更多信息。

- 暂停

命令行中指定的脚本中的初始查看器应暂停。

-Pf <文件名>

衡量节点的性能指标,并在渲染时将其写入XML文件。看到使用性能计时了解更多信息。

--nc

运行NukeNuke Non-Commercial模式。看到关于Nuke非商业了解更多信息。

-优先级p

运行Nuke具有不同的优先级,您可以选择:

high (仅适用于Linux / OS X上的超级用户)

medium

low

--python-no-root-knob默认值

执行Python脚本时,禁止将旋钮默认值应用到根节点。

-q

静音模式。这将停止所有打印到外壳。

-重新映射

允许您重新映射文件路径以便轻松共享Nuke跨不同操作系统的项目。这等效于设置Path Remaps 控制在Preferences对话。

--remap标志将以逗号分隔的路径列表作为参数。这些路径成对布置,其中每对的第一路径映射到每对的第二路径。例如,如果您使用:

nuke -t --remap“ X:/路径,Y:,A:,B:/另一个路径”

任何以开头的路径X:/path转换为开头Y:

任何以开头的路径A:转换为开头B:/anotherpath

--remap标志在以下情况下引发错误:

它是在启动GUI模式时定义的,即没有-x要么-t

路径不配对。例如,如果您使用:

nuke -t --remap“ X:/ path,Y:,A:”

A:不会映射到任何东西,并且会产生错误。

如果您不给它路径,则--remap标志会给出警告(但不会出错)。例如:

nuke -t --remap“”

注意:  请注意,映射仅适用于Nuke正在启动的会话。它们不会影响GUI使用的Preferences.nk文件。

-s#

设置每个线程的堆栈大小,以字节为单位。默认值为16777216(16 MB)。最小允许值为1048576(1 MB)。

没有Nuke的默认节点所需的内存比默认内存堆栈值还多,但是如果您编写了一个自定义节点,要求从内存缓冲区请求大堆栈,那么增加堆栈大小可以防止堆栈溢出错误。

- 安全

跑步Nukesafe mode在启动时停止以下加载:

〜/ .nuke中的任何脚本或插件

$ NUKE_PATH或%NUKE_PATH%中的所有脚本或插件

任何OFX插件(包括FurnaceCore)

--sro

力量Nuke遵守Write节点的渲染顺序,以便Read节点可以使用早期Write节点创建的文件。

-t

终端模式(无GUI)。这使您无需启动GUI即可输入Python命令。在此模式下,将显示>>>命令提示符。输入quit()退出此模式并返回到shell提示符。此模式默认情况下使用nuke_r许可证密钥,但是您可以通过使用-ti标志组合来使其使用nuke_i密钥。

--tg

终端模式。这也将启动QApplication,以便可以使用Pyside / PyQt。此模式使用交互式许可证,在Linux上需要XWindows显示会话。

-V级

详细模式。在终端中,您将看到显式命令,因为每个操作都在Nuke。指定level要在终端中打印更多内容,请选择:

0 (不冗长)

1 (输出Nuke脚本加载并保存)

2 (输出加载插件,Python,Tcl, Nuke脚本,进度和缓冲报告)

-v

此命令会在Nuke查看者。这是一个例子:

nuke -v image.tif

-查看v

仅执行指定的视图。对于多个视图,请使用逗号分隔的列表:

left,right

- 版

在外壳中显示版本信息。

-X

执行模式。需要一个Nuke脚本并呈现所有活动的Write节点。

注意:  Nuke Non-Commercial仅限加密.nknc与脚本-x从命令行,即使用以下语法:
nuke -x myscript.nknc

此模式使用nuke_r许可证密钥。要使用nuke_i许可证密钥,请使用-xi。这是语法:

核-xi myscript.nk

Windows,您可以按Ctrl+Break取消渲染而不退出(如果渲染处于活动状态),否则退出。Ctrl/Cmd+C立即退出。

在Mac和Linux上, Ctrl/Cmd+C总是退出。

注意:  如果您仍然使用FLEXlm许可证,并且有兴趣转向RLM许可证,请联系sales@foundry.com获得替换许可证。

-X 节点

仅渲染由指定的Write节点节点。

--

结束开关,允许脚本以短划线开头或正好-从标准输入中读取

一般语法

这是在启动时使用这些选项的常规语法Nuke在命令提示符处:

nuke <switches> <script> <argv> <ranges>

<switches>-修改行为Nuke从命令行运行时。上表中列出了开关列表。这些有时称为标志。

<script>-的名称Nuke脚本。

<argv>-可选参数,可用于Nuke。请参见下面的示例。

<ranges>-这是您要渲染的帧范围。

例子

让我们考虑一些实际的例子。

推出Nuke并打开一个脚本。

nuke myscript.nk

我知道这很疯狂,但是我已经将我的脚本称为-myscript.nk,并且文件名开头的连字符已混淆Nuke。为了避免这种情况,如果您不想重命名文件,请使用双连字符语法:

nuke -- -myscript.nk

要显示图像:

nuke -v polarbear.tif

要显示多个图像:

nuke -v polarbear.tif whiteflower.psd mountains.cin

要显示图像序列(taxi.0001.tif,taxi.0002.tif,...,taxi.0050.tif):

nuke -v taxi.####.tif 1-50

渲染第5帧Nuke脚本:

nuke -F 5 -x myscript.nk

渲染30至50帧Nuke脚本:

nuke -F 30-50 -x myscript.nk

渲染两个帧范围,即10-20和34-60 Nuke脚本:

nuke -F 10-20 -F 34-60 -x myscript.nk

渲染一个50帧序列的每十分之一帧Nuke脚本:

nuke -F 1-50x10 -x myscript.nk

这将渲染帧1、11、21、31、41。

在具有两个名为WriteBlur和WriteInvert的写节点的脚本中,此命令仅从WriteBlur节点渲染帧1到20:

nuke -X WriteBlur myscript.nk 1-20

使用[argv 0]

让我们使用[argv]更改输出文件名。启动的GUI版本Nuke并创建一个将检查程序放入“写入”节点的节点树。双击打开写节点属性面板,然后在文件文本字段中输入以下文件名:

[argv 0]。####。tif

保存脚本并退出Nuke。在命令行上输入:

nuke -x myscript.nk mychecker 1-5

这将渲染5帧(mychecker.0001.tif,mychecker.0002.tif等)。

您可以添加另一个变量来控制输出图像文件类型。文件文本字段需要以下内容:

[argv 0]。####。[argv 1]

然后使用以下命令呈现脚本:

nuke -x myscript.nk mychecker cin 1-5

以获得mychecker.0001.cin,mychecker.0002.cin等。

<argv>字符串可以是任何[argv n]表达式,以为脚本提供可变参数。这些必须放置在<脚本> <范围> 在命令行上。您可以包括多个表达式,但是每个表达式都必须以非数字字符开头,以避免与帧范围控件混淆。有关表达式的更多信息,请参见表达方式

使用Python将TIFF转换为JPEG

此命令行方法将5个TIFF帧转换为JPEG。

nuke -t

>>> r = nuke.nodes.Read(file = ”myimage.####.tif”)

>>> w = nuke.nodes.Write(file = ”myimage.####.jpg”)

>>> w.setInput( 0, r )

>>> nuke.execute(“Write1”, 1,5)

>>> quit()

逐行键入这些命令有点麻烦。因此,让我们将它们放在一个名为imageconvert.py的文本文件中并获取Nuke执行Python脚本。

cat imageconvert.py

r = nuke.nodes.Read(file = ”myimage.####.tif”)

w = nuke.nodes.Write(file = ”myimage.####.jpg”)

w.setInput( 0, r )

nuke.execute(“Write1”, 1,5)

nuke -t < imageconvert.py

您还可以将Python脚本作为命令行参数传递。这样做可以让您在脚本名称之后输入其他参数,以传递到脚本中。这样做时,请注意sys.argv [0]是正在执行的Python脚本的名称,而argv [1:]是您传入的其他参数。下面是一个示例。有关其他解析参数的方法,请参见标准Python模块optparse。

cat imageconvertwithargs.py

import sys

r = nuke.nodes.Read(file = sys.argv[1])

w = nuke.nodes.Write(file = sys.argv[2])

w.setInput(0, r)

nuke.execute("Write1", 1, 5)

nuke -t imageconvertwithargs.py myimage.####.tif myimage.####.jpg