Version: Unity 6.0 (6000.0)
言語 : 日本語
ランタイム前のライトマップのベイク
シーンの準備とライトマップのベイク

ライトマップとベイクの概要

ライトマッピングは、シーンのサーフェスの明るさを事前に計算し、後で使用するためにライトマップと呼ばれるテクスチャに結果を保存する処理です。

左: 簡単なライトマップシーン右: Unity によって生成されたライトマップテクスチャ影とライトの両方の情報がどのようにキャプチャされているかに注目してください。
左: 簡単なライトマップシーン右: Unity によって生成されたライトマップテクスチャ影とライトの両方の情報がどのようにキャプチャされているかに注目してください。

ライトマップには、直接光と間接光の両方を追加できます。このライティングテクスチャは、オブジェクトのマテリアルに関連付けられたシェーダーによって、色 (アルベド) やレリーフ (法線) などのサーフェス情報とともに使用できます。

ライトマップにベイクされたデータはランタイムに変更できません。ライトマップされたシーンの上にリアルタイムのライトを重ねて使用することはできますが、相互作用してライトマップ自体を変更することはできません。

この手法により、ゲーム中にライトを自在に動かす自由と引き換えに、モバイル端末のような非力なハードウェア上でのパフォーマンス向上を狙うことができます。

Unity では プログレッシブライトマッパー を使用してライトマップをベイクします。

ライトマッパーの設定については、ライトマッピング - はじめに を参照してください。

プログレッシブライトマッパー

プログレッシブライトマッパーはパストレーシングに基づく高速のライトマッパーシステムで、エディター内でプログレッシブに更新しながらライトマップとライトプローブをベイクします。これには、面積と角度の誤差が少なく重複しない UV と、チャート間の十分なパディングが必要です。

プログレッシブライトマッパーは短い準備ステップでジオメトリとインスタンスの更新を処理し、G バッファとチャートマスクを生成します。その後、すぐに出力を生成し、時間とともにプログレッシブに細かく仕上げていくことで、インタラクティブなライティングワークフローを大幅に改善します。さらに、プログレッシブライトマッパーではベイクしている間に予定時間が表示されるため、ベイク時間が予測しやすくなります。

プログレッシブライトマッパーは、アップサンプリング手法や放射キャッシュやその他のグローバルデータ構造に頼ることなく、テクセルごとにライトマップの解像度でグローバルイルミネーション (GI) をベイクします。これにより堅牢化され、ライトマップの選択した部分をベイクできるようになるため、シーンのテストとイテレーションを高速化できます。

インタラクティブなワークフローの詳細は、Unity のウォークスルー動画: In Development - Progressive Lightmapper (YouTube) を参照してください。

ランタイム前のライトマップのベイク
シーンの準備とライトマップのベイク