グローバルイルミネーション

リアルタイム GI

Enlighten を使用してリアルタイムに GI の影響を計算する。「ライティング」 (Lighting) ウィンドウの「シーン」 (Scene) タブで、「リアルタイムライティング > リアルタイムグローバルイルミネーション」 (Realtime Lighting > Realtime Global Illumination) を有効にする。

**DEPRECATED**

Enlighten が廃止されるため、リアルタイム GI も廃止される。廃止予定であったが代替手段がすぐに用意されず、Unity 2024 LTS まではサポートが予定されている。

ベイク済み GI

「ライティング」 (Lighting) ウィンドウの「シーン」 (Scene) タブで、「混合ライティング > ベイクしたグローバルイルミネーション」 (Mixed Lighting > Baked Global Illumination) を有効にする。

公式サイト:

グローバルイルミネーション | Unity 2018.4 マニュアル [公式]

概要

参考:

Unity でのグローバルイルミネーションの基礎知識 | LIGHT11

導入

参考:

入門ライティング設定!- Qiita

ライティングを軽く触ってみた – Qiita

グローバルイルミネーション基礎知識/STYLY への反映方法 | STYLY

設定

参考:

Lighting ウィンドウ | Unity 2019.4 マニュアル [公式]

Lightmap UVs

継ぎ目の縫合 (Stitch Seams)

ライトマップの継ぎ目が目立つのを解消したい場合は、ゲームオブジェクトの Mesh Renderer コンポーネントで、「Lighting  > Lightmap Settings > Stitch Seams」を有効にする。(プログレッシブライトマッパーで使用できる。)

Generate Lightmap UVs
  • Hard Angle三角ポリゴンの成す角度が指定した角度より大きい (鋭い) 場合にハードエッジ (ライトマップ UV の継ぎ目) として扱う。180 度に設定すると全てのエッジを滑らかにする。(デフォルト88 度)
  • Pack Marginライトマップをパッキングする際のマージンを指定する。(デフォルト4 ピクセル)
  • Angle ErrorUV 展開において許容する角度の歪みを指定する。(デフォルト8 %)
  • Area ErrorUV 展開において許容する面積変化の比率を指定する。(デフォルト15 %)

参考:

Generate Lightmap UVs で綺麗になるか? | ウーパの手習い

Generate Lightmap UVs On/Off の考察 | ウーパの手習い

Unity 5 でライトをベイクした結果が汚い | おもちゃラボ

ライトマップ用 UV の作り方 (UV2) | バーチャルマーケット2021

UV Overlap の対処法 | おねむゲーマーの備忘録

UV の働きを検証する | Tsumiki Tech Times

グローバルイルミネーションの UV | Unity 2018.4 マニュアル [公式]

Generating Lightmap UVs | Unity 2018.4 マニュアル [公式]

UV の重複 | Unity 2018.4 マニュアル [公式]

ライトマップの継ぎ目の縫合 | Unity 2018.4 マニュアル [公式]

Unity 5 の Lightmap で使用される UV について | ユニティ・テクノロジーズ・ジャパン株式会社 [公式]

ライトモード (Light Mode)

  • リアルタイム (Realtime)
  • 混合 (Mixed)
  • ベイク (Baked)

参考:

ライトモード | Unity マニュアル [公式]

ライティングモード | Unity 2018.4 マニュアル [公式]

リアルタイムライティング | Unity 2018.4 マニュアル [公式]

混合ライティング | Unity 2018.4 マニュアル [公式]

ベイクしたライティング | Unity 2018.4 マニュアル [公式]

事前計算

  • Realtime GI
  • Probes
    • Ambient Probes
    • Reflection Probes
  • Baked GI

参考:

事前計算されたライティングの使用 | Unity マニュアル [公式]

Generating Lighting Data | Unity マニュアル [公式]

リアルタイムライトが Static なオブジェクトに対し、妙に強く反映される問題の解決法 | テラシュールブログ

Precomputed Realtime GI の事前計算はいつなのかという話 | 土屋つかさの技術ブログは今か無しか

リアルタイムライティング

  • カメラから「シャドウディスタンス」で指定された距離より近い範囲で影を生成する。
  • リアルタイム GI によって間接光の影響を反映させる。(負荷が高い)
こちらのページを参照

参考:

Unity の Realtime GI を試してみる/Emission のオンオフをしよう – Qiita

リアルタイムライティング | Unity 2018.4 マニュアル [公式]

