Lighting Settings アセットは、LightingSettings クラスの保存されたインスタンスを表し、ベイクしたグローバルイルミネーションとリアルタイムグローバルイルミネーションのシステムのデータを格納しています。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 ドキュメント を参照してください。
Inspector または Lighting ウインドウで Lighting Settings を表示する場合、表示または編集できるプロパティは以下のセクションに分かれています。
このセクションでは、リアルタイムのグローバルイルミネーションシステム に関する設定を行います。このセクションは、ビルトインレンダーパイプラインを使用している場合にのみ表示されます。リアルタイムのグローバルイルミネーションはビルトインレンダーパイプラインでのみサポートされており、ユニバーサルレンダーパイプライン (URP) や HD レンダーパイプライン (HDRP) ではサポートされていません。
Enlighten は非推奨で、間もなく Unity から排除されます。詳細については、Unity ブログ を参照してください。
プロパティ | 説明 |
---|---|
Realtime Global Illumination (deprecated) | このチェックボックスを有効にすると、Unity はこの Lighting Settings アセットを使用するシーンでリアルタイムグローバルイルミネーションシステムを有効にします。 |
Realtime Environment Lighting | このプロパティを有効にすると、リアルタイムグローバルイルミネーションシステムを使用して、アンビエントライトをリアルタイムで計算し、更新することができます。このプロパティを無効にすると、ベイクされたグローバルイルミネーションシステムを使用してエディターでアンビエントライトを事前計算し、ランタイムに適用します。 このプロパティは、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 (減法) ライティングモードを使用します。 Subtractive ライティングモードは、HD レンダーパイプライン (HDRP) ではサポートされていません。 |
|
Shadowmask | この Lighting Settings アセットを使用するシーンのすべての混合ライトに、Shadowmask (シャドウマスク) ライティングモードを使用します。Shadowmask ライティングモードは、ユニバーサルレンダーパイプライン (URP) ではサポートされていません。 |
このセクションには、ライトマッピング に関する設定が含まれます。
Lightmapping Settings (ライトマッピング設定) は、各ライトマッパーバックエンドにによって異なります。ライトマッパーの設定を確認するには、以下を参照してください。
Lighting Settings アセットを Inspector で表示すると、このプロパティは Inspector の上部に表示されます。Lighting Settings アセットを Lighting ウィンドウで表示すると、このプロパティは Lighting ウィンドウの下部、 Generate Lighting ボタンの近くにあります。
プロパティ | 説明 |
---|---|
Auto connect |
Auto Generate が有効になっている場合、ライティングデータは、シーンに変更を加えるときに自動的に事前計算されます。 このデータには、ベイクしたグローバルイルミネーションシステム用のライトマップ、リアルタイムグローバルイルミネーション システム用のライトマップ、ライトプローブ、リフレクションプローブが含まれています。 Unity は通常、シーンに変更を加えてから数秒後にベイクを開始します。Auto Generate が無効になっている場合は、Lighting ウィンドウの Generate Lighting ボタン、または Lightmapping.Bake または Lightmapping.BakeAsync API を使用して、手動でベイクを発生させる必要があります。 Auto Generate を使用してライティングデータを事前に計算する場合、事前に計算されたライティングデータはプロジェクトのアセットとして保存されないことに注意してください。代わりにメモリに保存され、シーンの一部としてシリアル化されます。 |