ここでは Unity のライティングの仕組みを紹介します。
Unity のライティングは、現実世界でのライトの動きを近似することで機能します。Unity はよりリアルな結果を引き出すためのライトの働きの詳細なモデルや、より様式化された結果を引き出すためのより簡易なモデルを使用します。
直接光は、放射され、一度サーフェスに当たり、その後、直接センサー (例えば、目の網膜やカメラ) に映ります。間接光は最終的にセンサーに映るその他のライトすべてを指します。サーフェスに数回当たるライトやスカイライトがその例です。現実的なライティング結果を得るには、直接光と間接ライトの両方をシミュレートする必要があります。
Unity は直接光、間接光、または直接光と間接光の両方を計算できます。Unity が使用するライティング技術は、プロジェクトの設定方法によって異なります。
リアルタイムライティングは、Unity がランタイムにライティングを計算します。ベイクしたライティングは、Unity が事前にライトの計算を行い、その結果をライティングデータとして保存し、ランタイムに適用する方法です。Unity では、プロジェクトはリアルタイムのライティング、ベイクしたライティング、またはこれら 2 つを混合したライティング (混合ライティングと呼ばれます) を使用できます。
リアルタイムライティング、ベイクしたライティング、または混合ライティングに寄与する Light コンポーネントの設定については、ライトモード を参照してください。
Global illumination (GI、グローバルイルミネーション) は、直接ライティングと間接ライティングの両方をモデル化して、現実的なライティング結果を提供する一群のテクニックです。Unity には、直接と間接ライティングを組み合わせた 2 つのグローバルイルミネーションシステムがあります。
ベイクしたグローバルイルミネーションシステムは、ライトマップ、ライトプローブ、反射プローブ で構成されています。プログレッシブなライトマッパー (CPU または GPU) または Enlighten によるベイクしたグローバルイルミネーションでベイクできます。ただし、Enlighten によるベイクしたグローバルイルミネーションは非推奨であり、デフォルトではユーザーインターフェースに表示されなくなりました。詳細は、Enlighten によるベイクしたグローバルイルミネーションを使用したライトマッピング を参照してください。
リアルタイムグローバルイルミネーションシステムは、Enlighten リアルタイムグローバルイルミネーション です。
各種レンダーパイプラインのライティング機能のサポートに関する詳細は、レンダーパイプライン機能の比較 を参照してください。