グローバルイルミネーション
事前計算されたライティングの利用

ライティングウィンドウ

ライティングウィンドウ (menu: Window > Lighting) は Unity のグローバルイルミネーション (GI) の機能のための主なコントロールのポイントです。Unity で GI はデフォルトの設定でも良好な結果を与えますが、ウィンドウのプロパティーは、シーンをカスタマイズしたり、必要とする品質、スピードおよびストレージスペースを最適化するために、GI プロセスの多くの状況を調整することができます。このウィンドウには、5.0 以前の Unity バージョンで Render Settings の下で利用可能であった照明関連の設定が含まれています。これらには、アンビエントライト、ハロー、クッキーおよび霧が含まれています。

概要

ライティングウィンドウのコントロールは、3つのタブで分割されています。

  • Object タブでは、シーン内のオブジェクトのサブセットを選択し、それらの設定を変更できます。これは GI の計算に参加する必要があるオブジェクトを選択するため、および、オブジェクトのグループに一貫して設定を適用するために非常に便利です。

  • Scene タブには、個々のオブジェクトよりもむしろシーン全体に適用される設定があります。この設定はライティングエフェクトと最適化オプションを制御します。

  • Lightmaps タブは、GI プロセスによって生成されたライトマップアセットファイルを示します。

タブは、以下にすべて詳細に記載されています。

選択されているタブに関係なく、ウィンドウの下の方に Auto チェックボックスがあります。有効にした場合、これはシーンを編集しながら、ライトマップデータを更新することができます(通常、アップデートは、瞬時に起こるのではなく、2,3秒かかってしまう点に注意してください)。Auto が無効になっている場合は、チェックボックスの右側にある Build ボタンがアクティブになります; 必要とするとき、lightmap updates をトリガーするボタンを使ってください。Build ボタンにも、反射プローブをベイクしたり、(GI キャッシュをクリアせずに)シーンからベイクしたデータをクリアするオプションのドロップダウンメニューがあります。

Auto チェックボックスの下に、ライトマップの統計情報を示す小さなパネルがあります。

オブジェクトタブ

オブジェクトタブでは、オブジェクトのグループを選択して、それらに設定を適用することができます。

タブの最上位には、オブジェクトの特定のタイプのヒエラルキービューを制限する Scene Filter ボタンのセットがあります: Lights 、Renderers 、Terrains 。すべてを選択すると、いつものようにヒエラルキービューが表示されます。

他のボタンのいずれかを選択した場合は、ヒエラルキービューはちょうどそれらのオブジェクトタイプを表することに限定されています。これは基本的に、もっとも一般的なケースのために、標準ヒエラルキービューフィルタにアクセスするだけの速い方法です。

フィルタが現在選択しているオブジェクトには影響しないことに注意してください。 だから、ヒエラルキーが lights だけを表示するようにフィルタする場合でも、選択された terrain object を有することが可能です。

フィルタボタンの関連は、3つのオブジェクトタイプのそれぞれが独自のプロパティーセットを持つということです。以下に各々を詳細に記述します。

Lights

light オブジェクトの場合、オブジェクトタブは、基本的に light コンポーネントの標準インスペクターパネルと同じ情報が表示されます。特に GI に影響を及ぼす特性は、BakingBounce Intensity です。

Baking は、もし、Baked GI が選択されている場合に light をベイクする必要があるかどうかを選択できます。Mixed は、それもベイクしますが、それは非 static オブジェクトに、直接照明を与えるために、実行時にまだ存在します。Realtime は、Precomputed Realtime GI とグローバルイルミネーションを使用していないときの両方のために動作します。

Bounce Intensity は間接光の強度を変化させることができます(すなわち、あるオブジェクトから別のオブジェクトにバウンスされた光です)。値は、GI システムによって計算されるデフォルトの明るさの倍数です; Bounce Intensity に1より大きい値を set した場合、バウンスされた光はより明るくなっていき、1未満の値では、暗くなっていきます。たとえば、影の暗い表面(例えば洞穴の内部)の詳細を見えるようにするために明るくレンダリングする必要があるとき、これは役に立ちます。または、あるいは、一般的に Precomputed Realtime GI を使用したいが、唯一の直接光を与えるために、単一の光を制限したいしたい場合、そのバウンスの強さを0に設定することができます。

レンダラー

レンダラのために、次のプロパティーが用意されています。

