Unity5.6でLightingウインドウの中身がガラっと変わりました。
しかーし、2017/4/26現在、英語ドキュメントすら整備されていない状態のようです。
Unity - Manual: Lighting Window
今回のGIの設定に関しての記事は、あまり役ただなくなっているかもしれません。
いずれリライトします。
前回は環境光とライトマップの設定を見ていったので、今回は目玉機能のGIの設定を見ていきます。(とか言いながらライトマップ自体の設定もちょっと出てきます。ここらへんが Lightingウインドウのよくわからんところです。。)
申し訳程度のGI説明
ある物体に光が当たると、その光は反射します。 その反射した光が別な物体にあたると、当たった物体には反射してきた光の色が映り込みます。 そう、それがGI (Global Illumination)
上のリンク先で、球体に赤い色が写り込んでるのがGIです。
GIには二種類の計算方法があります。
Baked GI
反射光自体をライトマップに焼き込む。 焼き込んでしまうので実行時のスピードは早いが、実行時に動的な効果を出せない。
Precomputed Realtime GI
どのように光を反射するかをデータとして保存し、リアルタイムのライトから実際の反射を計算する。 ゲーム中に動的に変わる。
それぞれLightingウインドウの項目に分かれています。親切だね!
Precomputed Realtime GI
Realtime Resolution
数値を上げるほど画質の高いGIになります。 ちなみに Precomputed Realtime GI と Baked GI が両方有効になっている場合、Baked GI の Indirect Resolution 設定は自動でここの値が適用されます。なんでですかねー(棒)
CPU Usage
高くするとGIの計算時間が減るが、フレームレートが悪くなる可能性がある。 ここらへんはトレードオフを考えてお好きに。
Baked GI
Baked Resolution
ベイクされるGIの解像度を決めます。 Realtime Resolution の10倍くらいにするみたいです。
Baked Padding
ベイクして出来上がったライトマップの、各オブジェクトの間にパディングを設定するらしい。 左がパディング 2 のライトマップ、右がパディング 50 のライトマップ。
違いがおわかりいただけただろうか。 データの節約とかになるんすかね?
Compressed
圧縮するかどうか。 圧縮するとデータは軽くなるけど画像は荒くなる。
Indirect Resolution
前述したRealtime Resolutionと同じく、画質の高さを設定する。Precomputed Realtime GI が有効だと Realtime Resolution の値が使われ、この設定項目自体が消える。
Ambient Occlusion
アンビエントオクルージョンの設定。 まず、アンビエントオクルージョンとは!
いい感じの暗がりを作る技術です(たぶん大体合ってる)
お好きに設定すればいいんじゃないですかね。
Final Gather
有効にすると、ベイク時の反射光の計算が細かくなるらしい。 計算に時間がかかるけどクオリティは上がるとのこと。
結局どう設定すればいいのか
たぶん大勢のかたは Unity4 と同じ感じで影を焼きたいだけだと思うんですよ。
ライトマップを焼くためには Precomputed Realtime GI か Baked GI のどちらかを有効にしなければならないんですけど、単に静的オブジェクトに影を焼くなら Baked GI だけ有効にすればいいんじゃないでしょうか。
前回の記事で書いた General GI にもライトマップに関係する設定はあるので、それを見ながら自分で設定探ってみてください。
…ん? Fog? Other Settings は何かって?
元気が出たら書きます。。。
ライトマップを焼くときのオブジェクトの設定とかがよくわからない方は、以下の過去記事が役に立つかもしれません。
Unity5でも気をつけることはあんま変わんないです。