【CG】ライティングのビルドを複数PCで分散処理しよう【UE4】

Pocket
email this

UE4のライティングのビルド、やっぱ最後の仕上げだとどうしても時間がかかります。
分散レンダリングみたいなことできないかなあ。と思ったらできるんですね。

注意:もし何かトラブルが発生しても一切責任は負いません。自己責任でお願いします。


やってみよう

 最初に設定したのがもう2年くらい前なのでどこのURLを参考にしたのか忘れてしまいましたが(確か英語だったような。)、以下の図みたいに設定すればいけます。

 SwarmAgent.exeを起動し、[Settings]タブを開き、以下の内容を設定します。このexeは<Epic Games¥UE_4.**¥Engine¥Binaries¥DotNET¥>にあります。
 ざっくり言ってしまうと共有したい全PCのSwarmAgent.exeのSettings内容を全部同じにすればとりあえず動きます。

Distribution Settings項目の以下だけいじります。

  • AgentGroupName
  • The name of the agent group to which this machine belongs.
    このPCが所属するグループの名前。

  • AllowedRemoteAgentGroup
  • The name of the agent group jobs can be distributed to.
    処理を割り当てるグループの名前。
    グループなんて1つしか作りませんからAgentGroupNameと同じにしました。

  • AllowedRemoteAgentNames
  • The remote machine filter string.
    リモートするPC名を羅列します。IPアドレスではなくてPC名の方がいいみたいです。
    区切りは「 」(半角スペース)「,」(半角コンマ)「;」(半角セミコロン)です。
    私はワイルドカードは使わずに全部手入力しました。なんとなく。
    ワイルドカードも使えるようですが、正直よくわかってないので処理対象の全PCのマシン名を記述しました。

  • CoordinatorRemotingHost
  • The name of the machine hosting the Coordinator.
    ホストPC名を指示します。
    これは全PCともに同じ内容にします。たぶん必ず。

ちなみに公式にこれが正解なのかどうかは不明です。すみません。

なおUE4自体のバージョンは異なっていても問題ないみたいです。現に私は親PCにUE_4.19を入れ、子PCにUE_4.12を入れています。

ディスク容量が気になる方とか、全PCにUE4を入れるのが面倒だという方は、<Epic Games¥UE_4.*¥Engine¥Binaries¥DotNET¥>フォルダのみを子PCにコピーするだけでもちゃんと動きます。(この方法が公式に認められているかは別です。)

完成

 CoordinatorRemotingHostで指定したホストPCでSwarmCoordinator.exeを起動します。
 数十秒ほど待つと連携が取れているPC名が表示されます。
 準備OKだとStateの列に「Available」と表示されます。

 あとはどれかのPCでライティングのビルドを実行してみましょう。

 ちゃんと動いています。4台連携の場合、1時間ほどかかるものが20分くらいまで短縮しました。


参考サイト






コメントを残す