命令行操作
启动时,命令行标志会激活各种选项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的节点。 看到Windows, Mac 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 |
运行Nuke在Nuke 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的默认节点所需的内存比默认内存堆栈值还多,但是如果您编写了一个自定义节点,要求从内存缓冲区请求大堆栈,那么增加堆栈大小可以防止堆栈溢出错误。 |
- 安全 |
跑步Nuke在safe 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_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