【Unity】ライト毎に作る影の解像度を設定する
Unity 5.4からライト毎に影の解像度を設定出来るようになりました。
影の解像度設定
Unity 5.4から、ライト毎に影の解像度を設定することが出来るようになりました。
GetComponent<Light> ().shadowCustomResolution = 解像度;
これで影の解像度を設定出来ます。解像度を落とす事で、影用のテクスチャを下げる事が出来ます。
少し分かりにくいのが、0~1や1~100%や解像度指定ではなく、intの数値を指定している点です。0だと最高解像度になるのですが、大体同じような値にしたい場合は3000を指定しました。
確認すると、3000~2000にかけて少し汚くなっています。
3000~300にはかなり差があり、300~200にかけては結構な違いが見て取れます。
シャドウマップにもソコソコの差が出ます。
なお、シャドウマップの解像度はビデオメモリや環境に応じて自動的に減らしていくそうです(スクリーンデータとレンダリングテクスチャデータを格納するのに必要なメモリが消費されます。そして、残りのビデオメモリの 3分の1 は、シャドウマップで使用するために確保されます)。つまり、モバイル等ではどうしても汚い解像度になるかもしれません。
要するに、コレの基本的用途はライトマプの解像度を減らすことという事です。