runAsClone(start_port=0, end_port=-1, debug=False, block=False, print_port=False, connection_timeout_seconds=-1)
このメソッドは、ホストプロセスからのコネクションを受信するためのネットワークポートを開きます。 一度接続されると、ホストプロセスは、hipファイルの内容とそのホストプロセスで加えられた変更内容を送信します。 このプロセスは、ホストプロセスと一致するようにネットワークの状態を維持し、レンダリング画像をホストに送り返します。
グラフィカルHoudiniプロセスと非グラフィカルHoudiniプロセスのどちらもがクローンとして動作することができます。
グラフィカルHoudiniプロセスをクローンとして使用するのはデバッグで役に立ちますが、通常では、クローンプロセスは非グラフィカル(hbatch
またはhython
)で使用します。
Note
同期は、ホストからクローンへの一方向です。 クローンプロセス内で加えられた変更内容はホストプロセスには送信されず、ホストからの今後の変更の同期で問題が発生する可能性があります。
一般的には(デバッグを除く)、ホストプロセスが接続解除されるまで、ユーザ入力とクローンプロセスの操作が許可されないブロッキングモードでクローンプロセスを実行するのが最も簡単です。
ブロッキングモードは、block
パラメータで制御します。
start_port
ホストがコネクションを確立するために開くことができる最小TCP/IPポート番号。
デフォルト値の0
は、どのポート番号も使用可能であることを示します。
一部のレンダーファームセットアップでは、ホストからクローンプロセスへのコネクションが特定のポートにのみ許可されています。
このような制限は、ホストとクローンマシン間のファイアーウォールの設定で異なります。
end_port
ホストコネクションを受信するために開くことができる最大TCP/IPポート番号。
デフォルト値の-1
は、start_port
より高ければどのポート番号も許容します。
debug
クローンプロセスのネットワークデバッグモードを設定します。
これをTrue
に設定すると、ネットワークイベントが追加でログに記録されます。
block
ユーザによるこのプロセスの操作をブロックするかどうかを制御します。 このブロックは、ホストプロセスがこのクローンに接続されている限り(または、ホストコネクションが確立されずに接続タイムアウトが経過するまで)継続します。
print_port
これをTrue
に設定すると、このプロセスはポート番号を標準出力ストリームに出力します。
この出力の形式は、HOUDINI_CLONE_PORT=12345
です。
このポートのプリントは、たいていの場合、ホストプロセス(たいていの場合、クローンプロセスを起動するホストプロセス)がクローンプロセスに接続する際に使用可能なポート番号を知る上で必要です。
クローンのポート番号を知る他の唯一の方法は、start_port
とend_port
のパラメータを同じ値に固定することです。
connection_timeout_seconds
このメソッドがホストコネクションが確立されるまでに待機する時間を指定します。 この時間を過ぎると、接続を諦めて、接続ポートが閉じられます。 この設定は、レンダーファームでのゾンビプロセスを回避するのに役立ちますが、ホストプロセスがクローンとの通信を確立するのに十分な時間を割り当てるようにしてください。