まとめ
この記事では、Python 経由で Frame Server を使用してNukeスクリプトをレンダリングする方法について説明します。
詳しくは
NukeまたはNuke Studioでは、GUI でローカルに実行したり、 Nukeのターミナル セッションを使用したり、フレーム サーバーを使用したりするなど、いくつかの異なる方法を使用してレンダリングを実行できます。
Frame Server を使用すると、 Nuke複数のNukeプロセスを使用して作業をローカル マシンまたはネットワーク上の他のマシンに分散することにより、レンダリング時間を短縮できます。 Frame Server の詳細については、以下を参照してください。
Nuke 11.0v1 では、以下に示すように、[レンダリング] ダイアログの [フレーム サーバーを使用してレンダリング] オプションNukeチェックすることで、 NukeスクリプトをNuke GUI からフレーム サーバー上でレンダリングできます。
これにより、レンダリング ジョブがバックグラウンド レンダリング キューに追加され、 Nukeプロセスが利用可能になったときにレンダリングが開始されます。
Frame Server を使用して Python 経由でNukeスクリプトをレンダリングするには、レンダリングする必要があるものに応じて使用できるコマンドが 2 つあります。
from hiero .ui.nuke_bridge import FnNsFrameServer
#Queue background render of all the frames for a script
FnNsFrameServer.renderScript("C:/temp/test.nk")
#Queue background render of a range of frames for a script
FnNsFrameServer.renderFrames("C:/temp/test.nk", "1-10", "Write1", ["main"])
これらのコマンドでは、フレーム サーバーがレンダリングできるようにするために、 Nukeスクリプトを保存する必要があります。これらのコマンドをnuke .scriptSaveAs()
コマンドと組み合わせて、レンダリング可能なスクリプトの一時バージョンを保存し、レンダリング中にスクリプトが誤って更新されるのを防ぐことができます。
これらは、パイプラインの要件に応じて、カスタム メニュー/Python 関数で実行することも、スクリプト エディターで直接実行することもできます。
renderScript()
関数は、関数で呼び出されたNukeスクリプト内のフレームのすべての書き込みノードのすべてのビューをレンダリングします。
一方、 renderFrames()
関数は、リストされた書き込みノードとスクリプト内の定義されたビューに対して指定されたフレームのみをレンダリングします。
私たちはそれを聞いて申し訳ございません
理由をお聞かせください