Q100252: bashスクリプトを使用して Nuke のフレームサーバーのセットアップを自動化する

まとめ

フレームサーバーを外部マシンにセットアップするのは、長いPythonコマンドを実行する必要があるため、面倒な場合があります。しかし、基本的なbashスクリプトを使って、これを最適化できる簡単な方法がいくつかあります。この記事では、その方法を説明します。

詳細情報

フレームサーバーのレンダリングマシンは、ターミナルまたはコマンドプロンプトから実行されるPythonコマンドで初期化できます。Pythonコマンドの詳細については、 Nukeドキュメントの「外部マシンでのフレームサーバーの使用」セクションをご覧ください。

レンダリングマシンの初期化を簡素化する最良の方法は、bashスクリプトを書くことです。パイプラインの複雑さに応じて、単純なエイリアスから専用UIを備えたカスタムツールまで、さまざまな方法があります。

ウィンドウズ

値の置き換えの詳細 (ワークステーション名など) はシェル環境によって異なる場合がありますが、この記事に添付されている非常にシンプルなwindows_MakeRenderMachine.batファイルを使用すると、次の形式でフレーム サーバーを実行できます。MACHINE_NAME_OR_IP、このコマンドを実行するマシンをフレーム サーバーにするメイン ワークステーションの名前または IP に置き換えます。

C:\path\to\file\windows_MakeRenderMachine.bat MACHINE_NAME_OR_IP

.bat ファイル自体は、デフォルトのレンダリング マシンの設定 (ワーカー数、スレッド、メモリ、 Nukeバージョンなど) に合わせて調整できます。

doskey(またはエイリアス)を作成することで、さらに簡単に実行できます。Windowsでは、以下のようになります。

doskey MakeRenderMachine=C:\path\to\file\windows_MakeRenderMachine.bat $*

注: $*は、引数 (この例ではワークステーション名) を渡すことができるため重要です。

最後のコマンドはコマンド プロンプトのどこからでも実行でき、次のようになります。

MakeRenderMachine MACHINE_NAME_OR_IP

リナックス

Linux では、ホーム ディレクトリにある .bashrc ファイルに次の内容を保存して永続化することができます。

MakeRenderMachine()
{
/usr/local/ Nuke 16.0v4/python3 /usr/local/ Nuke 16.0v4/pythonextensions/site-packages/ foundry /frameserver/ nuke /runframeserver.py --numworkers=2 --nukeworkerthreads=4 --nukeworkermemory=8096 --workerconnecturl=tcp://$1:5560 --nukepath=/usr/local/ Nuke 16.0v4/ Nuke 16.0
}

このコマンドは、デフォルトのレンダリング マシンの設定 (ワーカー数、スレッド、メモリ、 Nukeバージョンなど) に合わせて調整することもできます。

これを設定したら、次のようにコマンドを実行できます。

MakeRenderMachine MACHINE_NAME_OR_IP

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

理由をお聞かせください