Unity では、リアルタイムグローバルイルミネーションに Enlighten というミドルウェアソリューションを使用しています。
デフォルトでは、リアルタイムライトはシーンに対して直接ライティングの効果しか与えません。シーンで Realtime Global Illumination (Enlighten リアルタイムグローバルイルミネーション) を有効にすると、リアルタイムライトもシーンに間接ライティングの効果を与えるようになります。
レンダーパイプライン間での Enlighten を使用したリアルタイムグローバルイルミネーションのサポートについては、レンダーパイプラインの機能比較を参照してください。
Enlighten リアルタイムグローバルイルミネーション (リアルタイム GI)は、ゆっくりと変化し、シーンに大きな影響を与えるライトに有効です。例えば、空を横切る太陽や、閉ざされた廊下でゆっくりと点滅するライトなどです。この機能は、特殊効果や急に変わるライトを意図したものではありません。待ち時間と必要な CPU サイクルの数により、そのようなアプリケーションは実用的ではないためです。Enlighten リアルタイム GI は、ミッドレベルからハイエンドの PC システムやコンソールをターゲットとしたゲームに適しています。一部のハイエンドモバイルデバイスでも十分この機能に適応するものもありますが、パフォーマンスを確保するためには、シーンを小さくして、リアルタイムライトマップの解像度を低く保つ必要があります。
Enlighten リアルタイム GI は以下の処理を行います。
ランタイムに、Enlighten リアルタイム GI はこの事前計算された可視性情報を使用して、シーン内でリアルタイムライトがどのように反射するかを概算し、結果を一群のライトマップに保存し、これらのライトマップを使用してシーンに間接ライティングを適用します。ライトマップの更新は計算負荷が高いため、処理は複数のフレームに分割されます。Enlighten のリアルタイム GI がシーン全体の間接ライティングに変更を伝播するのに、数フレームかかります。