プロパティー: 説明:
Lightmap Static これは、オブジェクトの位置が固定されていることを Unity に示しているので、それは GI と共有しなければなりません。オブジェクトは Lightmap Static としてマークされていない場合、それはまだ ライトプローブ を使用して点灯させることができます。
Scale in Lightmap この値は、このオブジェクトのために使用されるライトマップテクスチャのピクセル数に影響を与えます。デフォルト値の1.0では、オブジェクトに使用されるライトマップのピクセル数は、表面積にのみ依存します(すなわち、すべてのオブジェクトの単位面積当たりの画素数が同じ)。値を1.0より大きくすると、このオブジェクトのために使われるピクセル数(つまりライトマップの解像度)が増え、値を1.0未満にすると、減少します。このプロパティーを使う事で、ライトマップを最適化する事ができます。それにより、詳細に造られた重要度の高いエリアが、より正確に表示されるようになります。例えば、暗色の平坦な壁で構成されている建物だけなら、ライトマップのスケール値が低くてもきれいに見えるかもしれませんが(1.0未満)、カラフルなオートバイのコレクションをあわせて表示する場合は、スケール値を高くした方が良いかもしれません。
Preserve UVs Unity は、ストレージとパフォーマンスの性能特性からリアルタイムライトマップ用テクスチャの UV 座標を再計算することができます。しかし、その再計算処理は、元の UV マッピングの不連続性について、時々誤判断をすることに注意してください。例えば、わざとシャープにしてあるエッジを、継ぎ目部分に意図せずできてしまった不自然な差と誤判断し、結果、連続面として扱ってしまう事があります。Preserve UVs を有効にすると、オブジェクトからのライトマップ UV はアーティストが意図した効果を保持するライトマップに変換されます。Preserve UVs をオフにすると、Unity はベイクした UV をベースとし、隣接する“charts”に加えるため、可能な限りライトマップを小さくするようにライトマップ UV を計算します。この計算は以下の二つの設定を基準にしています(max distance と max angle)。リアルタイムチャートは、周囲のハーフピクセルの境界線と共にパックされます。これにより、レンダリング時のもれを確実に無くします。
Auto UV Max Distance Enlighten は UV チャートをマージすることでシンプルな UV を自動で生成することができます。ワールド空間によるチャート間の距離がこの値よりも小さい場合にチャートが簡略化されます。
Auto UV Max Angle Enlighten は UV チャートをマージすることでシンプルな UV を自動で生成することができます。ワールド空間によるチャート間の角度がこの値よりも小さい場合にチャートが簡略化されます。
Important GI オブジェクトから反射されるか、発される光が、他のオブジェクトに目立つように影響を与える可能性があると Unity に伝えます。このオブジェクトによって作成された微妙な照明エフェクトが離れて最適化されていないことが確実です。
Advanced Parameters 現在のオブジェクトを選択するために ライトマップパラメータ のセットを選択するか、作成できるようにします。

Terrains

Terrains のために、プロパティーは、レンダラーのために利用できるそれらのサブセットです。

プロパティー: 説明:
Lightmap Static これは、オブジェクトの位置が固定されていることを Unity に示しているので、GI と共有しなければなりません。オブジェクトは Lightmap Static としてマークされていない場合、それはまだ Light Probes を使用して点灯させることができます。
Scale in Lightmap この値は、このオブジェクトのために使用されるライトマップテクスチャのピクセル数に影響を与えます。1.0のデフォルト値は、オブジェクトのために使用されるライトマップピクセルの数が表面積にのみ依存しています(すなわち、すべてのオブジェクトの単位面積当たりの画素数が同じ)。1.0未満の値は、それを減少させ、1.0より大きい値はこのオブジェクトのために使われるピクセルの数(すなわち、ライトマップ解像度)を増やします。重要な、かつ詳細にエリアをより正確に点灯するように、ライトマップを最適化するために、このプロパティーを使用することができます。
Advanced Parameters 現在のオブジェクトを選択するために ライトマップパラメータ のセットを選択するか、作成できるようにします。Terrains に設定されたデフォルトパラメータは、Very Low Resolution ビルトインセットです。

シーンタブ

シーンタブには、個々のオブジェクトとは対照的に、全体的なシーンに適用される設定が含まれています。シーンタブで彼らの名前の次のチェックボックスをクリックすることで、Precomputed Realtime GIBaked GI 機能を有効、または、無効にできることに注意してください。

