GI キャッシュは、リアルタイム GI を事前計算して、静的ライトマップ、ライトプローブ、リフレクションプローブをベイクするときに、中間ファイルを保存するためにグローバルイルミネーション (GI) システムで使用されます。キャッシュはコンピューターのすべての Unity プロジェクトで共有されるので、同じコンテンツと同じバージョンのライティングシステム (Enlighten) を持つプロジェクトではファイルの共有が可能で、その後のビルド時間を短縮できます。
GI キャッシュ の設定は、Windows上では、Edit > Preferences > GI Cache 、macOS 上では、Unity > Preferences > GI Cache で行います。
プロパティー: | 機能 |
---|---|
Maximum Cache Size (GB) | スライダーを使用して、GI キャッシュの最大サイズをギガバイト単位で定義します。GI キャッシュのサイズ Preferences > GI Cache で指定したサイズより大きくなると、Unity はキャッシュをトリムするジョブを作成します。トリムジョブは、GI キャッシュが指定されたサイズを超えないようにいくつかのファイルを削除します。最後にアクセスされたときの状態に基づいてファイルを削除します。それは最後にアクセスされた時点が最も長く遡るものから除去し、最近使用されたものを保持します。 注意 GI キャッシュ内のすべてのファイルが現在のシーンで使用中の場合は (おそらく、シーンが非常に大きいか、キャッシュサイズをあまりにも小さく設定したため)、キャッシュサイズを増加してください。 そうでないと、ベイクする時にリソース負荷の高い再計算が発生します。 |
Custom cache location | デフォルトでは、GI キャッシュは_Caches_ フォルダーに格納されます。Custom cache location をチェックすると、デフォルトの場所を上書きされ、カスタムの場所を設定できます。注意 GI キャッシュを SSD ドライブに保存すると、ベイク処理が I/O バウンドな場合にベイクを高速化できます。 |
Cache compression | このチェックボックスをチェックすると、GI キャッシュのファイル圧縮が可能になります。ファイルはデフォルトで LZ4 圧縮され、命名規則はハッシュとファイル拡張子です。ハッシュは、ライティングシステムへの入力に基づいて計算されるため、以下のいずれかを変更すると、ライティングの再計算を引き起こす可能性があります。 - Materials (Textures, Albedo, Emission) - Lights - Geometry - Static flags - Light Probe groups - Reflection probes - Lightmap Parameters |
Clean Cache | GI キャッシュのディレクトリを削除するには、Clean Cache ボタンを使用します。エディタの実行中に手動で GI キャッシュディレクトリを削除することは安全ではありません。これは、 GiCache フォルダーがエディターの起動時に作成され、 エディターがハッシュの集合を保持して、GiCache フォルダー内のファイルを検索するために使用するからです。ファイルやディレクトリが突然消えるとシステムは障害から回復できないこともあり、コンソールにエラーを表示します。 Clean Cache ボタンを使用すると、エディターは、ディスク上のファイルへの参照すべてを削除する前に解放します。 |
シーンをリロードしたときに、GI キャッシュからライティングデータをかなり短時間で読み込むためには、Lighting ウィンドウ ( Window > Lighting) を開き、ビルドボタンの横にある Auto チェックボックスにチェックします。 これにより、ライトマップのベイクを自動化します。つまり、ライトマップデータは GI キャッシュに格納されます。
Lighting ウィンドウでは、シーン内のベイクしたデータをクリアすることができます ( Auto チェックボックスを選択解除し、Build ボタンのドロップダウンをクリックし、 Clear Baked Data を選択します)。 これは GI キャッシュをクリアしません。なぜなら、これは後でベイクの時間を増加するからです。
異なるマシン間で GiCache フォルダーを共有できます。これにより、ライティングビルドをより速く構築できます。なぜなら、ファイルがローカルで計算されるのではなく GiCache フォルダーからダウンロードされるからです。ビルド処理は低速のネットワークアタッチトストレージ (NAS, Network Attached Storage) に対して最適化されていないため、キャッシュを NAS に移動する前にベーク時間に重大な影響があるかどうかをテストしてください。