Lightmap Parameters (ライトマップパラメーター) アセットは、Unity の グローバルイルミネーション (GI) 機能を制御するパラメーターの値を一組にして格納します。これらのアセットを使用すると、異なる状況で使用するために、ライティングのさまざまな値の組み合わせを定義して保存することができます。
新しいライトマップパラメーターアセットを作成するには、Project ウィンドウ内で右クリックし、Create > New Parameters Asset を選択します。Unity は Project フォルダーにこれを保存します。
ライトマップパラメーターアセットを利用すると、 さまざまなタイプのゲームオブジェクトや、異なるプラットフォームやシーン (例えば、屋内、または、屋外シーンなど) に応じて最適化されたプリセットを素早く作成できます。
Project ウィンドウでライトマップパラメーターアセットをクリックすると、Inspector ウィンドウにそのアセットで定義した値が表示されます。パラメーターと説明は下の表のとおりです。
プロパティ | 機能 |
---|---|
Resolution | この値は、Lighting ウィンドウの Scene タブ (Window > Rendering > Lighting Settings > 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 番号を変えると、強制的に新しいシステムとライトマップが作成されます。タグの値の数的順序はあまり関係ありません。 |
プロパティ | 機能 | |
---|---|---|
Enlighten | プログレッシブライトマッパー | |
Blur Radius | ポストプロセスで直接光に適用されるブラーのフィルターの半径 (単位はテクセル) です。基本的に、この半径の範囲で隣接するテクセルが平均化されます。半径を大きくすると、よりぼやけた効果を与えます。ブラーのレベルを高くすると、視覚的なアーティファクトが低減されるだけでなく、影のエッジもソフトになります。 | Blur Radius はプログレッシブライトマッパーでは使用できません。 |
Anti-aliasing Samples | 適用されるアンチエイリアス (ブロック状のアーティファクトの減少) の度合い 。値を大きくすると、品質が向上しベイク時間が長くなります。 | エイリアシングを減らすためにテクセルをスーパーサンプリングする回数。サンプル [1;3] はスーパーサンプリングを無効にし、サンプル [4;8] は 2 倍のスーパーサンプリングを行い、サンプル [9;256] は 4 倍スーパーサンプリングを行います。これは主に、位置と法線のバッファに使用されるメモリ量に影響します (2 倍のスーパーサンプリングはメモリ量の 4 倍、4 倍は 16 倍のメモリ量を使用します)。 |
Direct Light Quality | 直接光を評価するために使用されるレイの数。レイの数が多いほど、より正確なソフトシャドウを生成しやすくなりますが、ベイク時間が長くなります。 | Direct Light Quality はプログレッシブライトマッパーを使用する場合は使用できません。 |
Backface Tolerance | メッシュの構造が原因となって、ジオメトリの裏面がテクセルに表示されてしまう場合があります。裏面に照射するライトはあらゆるシーンで無意味です。そのため、このプロパティを使用して、そのテクセルが有効になるために必要な、ジオメトリの表面に照射するライトの割合のしきい値を選択することができます。無効なテクセルには、近隣のライトと同様の値が与えられます。Backface Tolerance (裏面照射の許容範囲) を低くすると、裏面から照射するライトが原因となる問題を解決できます。 | 出力テクセルから発されたレイが表面に当たる割合。システムが有効なテクセルと認識するためには、この割合を満たす必要があります。テクセルから発したレイがあまり多く裏面にあたる場合は (テクセルがジオメトリの内部にある場合)、テクセルを無効にします。テクセルが無効の場合、ライティングシステムは近隣のテクセルから有効な値を複製し、予期しないアーティファクトを避けます。例えば、Backface Tolerance が 0.0 の場合は、裏面しか見えない場合のみ、テクセルは拒否されます。1.0 の場合は、裏面に当たるレイがたった 1 つあるだけでも、レイを発するテクセルは拒否されます。Baked Texel Validity のシーンビューモードでは、あるケースでは有効 (緑) と無効 (赤) のテクセルが表示されます。シーンで片面しかないメッシュがあるときは、値を 0 にしてこの機能を無効にする方がよい場合もあります。これをうまく処理するために、両面のフラグを、後からエディターで加えることもできます。 |
Baked Tag | 前述の System Tag プロパティと同様に、この番号を使用すると、特定の一揃いのオブジェクトを別のベイクしたライトマップにまとめることができます。システムタグと同様に、正確な数値は重要ではありません。Baked Tag 値が異なるオブジェクトは、同じアトラスに置かれることはありません。しかし、同じタグが付いたオブジェクトが同じアトラスになるという保証はありません。なぜなら、それらのオブジェクトが必ずしも 1 つのライトマップに収まるとは限らないからです (下の画像 A を参照)。マルチシーンベイクの API (BakeMultipleScenes) を使用する場合は、グループ化が自動的に行われるため、これを設定する必要はありません (Baked Tag の Lock Atlas オプションで一部同様の動作をします)。詳細は、後述の Baked Tags: 詳細 を参照してください。 | |
Pushoff | モデリングユニットのレイをトレースし始める前に、サーフェスのジオメトリから押し離す距離。これは、すべてのベイクされたライトマップに適用されるので、直接光、間接光、アンビエントオクルージョンに影響します。Pushoff は不要なアンビエントオクルージョンや影を除くのに便利です。この設定を使うと、オブジェクトのサーフェスがそれ自体に影を落とし、明白なソースなしに小さなはん点のついた影が表面に現れる問題を解決できます。また、細かいディテールに対し正確にレイトレースを行なえるほど浮動小数点の精度が高くない場合に、巨大なオブジェクトで発生する不要なアーティファクトを除去するのに利用できます。 | モデリングユニットで、レイの起点をジオメトリからレイトレーシングの法線に沿って押し離す量。これは、ベイクしたライトマップすべてに適用されるため、直接光、間接光、アンビエントオクルージョンに影響します。必要のないオクルージョンや影の削除に有用です。 |
上の図は、同じシーンの 2 つのビューを示しています。
左: すべてのゲームオブジェクトが同じ Baked Tag を持つため、すべてが 1 つのアトラスに含まれます。
右: ゲームオブジェクトの 1 つに異なる Baked Tag を割り当て、強制的に 2 つめのライトマップに加えました。
プロパティ | 機能 |
---|---|
Quality | アンビエントオクルージョンを評価するときに発するレイの数。この数字が大きいほど アンビエントオクルージョンの品質が向上しますが、ベイク時間も長くなります。 |
Anti-aliasing Samples | アンビエントオクルージョンのアンチエイリアスを行うときに取得するサンプル数。サンプル数が多いほどアンビエントオクルージョンの品質が上がりますが、ベイク時間も長くかかります。 |
プロパティ | 機能 |
---|---|
Backface Tolerance | 出力テクセルから発されたレイが表面に当たる割合。システムが有効なテクセルと認識するためには、この割合を満たす必要があります。テクセルから発したレイがあまり多く裏面にあたる場合は (テクセルがジオメトリの内部にある場合)、テクセルを無効にします。テクセルが無効の場合、ライティングシステムは近隣のテクセルから有効な値を複製し、予期しないアーティファクトを避けます。 例えば、Backface Tolerance が 0.0 の場合は、裏面しか見えない場合のみ、テクセルは拒否されます。1.0 の場合は、裏面に当たるレイがたった 1 つあるだけでも、レイを発するテクセルは拒否されます。 |
ライトマップパラメーターアセットをシーン全体に割り当てるには、Lighting ウィンドウ (Window > rendering > Lighting Settings) を開き、Scene タブをクリックし、General GI 設定に移動します。
Default Parameters ドロップダウンを使ってデフォルトのライトマップパラメーターアセットを割り当てます。このドロップダウンリストには使用可能なライトマップパラメーターアセットすべてが含まれています。
ライトマップパラメーターアセットをゲームオブジェクトに割り当てるには、ゲームオブジェクトにメッシュレンダラーか Terrain コンポーネントがアタッチされていることを確認します。
ライトマップパラメーターアセットをメッシュレンダラーに割り当てるには、コンポーネントの Lightmap Static チェックボックスにチェックを入れ、Lightmap Settings の下の Lightmap Parameters からオプションを選択します。 Default scene parameter を選択すると、シーン全体に割り当てられたライトマップパラメーターアセットと同じものが使用されます。
ライトマップパラメーターアセットを Terrain に割り当てるには、Terrain の Lightmap Static チェックボックスをチェックし、Advanced Parameters からオプションを選択します。シーン全体に割り当てられた同じライトマップパラメーターアセットと同じものを使用するには、Default scene parameters を選択します。
2018–03–28 限られた 編集レビュー で修正されたページ
プログレッシブライトマッパーは2018.1 で追加 NewIn20181