Deadline経由でSolaris(LOP)のレンダリングジョブを送信すると、標準ではHoudiniがコマンドラインで起動され(HBatch/Hythonの実行)、USD Render ROPが処理されます。その際バックエンドでHusk+Arnoldデリゲートによるレンダリングが行われますが、プロセス自体はHoudiniアプリケーションなので各レンダーノードにHoudini系のライセンスが必要になります。
これはデフォルトの挙動です。つまり、そのままでは各レンダリングクライアントでHoudiniライセンスをチェックアウトするのは想定通りということになります。
現状、DeadlineにはSolaris用(USD/Husk用)の公式な専用サブミッタープラグインが十分整備されておらず、標準では上記のようにHoudiniを介した方法になります。そのため、レンダリングノード数だけHoudiniライセンス(フルのFX/CoreかEngineのいずれか)が必要になります。
https://forums.thinkboxsoftware.com/t/official-houdini-solaris-husk-submitter/30214/16
Houdiniライセンスを節約するには
Houdini Engine(Batch)ライセンスの活用:
商用版Houdiniの場合、GUIの無いバッチ処理には安価な「Houdini Engine」ライセンスを利用できます。DeadlineでHoudiniジョブを動かす際も、デフォルトでHBatch/HythonはまずEngineライセンスを使用する設定になっています(環境変数やライセンス優先順位でEngine→Core→FXの順に取得)
レンダーファーム用に十分なEngineライセンスを用意すれば、各ノードが誤って高価なフルライセンス(FX/Core)を消費するのを防げます。Deadline設定でEngineライセンスのみに制限を掛けることも可能です(例:ライセンスの種類ごとに使用制限を設定し、Engine以外をファームで使わないようにする)。
Huskスタンドアロンの直接利用
USDを書き出した後にHuskコマンドを直接各ノードで実行する方法もあります。
Husk(Houdini USD Renderer)はHoudiniに同梱されたUSDレンダラーで、Hydraデリゲート(Arnoldを含む)を利用してUSDシーンをバッチレンダリングできます
Huskは前述の通り各マシンでHoudiniライセンスサーバーに接続する必要こそありますが、実行時に個別のライセンスをチェックアウトしないため、ライセンスサーバーに商用ライセンスが1つでもあれば多数のHuskレンダープロセスを動かせる利点があります。Solarisからレンダリングする際は通常Huskが使われます。Husk自体はHoudiniの一部であり、動作にはHoudiniのライセンスサーバー接続が必要ですが、Huskはバッチライセンス(Houdini Engineライセンス)を実際にチェックアウトしない仕様です。ライセンスサーバーに有効なHoudiniライセンスが存在しない環境では起動できませんが(エラーメッセージが出ます)、ライセンスサーバーに商用ライセンスがあればHuskプロセス自体は個別のライセンスを消費せずに動作可能です。
そのため「手元のHoudiniでUSDを書き出し、レンダーファーム上ではHuskのみを用いてレンダリング」という構成にすれば、追加のHoudiniライセンス消費なしでArnoldレンダリングが可能です。Thinkboxフォーラムのユーザも、このアプローチでKarmaレンダリングを行うカスタムツールを公開しており、Arnoldでも同様の応用が考えられます。
https://forums.thinkboxsoftware.com/t/houdini-solaris-arnold/29688/2
https://support.borndigital.co.jp/hc/ja/articles/10983939916953
Huskを使う以上Houdiniインストール環境がクライアントに必要であり、設定やデバッグにやや専門知識を要します。
USDを書き出してArnoldスタンドアロンでレンダリング
ArnoldにはHoudini非依存のコマンドラインレンダラー(例えばkickコマンド)があり、USDやArnold独自のシーンファイル(.ass)を直接レンダリングできます。こちらを使う場合、Houdiniのプロセスを介さないためHoudiniライセンスは不要で、Arnold用のライセンスのみでレンダリングが可能です。
具体的には、レンダリング開始前に1度Houdini(またはHBatch)を起動してUSDシーンをディスクに出力します(この工程で1つのHoudiniライセンスを使用)。その後、各レンダーノードではHoudiniを使わずに、Autodesk Arnoldのコマンド(例: kick)でそのUSDを読み込んでレンダリングを行います。この方法ならレンダーノード側ではArnoldのライセンスだけを消費し、Houdiniライセンスは不要です。
ArnoldはUSDを直接レンダリングできる機能やUSDプロシージャル読み込みに対応しており、この手法でSolarisから出力されたUSDシーンを問題なくレンダリングできます。多少手動工程は増えますが、大規模レンダリングではHoudiniライセンス消費を大きく削減できるため有効です。