Version: 2022.1
言語: 日本語
ライトマッピング - はじめに
指向性モード 

Lightmap Parameters アセット

Lightmap Parameters (ライトマップパラメーター) アセットには、Unity のライティング機能を制御する一群のパラメーターの値のが含まれています。これらのアセットを使用すると、さまざまな状況で使用するために、ライティングの値のさまざまなセットを定義して保存できます。

ライトマップパラメーターアセットを利用すると、 さまざまなタイプのゲームオブジェクトや、異なるプラットフォームやシーン (例えば、屋内、または、屋外シーンなど) に応じて最適化されたプリセットを素早く作成できます。

ライトマップパラメーターアセットの作成

新しいライトマップパラメーターアセットを作成するには、Project ウィンドウ内で右クリックし、Create > New Parameters Asset を選択します。Unity は Project フォルダーにこれを保存します。

プロパティ

Project ウィンドウでライトマップパラメーターアセットをクリックすると、Inspector ウィンドウにそのアセットで定義した値が表示されます。パラメーターとその説明は下の表のとおりです。

Realtime GI

These parameters configure Enlighten Realtime Global Illumination.

See render pipeline feature comparison for more information about support for Enlighten Realtime Global Illumination across render pipelines.

プロパティ 機能
Resolution この値は、Lighting ウィンドウの Scene タブ (Window > Rendering > Lighting > Scene) の Realtime Resolution の値をスケールし、ライトマップの最終的な解像度 (テクセル/単位距離) を示します。
Cluster Resolution 最終的なライトマップの解像度に対するクラスターの解像度 (ライトのバウンスが内部で計算されている解像度) の比。詳しくは、シーンビューの GI 視覚化 を参照してください。
Irradiance Budget この値は、ライトマップの各テクセルを照らすために使用される入射光のデータの精度を決定します。各テクセルのライティングは、テクセルの位置からシーンの “ビュー” をサンプリングすることによって得られます。放射照度の量が低い場合は、よりぼやけたサンプルになります。値を高くすると、サンプルはよりはっきりします。放射照度の量を上げると、ライティングは改善されますが、ランタイムのメモリ使用量が増加し、CPU の使用が増加する場合があります。
Irradiance Quality スライダーを使って、レイの数を定義します。そのレイはキャストし、指定した出力ライトマップのテクセルに影響するクラスターを計算するために使われます。値を大きくすると、ライトマップの見た目が向上しますが、Unity エディターの事前の計算時間が増加します。この値は、ランタイムのパフォーマンスには影響しません。
Modelling Tolerance この値は、ライトが通り抜けるメッシュジオメトリのすき間の最小サイズを制御します。環境内でライトがより小さなすき間を通り抜けるようにするには、この値を低くします。
Edge Stitching これを有効にすると、不要な視覚的アーティファクトを避けるために、ライトマップの UV チャートを継ぎ目なく結合します。
Is Transparent これを有効にすると、グローバルイルミネーションを計算している間、このオブジェクトは透明になります。後ろを向いたサーフェスはこの計算に何も影響を与えず、ライトはサーフェスを通過します。この設定は非可視の発光性のサーフェスを作成する際に役立ちます。
System Tag ライトマップテクスチャを同じライトマップアトラスにまとめた複数オブジェクトのグループを “システム” と呼んでいます。すべてのオブジェクトが 1 つのアトラスに適合しない場合、Unity は追加のシステムとそれに付随するアトラスを自動的に定義します。ただし、別のシステムを独自に定義する方が便利な場合があります (例えば、別々のルーム内のオブジェクトを、各ルームにつき 1 つのシステムにグループ分けする、など)。 System Tag 番号を変えると、強制的に新しいシステムとライトマップが作成されます。タグの値の数的順序はあまり関係ありません。

Baked GI

これらのパラメーターは ライトマッピング を設定します。

See render pipeline feature comparison for more information about support for lightmapping across render pipelines.

プロパティ 機能
Enlighten Baked Global Illumination プログレッシブライトマッパー
Blur Radius ポストプロセスで直接光に適用されるブラーのフィルターの半径 (単位はテクセル) です。基本的に、この半径の範囲で隣接するテクセルが平均化されます。半径を大きくすると、よりぼやけた効果を与えます。ブラーのレベルを高くすると、視覚的なアーティファクトが低減されるだけでなく、影のエッジもソフトになります。 Blur Radius はプログレッシブライトマッパーでは使用できません。
Anti-aliasing Samples 適用されるアンチエイリアス (ブロック状のアーティファクトの減少) の度合い 。値を大きくすると、品質が向上しベイク時間が長くなります。 Determines the number of sub-texel positions to use when sampling a lightmap texel. Set the value above 1 to use supersampling to improve lightmap quality and reduce artifacts related to aliasing.
•A value of 1 disables super sampling.
•Values between 2 and 8 provide 2x2 supersampling. The default value is 8, which removes most aliasing artifacts.
•Values between 9 and 256 provide 4x4 supersampling. Use these values to remove artifacts, like jagged edges in direct lighting. This can happen when you use baked shadows.

Note: A higher anti-aliasing sample value uses more memory. This means that if you use a high sample number in a large Scene, with large lightmap texture sizes the lightmap bake might not complete.
Direct Light Quality 直接光を評価するために使用されるレイの数。レイの数が多いほど、より正確なソフトシャドウを生成しやすくなりますが、ベイク時間が長くなります。 Direct Light Quality はプログレッシブライトマッパーを使用する場合は使用できません。
Backface Tolerance メッシュの構造が原因となって、ジオメトリの裏面がテクセルに表示されてしまう場合があります。裏面に照射するライトはあらゆるシーンで無意味です。そのため、このプロパティを使用して、そのテクセルが有効になるために必要な、ジオメトリの表面に照射するライトの割合のしきい値を選択することができます。無効なテクセルには、近隣のライトと同様の値が与えられます。Backface Tolerance (裏面照射の許容範囲) を低くすると、裏面から照射するライトが原因となる問題を解決できます。  出力テクセルから発されたレイが表面に当たる割合。システムが有効なテクセルと認識するためには、この割合を満たす必要があります。テクセルから発したレイがあまり多く裏面にあたる場合は (テクセルがジオメトリの内部にある場合)、テクセルを無効にします。テクセルが無効の場合、ライティングシステムは近隣のテクセルから有効な値を複製し、予期しないアーティファクトを避けます。例えば、Backface Tolerance が 0.0 の場合は、裏面しか見えない場合のみ、テクセルは拒否されます。1.0 の場合は、裏面に当たるレイがたった 1 つあるだけでも、レイを発するテクセルは拒否されます。Baked Texel Validity のシーンビューモードでは、あるケースでは有効 (緑) と無効 (赤) のテクセルが表示されます。シーンで片面しかないメッシュがあるときは、値を 0 にしてこの機能を無効にする方がよい場合もあります。これをうまく処理するために、両面のフラグを、後からエディターで加えることもできます。 
Pushoff モデリングユニットのレイをトレースし始める前に、サーフェスのジオメトリから押し離す距離。これは、すべてのベイクされたライトマップに適用されるので、直接光、間接光、アンビエントオクルージョンに影響します。Pushoff は不要なアンビエントオクルージョンや影を除くのに便利です。この設定を使うと、オブジェクトのサーフェスがそれ自体に影を落とし、明白なソースなしに小さなはん点のついた影が表面に現れる問題を解決できます。また、細かいディテールに対し正確にレイトレースを行なえるほど浮動小数点の精度が高くない場合に、巨大なオブジェクトで発生する不要なアーティファクトを除去するのに利用できます。  モデリングユニットで、レイの起点をジオメトリからレイトレーシングの法線に沿って押し離す量。これは、ベイクしたライトマップすべてに適用されるため、直接光、間接光、ベイクしたアンビエントオクルージョンに影響します。必要のないオクルージョンや影の削除に有用です。
Baked Tag 前述の System Tag プロパティと同様に、この番号を使用すると、特定の一揃いのオブジェクトを別のベイクしたライトマップにまとめることができます。システムタグと同様に、正確な数値は重要ではありません。Baked Tag 値が異なるオブジェクトは、同じアトラスに置かれることはありません。しかし、同じタグが付いたオブジェクトが同じアトラスになるという保証はありません。なぜなら、それらのオブジェクトが必ずしも 1 つのライトマップに収まるとは限らないからです (下の画像 A を参照)。マルチシーンベイクの API (BakeMultipleScenes) を使用する場合は、グループ化が自動的に行われるため、これを設定する必要はありません (Baked TagLock Atlas オプションで一部同様の動作をします)。詳細は、後述の Baked Tags: 詳細 を参照してください。
Limit Lightmap Count Limit Lightmap Count is not available when you use Enlighten Baked Global Illumination. Limit Lightmap Count applies a maximum number of lightmaps that Unity can use when packing GameObjects with the same Baked Global Illumination settings. When you enable Limit Lightmap Count, a setting appears underneath it called Max Lightmaps; use this to set the maximum number of lightmaps Unity can use.

Unity considers GameObjects to have the same Baked Global Illumination settings if they have equal values for Anti-aliasing Samples, Pushoff, Baked Tag, and Backface Tolerance. This means that Unity might pack together GameObjects associated with different lightmap parameter Assets. To pack the GameObjects, Unity gradually scales down the UV layouts until all GameObjects fit inside the specified number of lightmaps. The Lightmapping Settings define the size of these lightmaps. This process might reduce the GameObjects’ lightmap resolution.

Baked Tags: 詳細

The two images above shows two views of the same Scene:

  1. Top: Everything is in one atlas because all the GameObjects have the same Baked Tag.

  2. Bottom: One GameObject is assigned a different Baked Tag, and forced into a second lightmap.

Baked AO

これらのパラメーターはベイクしたアンビエントオクルージョンを設定します。

プロパティ 機能
Quality アンビエントオクルージョンを評価するときに発するレイの数。この数字が大きいほどベイクしたアンビエントオクルージョンの品質が向上しますが、ベイク時間も長くなります。
Anti-aliasing Samples アンビエントオクルージョンのアンチエイリアスを行うときに取得するサンプル数。サンプル数が多いほどアンビエントオクルージョンの品質が上がりますが、ベイク時間も長くかかります。

General GI

プロパティ 機能
Backface Tolerance 出力テクセルから発されたレイが表面に当たる割合。システムが有効なテクセルと認識するためには、この割合を満たす必要があります。テクセルから発したレイがあまり多く裏面にあたる場合は (テクセルがジオメトリの内部にある場合)、テクセルを無効にします。テクセルが無効の場合、ライティングシステムは近隣のテクセルから有効な値を複製し、予期しないアーティファクトを避けます。

例えば、Backface Tolerance が 0.0 の場合は、裏面しか見えない場合のみ、テクセルは拒否されます。1.0 の場合は、裏面に当たるレイがたった 1 つあるだけでも、レイを発するテクセルは拒否されます。

ライトマップパラメーターアセットの割り当て

シーン

ライトマップパラメーターアセットをシーン全体に割り当てるには、以下を行います。

  1. Lighting ウィンドウ を開きます (Window > Rendering > Lighting)。
  2. Scene タブを選択します。
  3. Lightmapping Settings に移動します。
  4. Lightmap Parameters ドロップダウンを使用して、デフォルトのライトマップパラメーターアセットを割り当てます。このドロップダウンには、利用可能なすべてのライトマップパラメーターアセットが表示されます。

ゲームオブジェクト

ライトマップパラメーターアセットをゲームオブジェクトに割り当てるには、ゲームオブジェクトにメッシュレンダラーか Terrain コンポーネントがアタッチされていることを確認します。

To assign a Lightmap Parameters Asset to a Mesh Renderer component:

  1. In the Inspector, go to Mesh Renderer > Lighting
  2. Enable Contribute Global Illumination
  3. In the mesh Renderer component, go to Lightmapping > Lightmap Parameters.
  4. Select an option from the menu. Select Scene Default Parameter to use the same Lightmap Parameters Asset that’s assigned to the whole Scene.

To assign a Lightmap Parameters Asset to a Terrain component:

  1. In the Inspector, go to Terrain > Terrain Settings > Lighting
  2. Enable Contribute Global Illumination
  3. In Terrain Settings, go to Lightmapping > Lightmap Parameters.
  4. Select an option from the menu. Select Scene Default Parameter to use the same Lightmap Parameters Asset that’s assigned to the whole Scene.

2019–03–28 修正されたページ

2018–03–28 修正されたページ

Limit Lightmap Count は 2019.1 で追加NewIn20191

プログレッシブライトマッパーは 2018.1 で追加 NewIn20181

ライトマッピング - はじめに
指向性モード