Lighting Settings アセットは、LightingSettings クラスの保存されたインスタンスを表し、ベイクしたグローバルイルミネーションと Enlighten のリアルタイムグローバルイルミネーションのシステムのデータを格納しています。Unity エディターは、ベイクしたグローバルイルミネーションシステムとリアルタイムグローバルイルミネーションのシステムのデータを保存しています。
同じ Lighting Settings アセットまたは LightingSettings
クラスのインスタンスを複数のシーンに割り当てることができるので、グローバルイルミネーションシステムの設定を複数のシーンで簡単に共有することができます。
Unity エディターで Lighting Settings アセットを作成するには 2 つの方法があります。
プロジェクトビューから Lighting Settings アセットを作成するには、以下を行います。
Lighting Settings アセットを作成して自動的に割り当てるには、Lighting ウィンドウで行います。
スクリプトから Lighting Settings アセットを作成することもできます。これを行うには、LightingSettings クラスのインスタンスを作成してディスクに保存するか、シーンに割り当ててそのシーンを保存します。詳細およびコード例については、LightingSettings API ドキュメント を参照してください。
Unity エディターで Lighting Settings アセットをシーンに割り当てるには、以下の手順で行います。
また、スクリプトからアクティブなシーンに Lighting Settings アセットを割り当てることもできます。そのためには、Lighting Settings アセットをロードして、LightingSettings
クラスのインスタンスを取得し、Lightmapping.latingSettings
API を使用して、その LightingSettings
インスタンスをアクティブシーンに割り当てます。詳細およびコード例については、LightingSettings API ドキュメント を参照してください。
Lighting Settings アセットのプロパティは、Unity エディターの 2 箇所で表示編集することができます。
また、スクリプトを通して Lighting Settings アセットのプロパティを読み取る/書き込むこともできます。そのためには、Lighting Settings アセットをロードして、LightingSettings
クラスのインスタンスを取得し、そのプロパティにアクセスする必要があります。詳細およびコード例については、LightingSettings API ドキュメント を参照してください。
シーンに Lighting Settings アセットが割り当てられていない場合、Unity はそのシーンに対してデフォルトの LightingSettings
オブジェクトを使用します。デフォルトの LightingSettings
オブジェクトは、LightingSettings
クラスの内部用、読み取り専用のインスタンスです。
デフォルトの LightingSettings
を使用するシーン の LightingSettings
データに変更を加えることはできませんが、Unity はその設定を使ってベイクを行うことができます。
シーン の LightingSettings
データを変更するには、Unity エディターを使用して Lighting Settings アセットを作成して割り当てるか、スクリプトを使用して LightingSettings
オブジェクトを作成、設定、割り当てする必要があります。詳細とコード例については、LightingSettings API ドキュメント を参照してください。
Unity は アンビエントプローブ と デフォルトのリフレクションプローブ を自動的に生成し、環境ライティングがシーンとその中のゲームオブジェクトにデフォルトで影響するようにします。この機能の詳細については、SkyManager を参照してください。
Inspector または Lighting ウインドウで Lighting Settings を表示する場合、表示または編集できるプロパティは以下のセクションに分かれています。
このセクションには、Enlighten Realtime Global Illumination システムに関する設定 が含まれています。.
プロパティ | 機能 |
---|---|
Realtime Global Illumination | If this checkbox is ticked, Unity enables the Enlighten Realtime Global Illumination system in Scenes that use this Lighting Settings Asset. |
Realtime Environment Lighting | このプロパティを有効にすると、Enlighten のリアルタイムグローバルイルミネーションシステムを使用して、アンビエントライトをリアルタイムで計算し、更新できます。 このプロパティは、Enlighten の Realtime Global Illumination と Baked Global Illumination の両方が シーンで有効になっている場合にのみ使用できます。 |
このセクションには、この Lighting Settings アセットを使うシーンの ベイクしたライト と 混合ライト の動作に影響する設定が含まれています。
プロパティ | 機能 | |
---|---|---|
Baked Global Illumination | この設定を有効にすると、Unity は、この Lighting Settings アセットを使用するシーンに対してベイクしたグローバルイルミネーションシステムを有効にします。 この設定を無効にすると、Unity はこの Lighting Settings アセットを使用するシーンのベイクしたグローバルイルミネーションシステムを無効にします。 ベイクしたグローバルイルミネーションシステムが有効になっている場合、Unity はシーンのベイクしたライトをライトマッピングにのみ使用し、混合ライトは Lighting Mode 設定に従って動作します。ベイクしたグローバルイルミネーションシステムが無効になっている場合、Unity はシーンのすべてのベイクしたライトと混合ライトをリアルタイムライトであるかのように動作させます。 |
|
Lighting Mode | この Lighting Settings アセットを使用するシーンのすべての混合ライトに対して Unity が使う Lighting Mode を指定します。 Lighting Mode を変更すると、この Lighting Settings アセット を使用するシーンの ライティングデータをベイクし直す必要があります。 |
|
Baked Indirect | この Lighting Settings アセットを使用するシーンのすべての混合ライトに、Baked Indirect Lighting (ベイクした間接光) モードを使用します。 | |
Subtractive | この Lighting Settings アセットを使用するシーンのすべての混合ライトに対して Subtractive Lighting Mode を使用します。 |
|
Shadowmask | この Lighting Settings アセットを使用するシーンのすべての混合ライトに対して Shadowmask Lighting Mode を使用します。 |
プロパティ | 機能 |
---|---|
Lightmap Resolution | ライトマップに使用するユニットごとのテクセル数を指定します。この値を上げると、ライトマップの品質を向上させます。しかし、ライトマップをベイクする時間も長くなります。この値を 2 倍にすると、テクセル数は 4 倍になります (値はライトマップの高さと幅の両方を決めるため)。 Lighting ウィンドウの下部にある統計エリアの Occupied texels 数を参照してください。 |
Lightmap Padding | ベイクしたライトマップで別々の形状を分けるすき間の値 (テクセル単位) を設定します。デフォルトは 2 です。 |
Max Lightmap Size | 個々のゲームオブジェクトのテクスチャの離れた領域を合併する完全なライトマップテクスチャのサイズ (ピクセル) を設定します。デフォルト値は 1024。 |
Lightmap compression | エディターがライトマップに使用する圧縮のレベル。 - None: ライトマップを圧縮しません。 - Low Quality: Normal Quality よりもメモリとストレージの使用量が少 ない場合がありますが、視覚的なアーティファクトが発生する場合があります。 - Normal Quality: メモリ使用量と視覚的品質のバランスが良いレベルです。 - High Quality: Normal Quality より多くのメモリとストレージを必要としますが、より良い視覚的品質を得ることができます。 |
Ambient Occlusion | ベイクしたアンビエントオクルージョン のサーフェスの相対輝度を制御します。する一群の設定が表示されます。このプロパティは、ライトをベイクするのに使用するライトマッパーによって計算された間接ライティングにのみ適用されます。この設定は、デフォルトで有効になっています。アンビエント オクルージョンを有効にすると、3 つの設定 Max Distance、Indirect Contribution、Direct Contribution が表示されます。3 つの設定すべてで、値が高いほど、遮られた領域と完全に照らされた領域の間のコントラストが大きいことを示します。 |
Max Distance | オブジェクトにオクルージョンを適用するかどうかを判断するために、レイを投射するかを決める値を設定します。大きな値を指定するとより長いレイが生成され、ライトマップにより多くの影を作ります。一方、小さい値では短いレイを生成し、オブジェクトが互いに非常に近い場合にのみ影を作ります。0 の値を指定すると、最大距離のない無限に長いレイが投射されます。デフォルト値は 1 です。 |
Indirect Contribution | 最終的なライトマップのオブジェクトからバウンスまたは放出される間接環境光の輝度を 0 から 10 の間で増減します。デフォルト値は 1 です。1 未満の値にすると強度が下り、 1 より大きくすると強度は上がります。 |
Direct Contribution | 直接光の輝度を 0 から 10 の間で増減します。デフォルト値は 0 です。この値が大きいほど、直接光に適用されるコントラストが強くなります。 |
Directional Mode | ライトマップが、オブジェクトのサーフェスの各位置で主要な入ってくるライトに関する情報を持つように設定することが可能です。詳しくは 指向性ライトマップ を参照してください。デフォルトモードは Directional です。 |
Directional | Directional モードでは、主要な入ってくるライトの方向に関する情報を保存するために 2 番目のライトマップを生成します。これによって、ディフューズ法線でマップされたマテリアルをグローバルイルミネーションシステムに使用できます。シェーダーは、レンダリング中に両方のライトマップテクスチャをサンプリングします。その結果、Directional モードでは、追加のライトマップデータ用にNon-directional モードの約 2 倍のビデオメモリを必要とします。追加の指向性テクスチャを生成すると、ベイク処理のパフォーマンスに影響します。 SM2.0 ハードウェアまたは GLES2.0 を使用している場合、指向性ライトマップはデコードできません。 |
Non-directional | Non-directional モードのライトマップには、1 つのテクスチャしか含まれていません。その結果、指向性ライトマップに比べて、必要なビデオメモリとストレージが少なくて済み、シェーダーでのデコードも速くなります。これらの最適化は、視覚的な品質を低下させます。 |
Indirect Intensity | リアルタイムおよびベイクしたライトマップに保存されている間接光の輝度を 0 から 5 の値で設定します。1 を超える値は間接光の強度を増加し、1 未満の値は間接光の強度を減らします。デフォルト値は 1 です。 |
Albedo Boost | サーフェス間でバウンドするライトの量を 1 から 10 の値で設定します。この値を増やすと間接光の計算に使われるアルベド値を白に近づけます。デフォルト値は 1 で、物理的に正確です。 |
Lightmap Parameters | Lightmap Parameters アセットは、ベイクしたグローバルイルミネーションに関連する設定の値を格納します。エディターには、選択可能ないくつかのデフォルトのライトマップパラメーターアセットが用意されていますが、Create New オプションを使用して、独自のライトマップパラメーターファイルを作成することもできます。詳しくは、Lightmap Parameters を参照してください。デフォルト値は、Default-Medium です。オプションは、Default-Medium、Default-HighResolution、Default-LowResolution、Default-VeryLowResolution です。 |
一部の設定は、特定のライトマッパーバックエンドに固有のものです。これらの設定を見るには、該当するライトマッパーのページを参照してください。
Lighting Settings アセットを Inspector で表示すると、このプロパティは Inspector の上部に表示されます。Lighting Settings アセットを Lighting ウィンドウで表示すると、このプロパティは Lighting ウィンドウの下部、 Generate Lighting ボタンの近くにあります。
プロパティ | 機能 |
---|---|
Auto Generate | If Auto Generate is enabled, Unity precomputes lighting data automatically when you make changes to the Scene. This data includes lightmaps for the Baked Global Illumination system, data for the Enlighten Realtime Global Illumination system, Light Probes, and Reflection Probes. |
Unity usually begins the bake a few seconds after you make a change to the Scene. If Auto Generate is disabled, you must manually invoke a bake yourself, using the Generate Lighting button in the Lighting window, or the Lightmapping.Bake or Lightmapping.BakeAsync APIs. Note that when you precompute lighting data using Auto Generate, the precomputed lighting data is not stored as Assets in your Project. It is instead stored in memory, and serialized as part of the Scene. |