プロパティー: 説明:
Environment Lighting
Skybox skybox は空や他の遠くの背景をシミュレートするために、シーン内の他のすべての背後に表示された画像です。このプロパティーは、シーンに使用する skybox asset を選択することができます。
Sun プロシージャルスカイボックスを使う場合、この設定で “太陽” (もしくはシーンを照らす大きくて遠い光源) を表すディレクショナルライトオブジェクトの、方向を決められます。 None に設定すると、シーンで一番明るいディレクショナルライトが太陽の代わりになります。
Ambient Source Ambient light は、シーンをとりまいて存在する、特定のソースオブジェクトから来ていない光です。ambient light のソースのための3つのオプションがあります。Colorは、単にシーン内のすべての ambient light のためにフラットな色使用しています。Gradient は、空、地平線および地面からの ambient light に個別に色を選択することと、それらの間をスムーズにブレンドができます。Skybox は、(前述のプロパティーで指定されている場合)異なる角度からの ambient light を決めるためにスカイボックスの色を使用します。これは、単純な Gradient オプションよりも正確なエフェクトを可能にします。
Ambient Intensity シーン内での ambient light の明るさ。
Ambient GI ambient light を処理するために使用されなければならない GI モード(Precomputed Realtime または Baked)を指定します。両方のモードがシーンのために使用可能でない場合、このプロパティーはエフェクトがありません。
Reflection Source 反射エフェクトにスカイボックスを使用するか(デフォルト設定)、または、代わりにキューブマップを使用するか、指定できます。スカイボックスをソースとして選択した場合、追加のオプションで、反射用スカイボックスの解像度を設定する事ができます。
Reflection Intensity 反射するオブジェクトに、反射のソース ( skybox または cubemap ) が映り込む度合です。
Reflection Bounces 1つのオブジェクトからの反射が、その後、別のオブジェクトによって反射される反射 “bounce” を起こします。反射は リフレクションプローブ を使用して、シーンに取り込まれます。このプロパティーを使用すると、プローブによって、オブジェクト間を前後にバウンスする回数を設定することができます。1に設定すると、(Reflection Source プロパティーで指定されている skybox または cubemap からの)最初の反射だけが考慮されます。
Precomputed Realtime GI
Realtime Resolution これは、リアルタイム GI によって照らされるオブジェクトの、長さ1単位ごとに使われるテクセル数(すなわち、“texture pixels” )を設定します。単位当たりの解像度は、通常は適度な値になっていますが(シーン内のオブジェクトのサイズに依存します)、terrains や巨大なオブジェクトがある場合、一般的には、解像度を下げたいと思うでしょう。解像度を下げるには、ライトマップパラメータ または、Mesh Renderer’s Scale In Lightmap プロパティーを使用することができます。Realtime と Baked の GI が両方とも有効の場合、このプロパティーも Indirect Resolution を設定することに注意してください。 - 以下の Baked GI プロパティーを参照してください。
CPU Usage これは、実行時に realtime GI の評価に消費される CPU 時間の、おおよその値を設定できます。 CPU 使用率が高いと、ライティングの処理も早くなりますが、フレームレート等に影響する場合があります。これは、エディターで行われる事前計算プロセスの CPU 使用率には影響しません。GI に割り当てられたスレッド数を増やすと、CPU使用率が高くなる事に注意してください。 したがって、多くのコアを持つプロセッサは、パフォーマンスヒットが少ないことになります。
Baked GI
Baked Resolution これは、baked GI で照らされているオブジェクトのために、長さの単位当たりに使用されるテクセル(すなわち、“texture pixels” )の数を設定します。これは、一般的に、Realtime Resolution(上記の Precomputed Realtime GI を参照)よりも約10倍高く設定されています。
Baked Padding baked lightmap の別々の形状の間を分離します(テクセル単位)。
Compressed baked lightmap テクスチャは、圧縮するべきでしょうか?ライトマップを圧縮すると、ファイルサイズはより少なくなりますが、圧縮プロセスにより、テクスチャには意図しないノイズがのる事になります。
Indirect Resolution ( Precomputed Realtime GI が無効の場合にのみ使用可能)間接照明計算の分解能。Precomputed Realtime GI を使用した場合、Realtime Resolution に等しいです。
Ambient Occlusion ambient occlusion (すなわち、内側の角部における周囲光の部分閉塞)の表面の相対的な明るさ。値が大きいほど、閉塞エリアと完全に照らされてるエリア間により大きなコントラストを示します。これは、GI システムによる間接照明計算にのみ適用されます。
Final Gather final gather オプションを有効にすると、GI の計算で、最終的な光のバウンスは baked lightmap と同じ解像度で計算されます。これはライトマップの画質を向上させますが、エディターでベイク時間のコストが追加になります。
General GI
Directional Mode ライトマップは、オブジェクトの表面上の各点における支配的な入射光に関する情報を格納するように設定することができます。Directional モードでは、第二のライトマップは、入射光の支配的な方向を格納するために生成されます。これは GI で動作するように、normal mapped materials を拡散させることができます。Directional Specular モードでは、鏡面反射と法線マップを組み込んだ完全な陰影を可能にするために、さらにデータが格納されます。Non-directional は、これらの両方オのプションをオフに切り替えます。Directional モードは、追加のライトマップデータの約2倍くらいのストレージスペースが必要です; Directional Specular は、さらに4倍のストレージスペースが必要で、また、2倍程度のテクスチャメモリを必要とします。詳細について、Directional ライトマッピング 上のページを参照してください。
Indirect Intensity 最終的な lightmap に反映される、間接光(環境光や、オブジェクトが放射した光、オブジェクトで反射した光)の明るさのスケーリング値です。デフォルトのスケーリングは、1.0に設定されています; 1.0より小さい値では、輝度が下がり、1.0より大きい値は、輝度を上げます。
Bounce Boost 表面から他の表面上にバウンスする光の量を増加させるためのスケーリング値。デフォルト値は、増加がないことを示す1.0です。
Default Parameters Unity は Lighting window の特性に加えて、ライトマッピングのための一般的なパラメータのセットを使用しています。いくつかのデフォルトは、このプロパティーのメニューから使用できますが、Create New オプションを使用して、独自のライトマップパラメータファイルを作成できます。詳細については、ライトマップパラメータ ページを参照してください。
Atlas Size フルライトマップテクスチャのピクセルのサイズに、個々のオブジェクトのテクスチャのための別の領域が組み込まれています。
Fog
Fog Color 色はシーンに霧を描画するために使用されます。注:霧は Deferred レンダリングパス と使用できません。
Fog Mode fogging の方法は、カメラからの距離に応じて蓄積することです。オプションは LinearExponential および Exponential Squared_(これらは距離で霧の蓄積を増する順)です。 | |Start | カメラから霧が始まるまでの距離( Linear_ fog モードでのみ使用可)。
End 霧によりシーンオブジェクトが完全に不明瞭になるところまでのカメラからの距離。( Linear fog モードでのみ使用可)。
Other Settings
Halo Texture 明りの周囲の Halo(ハロー) を描画するために使用されるテクスチャ。
Halo Strength 明りの周りのハローの視認性。
Flare Fade Speed 最初に現れてから、ビューから消えていくまでの レンズフレア 時間。
Flare Strength 明かりからレンズフレアの可視性。
Spot Cookie スポットライトに使う スポットライト Cookie はどのように作成しますか? テクスチャ。

Build ボタンを押すと、ライティングの作成を開始します。このボタンはドロップダウンリストとして開くことができ、そこからベイクしたデータをクリアできます。これはGICacheのクリアとは別のものです。

ライトマップタブ

このタブでは、シーンで使用する lightmap アセットファイルの場所を指定し、設定することができます。

Lightmap Snapshot box でファイル名をクリックすると、プロジェクトビューは、アセットファイルを表示します。ボックスの横の小さな点をクリックすると、オブジェクト選択ウィンドウで、別のライトマップを選択できるように表示されます。現在のライトマップアセットが置かれているフォルダーの名前を変更する場合、その後、Lightmap Snapshot プロパティーを None に設定し、新しいファイルは、次回ライトマップをビルドしたときに作成されます。このように複数のファイルを使用するのは、GI の設定をテストし、パラメータの異なるセットを比較するためのよい方法です。

下にあるライトマップタブのスナップショットには、ライトマップのプレビューが表示されています。これは_ベイクした_ライトでのみ表示されます。_リアルタイムの_ライトでは空のままになります。

グローバルイルミネーション
事前計算されたライティングの利用