Q100472:如何在 Windows 上为 Nuke 创建批量渲染

关注

概括

本文介绍如何创建批处理文件以在 Windows 操作系统上渲染多个Nuke脚本。这对于用户一次实现多个脚本的渲染是有益的,尤其是那些具有异步帧输出的脚本。


更多信息

此过程将允许用户运行单个批处理文件以获得与打开多个命令窗口进行渲染相同的结果。此过程相当复杂,需要 Windows 目录的工作知识以及特定的Nuke命令行操作才能完成。

示例

1. 启动文本编辑器,例如记事本。

2. 使用以下代码添加Nuke路径,开始编写批处理文件脚本:

path="C:\Program Files\Nuke14.0v5\" - 使用当前安装的Nuke版本。

2a.然后,使用此行实现要渲染的脚本:

start Nuke 14.0.exe -x -F 1-10 “path/to/script_v1.nk "

注意:启动命令打开Nuke 14.0,然后执行 ( -x ) 帧脚本的所有写入节点 ( -F ) 1-10 在一个名为“ test_v1.nk ”的特定脚本中。

2b.对要渲染的每个特定脚本重复上述命令。请参阅下面的示例来参考这一点。

3. 选择文件 > 另存为...

4. 创建一个扩展名为.bat的文件名。 (即batchRender.bat)并单击“保存”进行确认。

5. 双击保存位置中的批处理文件以运行脚本。或者,右键单击该文件并选择“打开”。

6. 批处理文件完成后,查看渲染输出的指定目录。


请查看此示例批处理文件以一次渲染 3 个脚本,其中还包括上面未引用的其他行您可以在“延伸阅读”部分中查看有关这些行的更多信息:

@echo off
title Batch Render Nuke Scripts!
mode 45, 10

rem ======================
rem A CHOICE TO MAKE
rem ======================
echo.
echo WELCOME!
echo.
echo.

CHOICE /M "Would you like to begin rendering?"
IF ERRORLEVEL 2 GOTO :End
IF ERRORLEVEL 1 GOTO :Begin

rem ============================
rem BEGIN THE BATCH RENDER
rem ============================

:Begin
rem ======================================
rem SETTING PATH TO EXECUTE RENDER
rem ======================================

path="C:\Program Files\Nuke14.0v5\"

rem =========================
rem BEGIN SCRIPT 1 RENDER
rem =========================

start Nuke 14.0.exe -x -F 1-10 "C:\temp\test_v1.nk"

rem =========================
rem BEGIN SCRIPT 2 RENDER
rem =========================

start Nuke 14.0.exe -x -F 1-10 "C:\temp\test_v2.nk"

rem =========================
rem BEGIN SCRIPT 3 RENDER
rem =========================

start Nuke 14.0.exe -x -F 1-10 "C:\temp\test_v3.nk"


:End
title No Renders made...
cls
echo.
echo.
echo.
echo NO RENDERS MADE, NOW EXITING!
PING localhost -n 2 >NUL
exit


补充笔记:

以上面的批处理文件为例,首先设置Nuke路径,以便程序正确初始化。然后, test_v1.nk、test_v2.nktest_v3.nk的特定脚本位置将为每个文件打开命令提示符,并执行在起始行中调用的指定帧。

有关批处理脚本的更多信息,请查看“进一步阅读”部分中提供的链接。您也可以从附件中下载上述脚本。

Nuke接受的任何命令行操作都可以在批处理文件中使用,例如使用-sro进行渲染顺序,或者通过使用-X命令和写入节点的名称来使用特定的写入节点。

此外,可能需要使用另一个名为/wait的命令来交错渲染。使用此命令仅在完成前一个脚本后才开始下一个脚本。一个这样的例子将被用作:

@echo off
rem ======================================
rem SETTING PATH TO EXECUTE RENDER
rem ======================================

path="C:\Program Files\Nuke14.0v5\"
 
rem =========================
rem BEGIN SCRIPT 1 RENDER
rem =========================

start /wait Nuke 14.0.exe -x -F 1-10 "C:\temp\test_v1.nk"

rem =========================
rem BEGIN SCRIPT 2 RENDER
rem =========================

start Nuke 14.0.exe -x -F 1-10 "C:\temp\test_v2.nk"

以前的Nuke版本在批渲染时使用 .mov 文件时还存在一个已知问题。渲染将失败,并给出“工作进程失败”的错误,这是由 Quicktime 进程造成的。请参考此问题:

TP 428879 - 使用批处理文件渲染 .mov 脚本时,渲染退出并给出“工作进程失败”错误消息。

使用批处理渲染 .mov 文件的解决方法是卸载 Quicktime。但是,不建议这样做,因为Nuke目前需要 Quicktime 才能正常运行。

但是,由于该问题在Nuke 14.0v5 中似乎不再出现,因此我们建议 更新到此版本

延伸阅读

请查看我们的文档,了解有关Nuke命令行操作的更多信息。

请查看这些文章以了解批处理文件的用途:

下载示例脚本:

我们很遗憾听到

请告诉我们