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 "

注: startコマンドはNuke 14.0 を開き、フレームのスクリプトのすべての書き込みノード ( -F ) を実行 ( -x ) します。 test_v1.nk 」という名前の特定のスクリプト内の 1 ~ 10。

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.nk、およびtest_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のコマンドライン操作の詳細については、ドキュメントを参照してください。

バッチ ファイルの機能を理解するには、次の記事を参照してください。

サンプル スクリプトをダウンロードします。

私たちはそれを聞いて申し訳ございません

理由をお聞かせください