開発環境によっては、ライティング、シャドウ、ジオメトリの計算負荷が重く、広いオープンワールドのレンダリングには時間を要することがあります。プロジェクトのビルド時間を短縮する方法はいくつかあります。「推奨される仕様」を超えてハードウェアをアップグレードしたり、Unreal Swarm のあるタスク分散システムを利用して「高品質なスタティック グローバル イルミネーション」を解決するなど、高負荷な計算の実行時間を短縮できます。
Unreal Swarm とは
Unreal Swarm は一般的なアプリケーションおよびタスク分散システムで、2 つのアプリケーション タイプがあります。1 つはビルド タスクを分散するコーディネーター、もう 1 つはホスト システムのリソースを使用して割り当てられたジョブを完了するエージェントです。
Swarm を設定した後、Swarm Coordinator がネットワーク上の Swarm Agent のジョブとタスクを管理します。
要件
Unreal Swarm の設定を始める前に、以下の点をご確認ください。
ネットワーク内の少なくとも 1 台のマシンに Unreal Engine 4 (UE4) がインストールされていることを確認してください。このマシンを使って Swarm Coordinator を起動することになります。「Unreal Engine をインストールする」を参照してください。
- Swarm Agent として使用するそれぞれの Windows マシン上に、Unreal Engine および Unreal Editor を実行に必要な前提条件をインストールしてください。以下の手順で完了できます。
- 「ハードウェアおよびソフトウェア要件」のページにあるリンクからダウンロードできる、必要なバージョンの DirectX エンドユーザー ランタイムをインストールしてください。
- 「ハードウェアおよびソフトウェア要件」のページに記載されているように、Unreal Engine にバンドルされている前提条件インストーラを実行してください。
- Epic Games Launcher と Unreal Engine をインストールします。
- Unreal Swarm は現在 Windows のみで実行されます。ライト ビルドの開始に使用するマシン、および分散計算に使用するすべてのマシンは、Unreal Engine によってサポートされている Windows のバージョンで実行する必要があります。
- 計算負荷の高いタスク用にレンダリングファームを設定する場合は、IT 部門と連携して Swarm Coordinator と Swarm Agent をホストすることになるマシンに対して適切な権限を与えてください。
Swarm Coordinator の設定
使用するマシンを決定して UE4 をインストールできたら、Swarm Coordinator を設定する準備の完了です。次の手順を実行してください。
- UE4 をインストールしたら、
[UE4ROOT]\Engine\Binaries\DotNET.
に移動します。 - ネットワーク上の他のマシンへタスク分散を行うマシン上で、新しいディレクトリを作成します。説明をわかりやすくするため、新しいディレクトリに
Swarm Coordinator
という名前を付けます。 - 次に、次のファイルを
[UE4ROOT]\Engine\Binaries\DotNET
フォルダから新しく作成したディレクトリに移動 (またはコピー) します。- AgentInterface.dll
- SwarmCommonUtils.dll
- SwarmCoordinator.exe
- SwarmCoordinator.exe.config
- SwarmCoordinatorInterface.dll
- SwarmInterface.dll
- UnrealControls.dll
- 最後に、自分のマシンでアプリケーションが実行できることを確認するために、先に進み Swarm Coordinator の実行ファイルをダブルクリックします。
Swarm Agent がすでにデプロイされている場合、Swarm Coordinator はその エージェント ダイアログ ウィンドウ (1) と 再起動設定エリア (2) を表示します。
この時点では、アプリケーションを使用して何もする必要はないため、そのまま次のセクションに進み、そこで Swarm Agent をセットアップします。
Swarm Agent をデプロイする
Swarm Coordinator を設定したら、Swarm Agent がデプロイできるようになります。エージェントをホストするマシンを決定したら、次の手順に従います。
- Swarm Agent をホストする各マシンに、新しいディレクトリを作成します。説明をわかりやすくするため、新しいディレクトリに
Swarm Agent
という名前を付けます。 - 次のファイルを
[UE4ROOT]\Engine\Binaries\DotNET
フォルダから新しく作成したディレクトリ (SwarmAgent.exe 、AgentInterface.dll、SwarmCommonUtils.dll、SwarmCoordinatorInterface.dll、SwarmInterface.dll、および UnrealControls.dll) に直接移動 (またはコピー) します。 - エージェントをデプロイするには、Swarm Agent 実行ファイルをダブルクリックします。
- Swarm Agent を起動すると、Windows の通知領域 に [Swarm] アイコンが表示されます。[Swarm] アイコンをダブルクリックして、アプリケーションのメインメニューを開きます。
- Swarm Agent を設定するには、[Settings (設定)] タブをクリックします。
[Developer Settings (デベロッパー設定)] を有効にするには、ShowDeveloperMenu フラグ ([Settings] > [Developer Settings]) を 「True」 に設定します。
エージェントの設定を更新すると、Swarm エージェントは設定を
SwarmAgent.Options.xml
に書き出すこと留意してください (デベロッパー設定が有効になっている場合はSwarmAgent.DeveloperOptions.xml
に書き出します) 。 - [Distribution Settings (分散設定)] ドロップダウンメニューで、「CoordinatorRemotingHost」 フィールドを探し、ホストコンピュータの IPv4 アドレス を入力します。
コンピュータの IPv4 アドレス がわからない場合は、コマンドプロンプト から
ipconfig
を実行してください。 - システムの IPv4 アドレス を 「CoordinatorRemotingHost」 フィールドに入力したくない場合は、コーディネーターの DNS 名 を入力できます。
- 最後に、Swarm Coordinator を開くと、デプロイされた Swarm Agent の詳細が表示されます。
エージェントグループの設定
エージェント グループを設定すると、実行クラスタを作成するのに役立ちます。たとえば、あるマシンのセットがレンダリングファームの一部ではないグループに属しているのに対して、別のクラスタがそのファームに属するマシンを持っている場合です。
はじめに、[Settings (設定)]> [Distribution Settings (分散設定)] メニューを開きます。
エージェントグループを設定するには、まず、このエージェントをデプロイするグループジョブを指定します。たとえば、ここでは、このエージェントを [AllowedRemoteAgentGroup] 設定の「FarmGroup」ジョブにデプロイするように指定しています。
このエージェントを「FarmGroup」ジョブにデプロイする場合は、[AgentGroupName] が [AllowedRemoteAgentGroup] と一致していることを確認してください。次の例では、このエージェントの「FarmGroup」ジョブへのデプロイを無効化しています。
エージェントの [Distribution Settings] についてさらに詳しく知りたい場合は、次の表を参照してください。実行クラスタ内の各エージェントに指定できる残りのプロパティを網羅した便利なメモです。
設定 | デフォルト値 | 説明 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AgentGroupName | デフォルト | この Swarm Agent が属するエージェントグループの名前です。 | ||||||||||||
AllowedRemoteAgentGroup | DefaultDeployed | この Swarm Agent のデプロイ先となるエージェント グループジョブの名前です。 | ||||||||||||
AllowedRemoteAgentNames | RENDER* | (「 」、「,」、「;」で区切られた) リモートマシンで使用されているフィルタ文字列です。 | ||||||||||||
AvoidLocalExecution | False | このフラグを このフラグを設定すると、スレッドの優先順位が Swarm Cache を管理するSwarm Agent をデプロイしたら、エージェントの Swarm Cache の管理を行ってください。通常、エージェントの Swarm Cache の管理というのは、エージェントのキャッシュ設定の更新、キャッシュのクリア、キャッシュの検証のことを言います。 エージェントのキャッシュ設定を更新するには、[Settings (設定)]> [Cache settings (キャッシュ設定)] メニューに移動します。 このメニューから、エージェントの キャッシュ設定 を更新できます (下記参照) 。
さらに、Swarm Agent によって割り当てられたタスクを完了するために使用されるホスト マシンのキャッシュを消去したい場合は、[Cache (キャッシュ)] メニューの 「Clean」 コマンドを呼び出します。 最後に、マシンのキャッシュを検証したい場合は、[Cache (キャッシュ)] メニューの 「Validate」 コマンドを呼び出します。 特に Unreal の Lightmass がクラッシュしてビルドが失敗するような場合は、Swarm Cache を定期的にクリーニングして検証することをお勧めします。 エージェント ログの読み方[Log (ログ)] タブをクリックすると、Swarm Agent のログメッセージがフラッシュされる [Log] ウィンドウが開きます。 [Log] ウィンドウにフラッシュされる出力の量を指定したい場合は、「MaximumJobApplicationLogLines」 変数 ( [Developer Settings (デベロッパー設定)] > [Log Settings (ログ設定)] メニューにあります) を更新して、[Log] ウィンドウの出力行数を切り捨てる前に、「Job」アプリケーションからの出力行数を変更します。 デバッグやメンテナンスを目的として 「AgentLog」 *テキスト ファイルを配置する必要がある場合は、すべてのジョブの始めと終わりに、Agent のアクティビティが 通常、ディスク上のファイルに対するデフォルトのロギング レベルは 「ExtraVerbose」 に設定されていますが、Swarm Agent の [Log] ウィンドウに対するデフォルトのロギング レベルは 「Informative」 に設定されています。 [Log] 出力の詳細度を変更したい場合は、[Settings (設定)] > [Log Settings (ログ設定)] メニューにある 「Verbosity」 変数を更新してください。 進捗状況を監視する割り当てられているジョブおよびタスクに作用するエージェントの進捗状況を監視したい場合は、[Swarm Status] ウィンドウを開きます。 エージェントが実行されると、マシンごとに進捗バーが表示されます。各進捗バーには、アプリケーションが初期化中か (1)、作業準備中か (2)、分散作業中か (3) が表示されます (1 と 2 は、分散を行っているわけではありません)。 ジョブの進行状況に関する詳細を表示するには、マウスカーソルを進捗バーの上に置きます。 最後に、下部にある [Distributed Progress] バーに、完了したジョブの割合 (4) と現在処理中のジョブの割合 (5) が表示されます。 Swarm Agent を停止するSwarm Agent を停止するには、[File (ファイル)]> [Exit (終了)] をクリックしてアプリケーションを閉じ、そのプロセスを終了します。 または、Windows の通知領域 にある [Swarm] アイコンを右クリックして、[Exit (終了)] コマンドを選択します。 この時点では、Swarm Coordinator と Swarm Agent は最小限の動作で実行されます。ライト、オブジェクト、処理の必要な計算の数を考えると、十分なエージェントがあれば Unreal の Lightmass のビルドは数時間もかからず、数分で完了するはずです。 ビルド パフォーマンスを向上させるには、(作業中のシーンのサイズと複雑さを含む) 開発環境に合わせてローカルマシン上に確保されているコアの数を見直すことをお勧めします。見直しするには、[Developer Settings (デベロッパー設定)] > [Local Performance Settings (ローカルパフォーマンス設定)] メニューにある 「LocalJobsDefaultProcessorCount」変数を調整してください。 Unreal Swarm の実行に関して一般的な質問がある場合は、以下のよくある質問を参照してください。 よくある質問 (FAQ)
Swarm Agent と Coordinator を使用する際にビルド時間を短縮する方法を教えてください。
エージェントが分散されないのですが。Remote Swarm Agent は、ジョブの実行を拒否することがあり、それにはいくつか理由があります。その理由の中で最も一般的なのは、Remote Swarm Agent がすでに他のジョブに取り組んでおり、余裕がないということです。もう 1 つの可能性は、Remote Swarm Agent がその時点でジョブを引き受けるには忙しすぎると判断することです。これは、マシンがコンパイルやコンテンツのクックなどのリソース集約型の処理を行っていることが原因です。エージェントのウィンドウの [Swarm Status] タブに、ビルドに役立つ可能性があるすべてのリモートエージェントの完全なリストが表示されます。そのうちの 1 つが現在利用できない場合は、ビルドの他の部分と一緒に白いバーがティック表示されます。そして、バーの上にマウスを置くと、「Waiting for remote to become available (リモートが利用可能になるのを待っています)」というメッセージが表示されます。 また、利用可能なリモート エージェントを調べるためのより高度な方法は、[Log (ログ)] タブをクリックして [Network (ネットワーク)] メニューから [Ping Remote Agents (リモートエージェントからのピン)] を選択することです。ビルドをしていないときでも利用可能です。リモートマシンとそれらの現在の状態のリストが表示されます。 ライティングをビルドするときに CPU 使用量を制限するには?[Swarm] > [DeveloperSettings (デベロッパー設定)] タブから、LocalJobDefaultProcessCount と RemoteJobDefaultProcessorCount を使用して、ローカルマシンとリモートマシンのライティング ビルド中に使用される CPU コアの数を制限できます。 ローカルマシンでは、その作業に使用する CPU をほんの数コアに制限し、他のタスクを快適に実行できるようにするために十分なコア数を残すことをおすすめします。デフォルトでは、この作業のためにいくつかのコアが解放されたままになります。しかし、ライトのビルド計算をもっと処理できるように分散タスクをローカルに残して作業するために利用可能なコアがもっと必要になることもあります。 Swarm Agent を起動しようとすると、「UnrealLightmass.exe」に対して Windows アプリケーションのエラーが発生しますが、どういう意味ですか?
Swarm Agent と Swarm Coordinator は Mac または Linux でサポートされていますか?現在、Swarm Agent と Swarm Coordinator は Windows でのみサポートされています。Mac および Linux 上でのライト ビルドはローカルのみのビルドになります。 GPU を使用したライティングのビルドは可能ですか?Swarm は現在、ライティング データ用に GPU の計算をサポートしていません。 以下のエラーはどういう意味ですか?
|
||||||||||||
CoordinatorRemotingHost | RENDER-01 | Swarm Coordinator をホストしているマシンの名前です。このフィールドには、コーディネーターの DNS 名またはコーディネーターの IPv4 アドレスのいずれかの文字列を入力できます。 | ||||||||||||
EnableStandaloneMode | オフ | このフラグを True に設定すると、出力および入力タスクに対して分散システムが無効になります。 |
Swarm Cache を管理する
Swarm Agent をデプロイしたら、エージェントの Swarm Cache の管理を行ってください。通常、エージェントの Swarm Cache の管理というのは、エージェントのキャッシュ設定の更新、キャッシュのクリア、キャッシュの検証のことを言います。
エージェントのキャッシュ設定を更新するには、[Settings (設定)]> [Cache settings (キャッシュ設定)] メニューに移動します。
このメニューから、エージェントの キャッシュ設定 を更新できます (下記参照) 。
設定 | デフォルト値 | 説明 |
---|---|---|
CacheFolder | [ディスクのフォルダ]/SwarmCache | キャッシュフォルダの場所です。大容量で高速なドライブ上にあります。 |
MaximumCacheSize | 10 | キャッシュフォルダのおよその最大サイズをギガバイト単位で示します。 |
MaximumJobsToKeep | 5 | 以前にログを記録してデータを出力したジョブの数です。 |
さらに、Swarm Agent によって割り当てられたタスクを完了するために使用されるホスト マシンのキャッシュを消去したい場合は、[Cache (キャッシュ)] メニューの 「Clean」 コマンドを呼び出します。
最後に、マシンのキャッシュを検証したい場合は、[Cache (キャッシュ)] メニューの 「Validate」 コマンドを呼び出します。
特に Unreal の Lightmass がクラッシュしてビルドが失敗するような場合は、Swarm Cache を定期的にクリーニングして検証することをお勧めします。
エージェント ログの読み方
[Log (ログ)] タブをクリックすると、Swarm Agent のログメッセージがフラッシュされる [Log] ウィンドウが開きます。
[Log] ウィンドウにフラッシュされる出力の量を指定したい場合は、「MaximumJobApplicationLogLines」 変数 ( [Developer Settings (デベロッパー設定)] > [Log Settings (ログ設定)] メニューにあります) を更新して、[Log] ウィンドウの出力行数を切り捨てる前に、「Job」アプリケーションからの出力行数を変更します。
デバッグやメンテナンスを目的として 「AgentLog」 *テキスト ファイルを配置する必要がある場合は、すべてのジョブの始めと終わりに、Agent のアクティビティが [Folder on Disk]\SwarmCache\Logs
にログインしていることを確認することが重要です。
通常、ディスク上のファイルに対するデフォルトのロギング レベルは 「ExtraVerbose」 に設定されていますが、Swarm Agent の [Log] ウィンドウに対するデフォルトのロギング レベルは 「Informative」 に設定されています。 [Log] 出力の詳細度を変更したい場合は、[Settings (設定)] > [Log Settings (ログ設定)] メニューにある 「Verbosity」 変数を更新してください。
進捗状況を監視する
割り当てられているジョブおよびタスクに作用するエージェントの進捗状況を監視したい場合は、[Swarm Status] ウィンドウを開きます。
エージェントが実行されると、マシンごとに進捗バーが表示されます。各進捗バーには、アプリケーションが初期化中か (1)、作業準備中か (2)、分散作業中か (3) が表示されます (1 と 2 は、分散を行っているわけではありません)。
ジョブの進行状況に関する詳細を表示するには、マウスカーソルを進捗バーの上に置きます。
最後に、下部にある [Distributed Progress] バーに、完了したジョブの割合 (4) と現在処理中のジョブの割合 (5) が表示されます。
Swarm Agent を停止する
Swarm Agent を停止するには、[File (ファイル)]> [Exit (終了)] をクリックしてアプリケーションを閉じ、そのプロセスを終了します。
または、Windows の通知領域 にある [Swarm] アイコンを右クリックして、[Exit (終了)] コマンドを選択します。
この時点では、Swarm Coordinator と Swarm Agent は最小限の動作で実行されます。ライト、オブジェクト、処理の必要な計算の数を考えると、十分なエージェントがあれば Unreal の Lightmass のビルドは数時間もかからず、数分で完了するはずです。
ビルド パフォーマンスを向上させるには、(作業中のシーンのサイズと複雑さを含む) 開発環境に合わせてローカルマシン上に確保されているコアの数を見直すことをお勧めします。見直しするには、[Developer Settings (デベロッパー設定)] > [Local Performance Settings (ローカルパフォーマンス設定)] メニューにある 「LocalJobsDefaultProcessorCount」変数を調整してください。
Unreal Swarm の実行に関して一般的な質問がある場合は、以下のよくある質問を参照してください。
よくある質問 (FAQ)
- Unreal Swarm とは
- 要件
- Swarm Coordinator の設定
- Swarm Agent をデプロイする エージェント グループの設定
- Swarm Agent を停止する
- よくある質問 Swarm Agent と Coordinator を使用する際にビルド時間を短縮する方法を教えてください。 エージェントが分散されないのですが。 ライティングをビルドするときに CPU 使用量を制限するには? Swarm Agent を起動しようとすると、「UnrealLightmass.exe」に対して Windows アプリケーションのエラーが発生しますが、どういう意味ですか? Swarm Agent と Swarm Coordinator は Mac または Linux でサポートされていますか? GPU を使用したライティングのビルドは可能ですか? * 以下のエラーはどういう意味ですか?
Swarm Agent と Coordinator を使用する際にビルド時間を短縮する方法を教えてください。
- プレイヤーがアクセス可能な領域にLightmass Importance Volumeを追加します。
- このボリュームは、Lightmass の正確性と質にこだわりたいときに使用します。これを使用すると、プレイヤーがいる領域をカバーできます。ボリュームの外側の領域は、より少ない光子を受け取るので、結果として品質が低下します。ある領域を囲むために単一のボリュームを使用する場合、光子計算を重要な領域に集中させるというボリュームの目的に反することに注意してください。
- ライトマップ解像度を調整する
- シーン内にスタティック メッシュがあり、それら個々が高いライトマップ解像度と多くの光の寄与がある場合、シーンだけでなく単一のアクタに対するビルド時間も長くなる可能性があります。可能であれば、高品質の結果を得るためにライトマップの解像度を低くして、[Statistics (統)] ウィンドウでレベルに対して単一のアクタをビルドするのに要した時間を把握するようにしてください。ライトマップ解像度を高く設定している大きな (または複雑な) スタティック メッシュに対して良好な結果を得るには、それを別々の小さなメッシュに分割するか、または可能な場合はライトマップ UV を作り直して、この問題を軽減できるか検討してください。
-
フォリッジ ツール ライトマップ解像度を有効にする
-
フォリッジをレベルにペイントするときに使用するインスタンス化されたスタティックメッシュでは、参照しているスタティックメッシュのライトマップ解像度が自動的に使用されます。レベルで何百もの (あるいは何千もの) フォリッジをペイントしている場合、そのメッシュのライトマップ解像度がシステムで扱うには高くなりすぎる可能性があります。また、それにより、指数関数的にビルド時間が長くなったり、メモリ使用量の制約によって Lightmass がクラッシュする潜在的な可能性をもたらしたり、テクスチャメモリの消費量がより増えたりすることにつながります。
[Light Map Resolution (ライトマップの解像度)] を有効にしてデフォルト値の「8」を使用するか、より低い値である「4」に設定することをお勧めします。これにより、すべてのインスタンスの解像度は低下します。しかし、動的シャドウはカメラの近くで処理される一方で、静的シャドウは遠くのオブジェクトのみ表示できればよいため、視覚で認知される品質の低下は最小限に抑えられます。
-
-
シーンにあるアクタやライトの数を減らします。
- レベル内のシャドウキャスティングアクタやライトの数は、ライティングを計算するときのこれらすべての相互作用を考慮する必要があることを意味します。単一のライトが相互作用するアクタの数を制限するには、ライトを減らすことが重要です。大きな領域に影響を与えなくて良いライトの影響半径を小さくすると、計算数が減るため処理中のライトのビルドが速くなります。
-
推奨よりも高いシステム仕様を使用します。
- Swarm Agent は CPU の計算量が多く、負荷が重いプロセスです。ローカルマシンのみを使用している場合は、高性能な CPU と大容量の RAM を使用すると、ビルド処理時間を短縮できます。ただし、前述の他の要因もビルド処理時間に影響を与えることに注意してください。
エージェントが分散されないのですが。
Remote Swarm Agent は、ジョブの実行を拒否することがあり、それにはいくつか理由があります。その理由の中で最も一般的なのは、Remote Swarm Agent がすでに他のジョブに取り組んでおり、余裕がないということです。もう 1 つの可能性は、Remote Swarm Agent がその時点でジョブを引き受けるには忙しすぎると判断することです。これは、マシンがコンパイルやコンテンツのクックなどのリソース集約型の処理を行っていることが原因です。エージェントのウィンドウの [Swarm Status] タブに、ビルドに役立つ可能性があるすべてのリモートエージェントの完全なリストが表示されます。そのうちの 1 つが現在利用できない場合は、ビルドの他の部分と一緒に白いバーがティック表示されます。そして、バーの上にマウスを置くと、「Waiting for remote to become available (リモートが利用可能になるのを待っています)」というメッセージが表示されます。
また、利用可能なリモート エージェントを調べるためのより高度な方法は、[Log (ログ)] タブをクリックして [Network (ネットワーク)] メニューから [Ping Remote Agents (リモートエージェントからのピン)] を選択することです。ビルドをしていないときでも利用可能です。リモートマシンとそれらの現在の状態のリストが表示されます。
ライティングをビルドするときに CPU 使用量を制限するには?
[Swarm] > [DeveloperSettings (デベロッパー設定)] タブから、LocalJobDefaultProcessCount と RemoteJobDefaultProcessorCount を使用して、ローカルマシンとリモートマシンのライティング ビルド中に使用される CPU コアの数を制限できます。
ローカルマシンでは、その作業に使用する CPU をほんの数コアに制限し、他のタスクを快適に実行できるようにするために十分なコア数を残すことをおすすめします。デフォルトでは、この作業のためにいくつかのコアが解放されたままになります。しかし、ライトのビルド計算をもっと処理できるように分散タスクをローカルに残して作業するために利用可能なコアがもっと必要になることもあります。
Swarm Agent を起動しようとすると、「UnrealLightmass.exe」に対して Windows アプリケーションのエラーが発生しますが、どういう意味ですか?
- このタイプのエラーは、UE4 が直接の原因となっていない何かによって Windows での起動が妨げられていることを表しています。以下は、問題を解決するためのいくつかの手順です。
- 適切で最新の Visual Studio 依存関係がインストールされていることを確認してください。Unreal Engine バージョン 4.9 以前の場合は VS2013 の依存関係が必要です。4.10 以降の場合は VS2015 の依存関係が必要になります。
- それでも問題が解決しない場合、無料のアプリケーション (たとえば Dependency Walker) を使用して、「UnrealLightmass.exe」の読み込みを妨げている可能性がある「DLL」ファイルの問題の解決を試みてください。
Swarm Agent と Swarm Coordinator は Mac または Linux でサポートされていますか?
現在、Swarm Agent と Swarm Coordinator は Windows でのみサポートされています。Mac および Linux 上でのライト ビルドはローカルのみのビルドになります。
GPU を使用したライティングのビルドは可能ですか?
Swarm は現在、ライティング データ用に GPU の計算をサポートしていません。
以下のエラーはどういう意味ですか?
- Lightmass Crashed with "Ran out of memory allocating [値]"
-
このエラーは、Swarm Agent が Lightmass のメモリ不足のため、Lightmass のデータ処理に失敗していることを表しています。これは、Swarm Coordinator を使用して、すべての作業を 1 台のマシンで実行する必要がある複数のエージェント間でビルドを分散していない場合に最もよく発生します。Lightmass は、多くのアクタとライトのある大きなレベルを計算するとき、またはライトマップの解像度が高すぎると、メモリ不足になる可能性があります。
ローカルマシンの RAM 容量を増やしたり、分散用のエージェントを追加したり、可能であればアクタのライトマップの解像度を下げたり、プレイヤーがアクセス可能な重要な領域の計算にフォーカスを当てている Lightmass Importance Volume を追加することで、このエラーを回避できます。
-
Lightmass Crashed with
"Assertion Failed: (Index >=0)&(Index<ArrayNum))"
-
このエラーが発生したら、Swarm Cache を削除して検証する必要があります。
-
エディタのトースト ポップアップで、「Light Build Failed.Swarm failed to kick off.」と表示されます。
-
Unreal Editor からライティングをビルドしようとすると、このメッセージが表示されることがあります。以下は、それが表示されたいくつかの一般的な理由です。
- Swarm Agent の複数のインスタンスを開いて実行していないことを確認してください。これを確認するには、実行中のタスク処理を確認するか、Windows の 通知領域 を確認します。
- レベル内でのレベルやアクタの破損。
- ファイアウォール ソフトウェア、アンチウイルス ソフトウェアで「SwarmAgent.exe」の例外設定が正しく行われていません。
- エンジンのインストールまたは破損の問題。ランチャーを使用している場合は、エンジン バージョンのドロップダウンを選択して [Verify (確認)] を選択します。
- Unreal の Lightmass のソースビルドに関する問題。Unreal の Lightmass を再ビルドします。
-
Swarm がそれでも起動に失敗する場合、そのポートが別のシステムプロセスによって使用されている可能性があります。
- Swarm Log を開き、以下のエラーメッセージを確認してください。
-
Exception details: System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 123.456.7.89:8009
ポート割り当てに関するこの問題を解決するためには、IT 部門と連携してください。Swarm が正しく機能するためには、特にポート「8008」と「8009」が必要となるからです。これらのポートがないと、エージェントやコーディネーターを起動できません。そして、これは UE4 が原因で発生する問題ではありません。
-