次の項目は別ページに分割しました。
関連ページ:
グローバルイルミネーション
リアルタイム 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 マニュアル [公式]
目次
- 1 概要
- 2 導入
- 3 設定
- 4 Lightmap UVs
- 5 ライトモード (Light Mode)
- 6 事前計算
- 7 リアルタイムライティング
- 8 混合ライティング (Mixed Lighting)
- 9 減法混色 (Subtractive)
- 10 ライトマップをベイクする (Lightmap)
- 11 ライトマッピング/ライトマッパー (Lightmapper)
- 12 シャドウマスク (Shadowmask)
- 13 指向性モード (Directional Modes)
- 14 ライトマップパラメーター (Lightmap Parameters)
- 15 資料
- 16 フォーラム
- 17 ロードマップ
- 18 Sponza HDRP (Kristijonas Jalnionis)
- 19 H-Trace
概要
参考:
Unity でのグローバルイルミネーションの基礎知識 | LIGHT11
導入
参考:
グローバルイルミネーション基礎知識/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 Error:UV 展開において許容する角度の歪みを指定する。(デフォルト:
8
%) - Area Error:UV 展開において許容する面積変化の比率を指定する。(デフォルト:
15
%)
参考:
Generate Lightmap UVs で綺麗になるか? | ウーパの手習い
Generate Lightmap UVs On/Off の考察 | ウーパの手習い
Unity 5 でライトをベイクした結果が汚い | おもちゃラボ
ライトマップ用 UV の作り方 (UV2) | バーチャルマーケット2021
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 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 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 する! | 黒猫洋品店
ライトマッピング/ライトマッパー (Lightmapper)
- プログレッシブライトマッパー
- CPU
- GPU (プレビュー)
- Enlighten (非推奨)
参考:
シャドウマスク (Shadowmask)
シャドウマスクモード (Shadowmask Mode)
メニューから「編集 > プロジェクト設定」 (Edit > Project Settings) を開いて、「品質 > Shadows > シャドウマスクモード」 (Quality > Shadows > Shadowmask Mode) で設定する。
- シャドウマスク (Shadowmask):静的オブジェクトは常にベイクした影を使用する。
- 距離シャドウマスク (Distance Shadowmask):カメラから「シャドウディスタンス」 (Shadow Distance) で指定した距離より近い範囲ではリアルタイムの影を計算し、それより遠い範囲ではベイクした影を使用する。(デフォルト)
参考:
Shadowmask – ライティングモード | Unity マニュアル [公式]
Shadowmask Mode – Quality | Unity マニュアル [公式]
指向性モード (Directional Modes)
- Directional:光源の指向性を考慮して反射を計算する。余分にテクスチャメモリを使用して計算量も多くなるためシェーディング負荷が高い。
- Non-Directional:ノーマルマップを使用せず均一な拡散を仮定するために計算負荷は低いが、面はフラットに表現される。
参考:
指向性のモード | Unity 2018.4 マニュアル [公式]
ライトマップパラメーター (Lightmap Parameters)
参考:
Lightmap Parameters アセット | Unity マニュアル [公式]
資料
フォーラム
Global Illumination | Unity Forum
ロードマップ
参考:
Global Illumination | Unity Product Roadmap [Official]
Sponza HDRP (Kristijonas Jalnionis)
ライセンス:
CC0 1.0 Universal
動画:
リポジトリ:
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
参考: