This is the documentation for Enlighten.
13. レベルのプリコンピュート
Enlighten がライティングをリアルタイムで更新するためには、Enlighten プリコンピュートを実行する必要があります。これにより、レベルに対して Enlighten データが作成されます。
プリコンピュートを実行する前に、レベルが Enlighten 向けに適切に構成されていることを確認します。この方法については、4. ビギナー向けチュートリアルを参照してください。
Enlighten プリコンピュートを実行する
- Build メニューから Enlighten Precompute を選択します。
プリコンピュートが開始します。GeoPrecompMonitor が開き、Enlighten プリコンピュートの進捗状況が表示されます。
プリコンピュートが実行中であることを示す通知。
プリコンピュートの実行中もエディタを使用できます。 - プリコンピュートが完了したら、Apply Now をクリックします。操作を行わない場合、プリコンピュートは自動的に適用されます。
プリコンピュートに長い時間がかかる場合は、レベルが Enlighten 向けに適切に構成されていることを確認します。この方法については、チュートリアルの「4.2 Unreal で Enlighten を最初から設定する」を参照してください。
プリコンピュートのバリエーション
Build > Build Enlighten メニューでバリエーションを使用すると、さまざまな役に立つプリコンピュート機能を実行することができます。
- ライトマップ UV をすばやく生成するには、Enlighten Parameterize を実行します。これにより、Enlighten ライトマップの視覚化が有効になります。
- シーンをエクスポートして GeoRadiosityで表示およびデバッグするには、Export Only と Open in GeoRadiosity を使用します。
Build > Enlighten > Re-runオプションは、最後に選択された Enlighten プリコンピュートのバリエーションを再実行します。
ワールドの一部のみをプリコンピュートする
ワールドの限られた部分のプリコンピュート結果をすばやく確認する場合は、ワールドの一部のみをプリコンピュートに含めることができます。
多くのサブレベル があるワールドでは、含めたいレベルのみを Levels ウィンドウで表示します。
現在のレベルまたは選択したアクタのみをプリコンピュートするように選択することもできます。Build > Build Enlighten > Precompute にあるオプションを使用して、All Levels、Current Level、または Selected Actors を選択します。
プリコンピュートに含まれるアクタにのみ、プリコンピュートの完了後、有効な Enlighten ライティングが適用されます。その他のすべてのアクタの Enlighten ライティングは無効化されます。この場合、マップ チェック (Build > Map Check) を実行すると警告が表示されます。
正しい間接光を実現するには、すべてのサブレベルを表示して、All Levels に対してプリコンピュートを実行します。
プリコンピュートを分散する
IncrediBuild がすでにインストールされている場合、Enlighten はすべての利用可能なエージェントでプリコンピュートを自動的に分散します。Enlighten プリコンピュートは、IncrediBuild for Dev Tool Acceleration ライセンス オプションを必要とします。
IncrediBuild でのパフォーマンスを最大限に高めるには、各 IncrediBuild エージェントのファイル キャッシュを以下のように構成します。
- Size: 32767 MB
- Folder: 高速ローカル ストレージ (SSD など) 上の任意のパス
プリコンピュートにかかる時間は、利用可能な論理コアの数にほぼ反比例して減少します。CPU の使用を最大限に高めるには、ハイパースレッディングによって提供される追加の論理コアを利用可能にします。たとえば、ハイパースレッディング搭載の 8 コア CPU は、最大 16 の論理コアで分散プリコンピュートに対応できます。
各エージェントでプリコンピュートを実行するのに十分なメモリを確保するため、分散プリコンピュートに使用される論理コアにはそれぞれ、少なくとも 2 GB の物理メモリを搭載します。
プリコンピュートのオプション
プリコンピュートの速度を上げるために、Enlighten は以前のプリコンピュートの結果を再利用します。以前のプリコンピュートで古いバージョンの Enlighten が使用されていた場合、予期しないエラーが発生することがあります。
強制的に新規のプリコンピュートを実行するには、Build > Build Enlighten > Clean Output を使用して Enlighten 出力ファイルをクリーンアップします。
デフォルトでは、Enlighten は IncrediBuild または SN-DBS (利用可能な場合) を使用してプリコンピュートを分散します。
強制的にローカル (非分散) プリコンピュートを実行するには、Build > Enlighten Settings > Precompute Distributor > Local を選択します。
プリコンピュートを自動化する
EnlightenPrecompute コマンドレットを使用すると、コマンドライン スクリプトを使用して Enlighten データのビルドを自動化できます。
Enlighten Precompute コマンドレットを実行するには、以下のコマンドを使用します。
UE4Editor <プロジェクト> -run=EnlightenPrecompute <マップ名> -AllowCommandletRendering -AutoCheckOutPackages
これにより、指定されたマップに対して Enlighten プリコンピュートが実行され、変更されたパッケージがソース管理からチェックアウトされ、保存されます。
強力な GPU は必要ありません。Enlighten はプリコンピュートの実行後にアルベド テクスチャをレンダリングするため、コマンドレットは D3D コンテキストを必要とします。このため、コマンドレットを実行しているマシンでインタラクティブ セッションが必要になります (GPU および UE4 の前提条件も必要です)。
Build And Submit を実行する場合も、UE4 はレベルに対して Enlighten データをビルドし、送信します。現時点では、Build And Submit は、別の uasset ファイルに保存されている Enlighten データへの変更の送信をサポートしていません。