Version: 2022.3
言語: 日本語
Lighting ウィンドウ
ライティングモード

Lighting Settings アセット

Lighting Settings アセットは、LightingSettings クラスの保存されたインスタンスを表し、ベイクしたグローバルイルミネーションと Enlighten のリアルタイムグローバルイルミネーションのシステムのデータを格納しています。Unity エディターは、ベイクしたグローバルイルミネーションシステムとリアルタイムグローバルイルミネーションのシステムのデータを保存しています。

同じ Lighting Settings アセットまたは LightingSettings クラスのインスタンスを複数のシーンに割り当てることができるので、グローバルイルミネーションシステムの設定を複数のシーンで簡単に共有することができます。

Lighting Settings アセットの作成

Unity エディターで Lighting Settings アセットを作成するには 2 つの方法があります。

プロジェクトビューから Lighting Settings アセットを作成するには、以下を行います。

  1. プロジェクトビューで、追加 (+) ボタンをクリックするか、コンテキストメニューを開いて Create に移動します。
  2. Lighting Settings をクリックします。Unity は、Project ビューに New Lighting Settings アセットを作成します。

Lighting Settings アセットを作成して自動的に割り当てるには、Lighting ウィンドウで行います。

  1. Lighting ウィンドウを開きます (Window > Rendering > Lighting Settings)。
  2. Scene タブをクリックします。
  3. New Lighting Settings をクリックします。Unity は、Project ビューに New Lighting Settings アセットを作成します。

スクリプトから Lighting Settings アセットを作成することもできます。これを行うには、LightingSettings クラスのインスタンスを作成してディスクに保存するか、シーンに割り当ててそのシーンを保存します。詳細およびコード例については、LightingSettings API ドキュメント を参照してください。

Lighting Settings アセットのシーンへの割り当て

Unity エディターで Lighting Settings アセットをシーンに割り当てるには、以下の手順で行います。

  1. Lighting Settings アセットを割り当てたいシーンを開きます。
  2. 複数のシーンを開いている場合は、Lighting Settings アセット を割り当てるシーンが アクティブなシーン であることを確認してください。
  3. Lighting ウィンドウを開きます (Window > Rendering > Lighting Settings)。
  4. Scene タブをクリックします。
  5. Lighting Settings アセットを Lighting Settings フィールドにドラッグするか、Lighting Settings フィールドの右にあるアイコンをクリックして、リストから Lighting Settings アセットを選択します。

また、スクリプトからアクティブなシーンに Lighting Settings アセットを割り当てることもできます。そのためには、Lighting Settings アセットをロードして、LightingSettings クラスのインスタンスを取得し、Lightmapping.latingSettings API を使用して、その LightingSettings インスタンスをアクティブシーンに割り当てます。詳細およびコード例については、LightingSettings API ドキュメント を参照してください。

Lighting Settings アセットのプロパティの表示と編集

Lighting Settings アセットのプロパティは、Unity エディターの 2 箇所で表示編集することができます。

  • Project ビューで、Lighting Settings アセットを選択すると、そのプロパティを Inspector で表示編集することができます。
  • アクティブなシーンに Lighting Settings アセットが割り当てられている場合、Lighting ウィンドウの Scene タブでその Lighting Settings アセットのプロパティを表示編集することができます。

また、スクリプトを通して Lighting Settings アセットのプロパティを読み取る/書き込むこともできます。そのためには、Lighting Settings アセットをロードして、LightingSettings クラスのインスタンスを取得し、そのプロパティにアクセスする必要があります。詳細およびコード例については、LightingSettings API ドキュメント を参照してください。

デフォルトの LightingSettings データ

シーンに Lighting Settings アセットが割り当てられていない場合、Unity はそのシーンに対してデフォルトの LightingSettings オブジェクトを使用します。デフォルトの LightingSettings オブジェクトは、LightingSettings クラスの内部用、読み取り専用のインスタンスです。

デフォルトの LightingSettings を使用するシーン の LightingSettings データに変更を加えることはできませんが、Unity はその設定を使ってベイクを行うことができます。

シーン の LightingSettings データを変更するには、Unity エディターを使用して Lighting Settings アセットを作成して割り当てるか、スクリプトを使用して LightingSettings オブジェクトを作成、設定、割り当てする必要があります。詳細とコード例については、LightingSettings API ドキュメント を参照してください。

Unity は アンビエントプローブデフォルトのリフレクションプローブ を自動的に生成し、環境ライティングがシーンとその中のゲームオブジェクトにデフォルトで影響するようにします。この機能の詳細については、SkyManager を参照してください。

プロパティ

Inspector または Lighting ウインドウで Lighting Settings を表示する場合、表示または編集できるプロパティは以下のセクションに分かれています。

Realtime Lighting

このセクションには、Enlighten Realtime Global Illumination システムに関する設定 が含まれています。.

プロパティ 機能
Realtime Global Illumination このプロパティを有効にすると、この Lighting Settings アセットを使うシーンで Enlighten Realtime Global Illumination システムを使用します。
Realtime Environment Lighting このプロパティを有効にすると、Enlighten のリアルタイムグローバルイルミネーションシステムを使用して、アンビエントライトをリアルタイムで計算し、更新できます。

このプロパティは、Enlighten の Realtime Global IlluminationBaked Global Illumination の両方が シーンで有効になっている場合にのみ使用できます。
Indirect Resolution Specifies the number of texels per unit to use for realtime lightmaps. Increasing this value improves lightmap quality, but also increases render time.

This property is only available if you enable Realtime Global Illumination.

Mixed Lighting

このセクションには、この 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 Use Baked Indirect Lighting Mode for all Mixed Lights in the Scenes that use this Lighting Settings Asset.

In Baked Indirect Lighting Mode, Mixed Lights provide real-time direct lighting and Unity bakes indirect light into lightmaps and Light Probes. Real-time shadow maps provide shadows.
Shadowmask Use Shadowmask Lighting Mode for all Mixed Lights in the Scenes that use this Lighting Settings Asset.

In Shadowmask Lighting Mode Mixed Lights provide real-time direct lighting while indirect light is baked into lightmaps and probes. This mode combines real-time and baked shadows.
Subtractive Use Subtractive Lighting Mode for all Mixed Lights in the Scenes that use this Lighting Settings Asset.

In Subtractive Lighting Mode Mixed Lights provide baked direct and indirect lighting for static objects. Dynamic objects receive real-time direct lighting and cast shadows using the Directional Light.

Lightmapping Settings

プロパティ 機能
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 です。

一部の設定は、特定のライトマッパーバックエンドに固有のものです。これらの設定を見るには、該当するライトマッパーのページを参照してください。

However, Enlighten Baked Global Illumination is deprecated and no longer visible in the user interface by default. See Lightmapping using Enlighten Baked Global Illumination for more information.

Auto Generate

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. Note: From Unity Editor version 2022.2, Auto Generate mode is unavailable when the Entities package is installed. This is because when you generate lighting in a project where you have installed the Entities package, the Unity Editor opens all loaded subscenes, which may slow down Editor performance.
  • Lighting Settings は 2020.1 で追加NewIn20201

LightingSettings

Lighting ウィンドウ
ライティングモード