ライティングデータアセットは、シーンの事前計算されたライティングデータを Unity エディターに保存します。ライティングデータアセットは、ワークフロー上の理由からプロジェクト内で別のファイルとして存在します。事前計算されたライティングデータが別のファイルに保存されるということは、事前計算されたライティングデータを変更してもシーンファイルは変更されません。ライティングデータアセットは、ユーザーが編集することを意図していません。
Unity は、Lighting ウィンドウ の Generate Lighting ボタン、または Lightmapping.Bake か Lightmapping.BakeAsync API を使ってライティングの事前計算を呼び出したときに、事前計算されたライティングデータをライティングデータアセットに保存します。
ライティングデータアセットには、グローバルイルミネーションデータとシーンのライティングを再現するために必要なすべてのサポートファイルが含まれています。このアセットは、レンダラー、リアルタイムライトマップ、ベイクしたライトマップ、ライトプローブ、リフレクションプローブ、およびこれらの要素の関係を保存するデータ構造体を参照します。また、プレイヤーのリアルタイムグローバルイルミネーションの外観を更新するために必要な、事前計算された Enlighten リアルタイムグローバルイルミネーションデータも含まれています。
例えば、Contribute GI としてマークされたゲームオブジェクトのプレハブの接続を断つなどしてシーンを変更した場合、アセットデータは最新の状態ではなくなるため、再ビルドが必要になります。
ライティングのビルドプロセスで生成される中間ファイルは、プレイヤービルドの生成には必要ないため、アセットの一部ではなく GI キャッシュ に保管されます。
ライティングデータアセットのビルド時間は場合によって変化します。GI キャッシュ が完全に取得されている場合、つまり以前にマシン上で (現在のシーンの状態で) ベイクをしたことがある場合は短時間で済みます。キャッシュが空のマシンにシーンを読み込む場合や、キャッシュサイズの制限により必要なデータが削除されている場合は、まず中間ファイルをキャッシュに追加する必要があります。これには事前計算とベイクのプロセスを実行する必要があります。このステップには多少時間が掛かる場合があります。
新しいシーンを追加すると、Unity はデフォルトのライティングデータアセットを使用します。このアセットは、Unity のビルトインの Default Skybox から環境ライティングを取得する非表示のアンビエントプローブと非表示のリフレクションプローブを参照します。このアセットは Project ウィンドウに表示されません。
非表示のプローブのデータは固定されます。例えば、Lighting ウィンドウで スカイボックスマテリアル を変更しても、非表示のプローブ内のデータは変更されないため、オブジェクトの環境ライティングは同じままになります。
デフォルトのライティングデータアセットの使用を中止するには、Lighting ウィンドウで Generate Lighting または Clear Baked Data を選択します。選択すると、Unity は新しいデフォルトのライティングデータアセットと新しいベイクしたリフレクションプローブ (アンビエントリフレクションプローブ) を作成して使用します。これらのアセットは Project ウィンドウに表示され、Generate Lighting を選択すると更新されます。