NUKE コマンドラインでのレンダリングについて

こちらでは、NUKEのWriteノードのコマンドラインを使用したレンダリングに関して、コマンド例と、いくつかのQ&Aを紹介致します。

 

▼NUKEのWriteノードをコマンドラインでレンダリングする

.nkスクリプトファイルをお持ちの場合は、GUIバージョンを開かずに、コマンドラインでのレンダリングを行うことができます。.nkファイルの100フレームをレンダリングする例をご紹介します。

nuke -F 1-100 -x myscript.nk

※[nuke]にはNUKEの実行ファイル名が、[myscript.nk]にはレンダリングを行う.nkファイル名が入ります。

開始フレームと終了フレームを[-]で分けてフレームレンジを指定するために、コマンドライン上で「-F」フラグを使用することができます。

ヒント: コマンドライン上でフレームレンジを指定する際には、常に「-F」フラグをスクリプト名の引数の前に使用することをおすすめします。しかしながら、古いバージョンとの互換性を考える場合には、この部分に古いシンタックスを使用することもできます。これを実行するにはコマンドの最後にフレームレンジを入力し、 [,] を使用して開始フレームと終了フレームを分けます。例えば、以下のようになります。

nuke -x myscript.nk 1,100

コマンドラインのフラグ(スイッチ)のリストを表示するには、次のコマンドを使用してください。

nuke -help

 

▼コマンドラインでのレンダリングに関するQ&A

Q. nukeをコマンドラインでレンダリングする際、GUIライセンスとレンダーライセンスは区別されますか?

A. はい。「-xi」フラグと「-x」フラグで、使用するライセンスを指定することができます。「-xi」フラグはGUIライセンス「nuke_i」を消費してレンダリングし、「-x」フラグはレンダーライセンス「nuke_r」を消費してレンダリングします。

 

Q. 「-x」フラグと「-xi」フラグを併用して、レンダリングライセンスと、利用可能なGUIライセンスがある場合はそちらもレンダリングに使用する方法はありますか?

A. 現時点(2016年10月)では、いずれか一つのライセンスを指定してジョブを投入することしかできません。こちらは、機能要望として登録されており、引き続き導入と改善に取り組んでいます。

 

Q. NUKEのジョブをレンダーファームでレンダリングする場合、どのような処理が行われますか?

A. Nukeのレンダリングをレンダーファーム上で処理する場合、基本的にコマンドラインを使用してレンダーサーバーに処理を送信します。

レンダーライセンスを使用してレンダリングを実行する場合は基本「-x」フラグを使用しますが、これをレンダーファームに投げる場合、コマンドが複雑になりますので、大抵はスクリプトを構築して送信します。

Nukeは、実際には全ての第三者および専売のレンダリングソフトウェアによりサポートされております。このようなシステムにNukeを統合することで、ネットワーク上のNukeライセンスを所持するマシン上に、ネットワークレンダリングを分配することができます。

なお、このレンダリングオプションは各作業現場においてカスタマイズする必要があるため、ネットワークレンダリングをするためのNukeスクリプトの送信方法については、システム管理者やソフトウェアのメーカーにお問い合わせいただく必要がございます。

 

Q. コマンドラインでのレンダリング(またはネットワークレンダリング)を試そうとしたところ、「nuke_r : License server does not support this product (-18) 」または「No such feature exists.」「Feature: nuke_r”」と表示され、レンダリングできません。

A. コマンドラインでのレンダリング等に使用される「nuke_r」ライセンスがライセンスサーバーにない場合に表示されるものとなります。

この場合、「-x」の代わりに「-xi」を使用することで、コマンドラインを使用したレンダリングを行う際に、GUIライセンスの「nuke_i」を消費してレンダリングを行うことができます。

ただし、NUKEの起動だけでなく、NUKE XやNUKE STUDIOの起動にも、「nuke_i」ライセンスを消費しますので、ご注意ください。各製品が使用するライセンスの詳細につきましては、こちらをご覧ください。

尚、「nuke_r」を使用してのバッチレンダリングを行う場合は、別途 Nuke レンダーライセンスをご購入いただく必要がございます。詳細につきましては、インディゾーンまでご連絡下さい。

 

Q. コマンドラインでレンダリングする際に、使用するCPUの数を指定してレンダリングすることは可能でしょうか?

A. はい、コマンドレンダリングを実行する際に「-m #」フラグを使うことで、Nukeが使用するCPU数を指定することができます。

※#には、指定するスレッド数を入力してください。

 

Q. Writeノードが複数ある.nkスクリプトをコマンドラインでレンダリングを行う際に、ある1つのWriteノードのみを実行する方法はありますか?

A.-X」フラグを使用することで、指定したWriteノードをレンダリングすることが可能です。

例えば、WriteAとWriteBと名前を付けた2つのWriteノードがあるスクリプトで以下のコマンドを実行すると、WriteAノードの1-20フレームのみをレンダリングすることができます。

nuke -X WriteA myscript.nk 1-20

 

Q. .nkファイル内に含まれる複数のWriteノードをレンダリングする場合に、それぞれ異なるフレームレンジで書き出しを行いたい。

A. 複数のWriteノード毎に異なるframe rangeを指定するには、.nkファイル内のWriteノードで[limit to range]チェックボックスおよび[frame range]の項目を使用することができます。

[limit to range]チェックボックスをチェックし、編集可能になった[frame range]に、そのWriteノードでレンダリングを行うフレーム数を入力してください。

write

この設定を保存した.nkファイルをレンダリングすると、それぞれのWriteノードで設定したフレームレンジで画像が作成されます。

 

関連リンク: