Lightmap Parameters Asset (ライトマップパラメーターアセット) には、Unity のライティング機能を制御する一群のパラメーターの値が含まれています。これらのアセットを使用すると、さまざまな状況で使用するために、ライティングの値のさまざまなセットを定義して保存できます。
ライトマップパラメーターアセットを利用すると、 さまざまなタイプのゲームオブジェクトや、異なるプラットフォームやシーン (例えば、屋内、または、屋外シーンなど) に応じて最適化されたプリセットを素早く作成できます。
新しいライトマップパラメーターアセットを作成するには、Project ウィンドウ内で右クリックし、Create > New Parameters Asset を選択します。Unity は Project フォルダーにこれを保存します。
Project ウィンドウでライトマップパラメーターアセットをクリックすると、Inspector ウィンドウにそのアセットで定義した値が表示されます。パラメーターとその説明は下の表のとおりです。
これらのパラメーターは、Enlighten リアルタイムグローバルイルミネーション を設定します。
レンダリングパイプライン全体での Enlighten リアルタイムグローバルイルミネーションのサポートの詳細については、レンダリングパイプライン機能の比較 を参照してください。
プロパティ | 機能 |
---|---|
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 番号を変えると、強制的に新しいシステムとライトマップが作成されます。タグの値の数的順序はあまり関係ありません。 |
これらのパラメーターは ライトマッピング を設定します。
レンダーパイプライン全体のライトマップのサポートについては、レンダーパイプライン機能比較 を参照してください。
プロパティ | 機能 |
---|---|
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. •A value of 4 provides 2x2 supersampling. This is the default value which removes most aliasing artifacts. •A value of 16 provides 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. |
Backface Tolerance | Unity が有効と見なすためにテクセルに当たる正面向きジオメトリのサンプリングレイのパーセンテージを指定します。これにより、テクセルから投影されるレイの多く (テクセルがジオメトリ内にある場合など) が背面に当たる場合に、Unity がテクセルを無効にすることが可能になります。値が 1.0 の場合、例えばテクセルのレイのいずれかが背面に当たると、Unity はテクセルを無効と見なします。テクセルが無効な場合、Unity は周囲のテクセルから有効な値を複製してアーティファクトを防止します。この値を低くすると、背面サンプルによって発生するライティングの問題を解決できます。この値を調整するには、シーン ビュー描画モード の Texel Validity を使用します。 |
Pushoff | モデリング単位で指定した値に基づいて、レイの原点を法線に沿ってジオメトリから遠ざけます。Unity はこの値をすべてのベイクしたライトマップに適用します。直接光、間接光、ベイクしたアンビエントオクルージョンに影響します。この設定を調整して、セルフオクルージョンとセルフシャドウイングのアーティファクトを減らします。 |
Baked Tag | 特定の一揃いのオブジェクトをアトラスにグループ化します。システムタグと同様に、正確な数値は重要ではありません。Unity は、異なる Baked Tag 値を持つゲームオブジェクトを同じアトラスに配置することはありません。ただし、同じタグを持つオブジェクトが同じアトラスに配置される保証はありません。これは、そのタグを持つオブジェクトの数が多すぎて 1 つのアトラスに収まらない可能性があるためです。この例については、画像 A (後に記載) を参照してください。マルチシーンのベイク API を使用する場合は、Unity が自動的にグループ化するため、この値を設定する必要はありません。Baked Tag を使用して、Lock Atlas オプションの動作の一部を再現できます。詳細については、Baked Tags: 詳細 を参照してください。 |
Limit Lightmap Count | Unity が同じベイクドグローバルイルミネーション設定を持つゲームオブジェクトをまとめるために使用できるライトマップの数に制限を適用します。この制限を有効にすると、Max Lightmaps という関連設定が表示されます。この設定でライトマップの制限を決定します。Lightmapping Settings は、これらのライトマップのサイズを定義します。 Unity は、Anti-aliasing Samples、Pushoff、Baked Tag、Backface Tolerance の値が等しいゲームオブジェクトは、同じベイクドグローバルイルミネーション設定を持つと見なします。つまり、Unity は異なるライトマップパラメーターアセットに関連付けられたゲームオブジェクトをまとめる可能性があります。 ゲームオブジェクトを設定された数のライトマップにまとめるために、Unity は指定された数のライトマップにすべてが収まるまで UV レイアウトを縮小します。このプロセスにより、ライトマップの解像度が低下する可能性があります。 |
上の図は、同じシーンの 2 つのビューを示しています。
上:すべてのゲームオブジェクトが同じ Baked Tag を持つため、すべてが 1 つのアトラス内にあります。
下: 1 つのゲームオブジェクトに異なる Baked Tag が割り当てられているため、強制的に 2 つ目のライトマップにまとめられています。
これらのパラメーターはベイクしたアンビエントオクルージョンを設定します。
プロパティ | 機能 |
---|---|
Quality | アンビエントオクルージョンを評価するときに発するレイの数。この数字が大きいほどベイクしたアンビエントオクルージョンの品質が向上しますが、ベイク時間も長くなります。 |
Anti-aliasing Samples | アンビエントオクルージョンのアンチエイリアスを行うときに取得するサンプル数。サンプル数が多いほどアンビエントオクルージョンの品質が上がりますが、ベイク時間も長くかかります。 |
プロパティ | 機能 |
---|---|
Backface Tolerance | 出力テクセルから発されたレイが表面に当たる割合。システムが有効なテクセルと認識するためには、この割合を満たす必要があります。テクセルから発したレイがあまり多く裏面にあたる場合は (テクセルがジオメトリの内部にある場合)、テクセルを無効にします。テクセルが無効の場合、ライティングシステムは近隣のテクセルから有効な値を複製し、予期しないアーティファクトを避けます。 例えば、Backface Tolerance が 0.0 の場合は、裏面しか見えない場合のみ、テクセルは拒否されます。1.0 の場合は、裏面に当たるレイがたった 1 つあるだけでも、レイを発するテクセルは拒否されます。 |
ライトマップパラメーターアセットをシーン全体に割り当てるには、以下を行います。
ライトマップパラメーターアセットをゲームオブジェクトに割り当てるには、ゲームオブジェクトにメッシュレンダラーか Terrain コンポーネントがアタッチされていることを確認します。
ライトマップパラメーターアセットを Mesh Renderer コンポーネントに割り当てるには、以下を行います。
ライトマップパラメーターアセットを Terrain コンポーネントに割り当てるには、以下を行います。
2019–03–28 修正されたページ
2018–03–28 修正されたページ
Limit Lightmap Count は 2019.1 で追加NewIn20191
プログレッシブライトマッパーは 2018.1 で追加 NewIn20181
LightmapParameters