Unity-URPのプロジェクトで複数光源(ポイントライトなど)がシーン再生で反映されず、いくつか消える件
ポイントライトを7つくらい配置してシーン再生して観察してみると
同時に光るライトが4つしかないということに気付いた。
環境 Win10 / Unity Editor 2019.4.11f1
原因
ざっくり言うと、光と影の演算が大変だから光源の個数は制限がかかっているらしい。
対策
いろいろ調べるとPixel Light CountがDefault 4なのでこの制限の数字を変更してやればよいということらしい。
ただ、URPプロジェクトにはそんな設定はない。
同等のことをする場合には
Create->Rendering->Universal Render Pipeline->Pipeline Asset
を選択してアセットを作成する。
そのインスペクターから[Lighting]の[Additional Light]をPer Pixelに選択し
[Per Object Limit]を4から8に増やす。※最大値が8
そのあとProject Settings -> Quality -> Rendering の欄にで↑で作ったURPのアセットをドラックドロップして反映させる。
この設定で多少ましになった。
雑感
光源の優先度はインスペクターの
RenderModeのImportantとNot Importantでなんとなく選べるっぽい。DefaultはAuto。
しかし、4つ以上(20個くらい)光源をおいてあるUnityアセットとかあるし、ひとつのシーンに映してもちゃんと光ってるようにみえる。どうなってるの?ライトの設定見ても変わったところは見当たらない。
Per Object Limitを変更すると光り方はたしかに変わるけど…、光源を増やしてもなんとか誤魔化す手法は何かはありそう。いずれ何かわかったら追記するかも。