混合ライティング (Mixed Lighting)

  • ベイク済み間接光 (Baked Indirect)間接光としてベイク済み間接光を使用し、直接光はリアルタイムに計算する。
  • 減法混色 (Subtractive)静的オブジェクトに対して直接光をテクスチャにベイクする。動的オブジェクトの直接光はリアルタイムに計算する。
  • シャドウマスク (Shadowmask)Shadow Distance 以内はリアルタイムに直接光を計算し、範囲外はベイク済みのシャドウを使用する。(負荷が高い)

参考:

ライトモードを Mixed にした時の設定について | LIGHT11

ベイクした影とリアルタイムな影を混ぜる新しい幾つかの手法と、その他諸々 | テラシュールブログ

混合ライティング | Unity 2018.4 マニュアル [公式]

Baked Indirect モード | Unity 2018.4 マニュアル [公式]

Shadowmask | Unity 2018.4 マニュアル [公式]

ライティングモード | Unity マニュアル [公式]

ライティングモード | Unity 2018.4 マニュアル [公式]

減法混色 (Subtractive)

特徴
  • 直接光をベイクする。(静的オブジェクトでランタイムに直接光を計算しない。)
  • 静的オブジェクトはスペキュラーを表示しない。(視点に依存するため事前計算ができない。)
  • 静的オブジェクト上に落ちる動的オブジェクトの影は Main Directional Light に限られる。
動的オブジェクト
  • リアルタイム直接光
  • リアルタイムシャドウ (Main Directional Light)
  • ライトプローブ (Light Probe) による間接光及びシャドウ
静的オブジェクト
  • ライトマップによる直接光、間接光、静的なシャドウ
  • 動的オブジェクトのシャドウ (Main Directional Light)
設定
  • リアルタイムのシャドウカラー (Realtime Shadow Color)リアルタイムに計算されるシャドウの色

参考:

Subtractive | Unity 2018.4 マニュアル [公式]

ライトマップをベイクする (Lightmap)

こちらのページを参照

参考:

表現方法から見た実践的なライトとベイクの設定方法 | LIGHT11

Lightmap を使用して雰囲気のある影を作成 | PointCloudConsortium

Unity 2018 で Lightmap を綺麗に Bake する! | 黒猫洋品店

ライトのベイク方法簡易まとめ | mi

ライトマッピング/ライトマッパー (Lightmapper)

  • プログレッシブライトマッパー
    • CPU
    • GPU (プレビュー)
  • Enlighten (非推奨)
こちらのページを参照

参考:

ライトマッピング | Unity マニュアル [公式]

シャドウマスク (Shadowmask)

シャドウマスクモード (Shadowmask Mode)

メニューから「編集 > プロジェクト設定」 (Edit > Project Settings) を開いて、「品質 > Shadows > シャドウマスクモード」 (Quality > Shadows > Shadowmask Mode) で設定する。

  • シャドウマスク (Shadowmask)静的オブジェクトは常にベイクした影を使用する。
  • 距離シャドウマスク (Distance Shadowmask)カメラから「シャドウディスタンス」 (Shadow Distance) で指定した距離より近い範囲ではリアルタイムの影を計算し、それより遠い範囲ではベイクした影を使用する。(デフォルト)

参考:

Shadowmask – ライティングモード | Unity マニュアル [公式]

Shadowmask Mode – Quality | Unity マニュアル [公式]

シャドウディスタンス | Unity マニュアル [公式]

指向性モード (Directional Modes)

  • Directional光源の指向性を考慮して反射を計算する。余分にテクスチャメモリを使用して計算量も多くなるためシェーディング負荷が高い。
  • Non-Directionalノーマルマップを使用せず均一な拡散を仮定するために計算負荷は低いが、面はフラットに表現される。

参考:

指向性のモード | Unity 2018.4 マニュアル [公式]

ライトマップパラメーター (Lightmap Parameters)

参考:

Lightmap Parameters アセット | Unity マニュアル [公式]

資料

光と影 (PDF) | しずおかアプリ部

フォーラム

Global Illumination | Unity Forum

ロードマップ

参考:

Global Illumination | Unity Product Roadmap [Official]

Sponza HDRP (Kristijonas Jalnionis)

Sponza HDRP

ライセンス:

CC0 1.0 Universal CC0

動画:

Sponza HDRP

リポジトリ:

radishface/Sponza: HDRP Remaster of the Classic Sponza Scene – GitHub

参考:

Sponza HDRP | Kristijonas Jalnionis

H-Trace

Screen-Space Horizon-Based Tracing Algorithm

  • Realtime GI
  • Ambient Occlusion
  • Single Pass
  • HDRP

H-Trace

参考:

H-Trace: Global Illumination and Occlusion | Unity Forum

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA