[状況]
オブジェクトを照らすライトをたくさん置いても1つのライトしか反映されない現象に出くわした。
(UnityでOculus Quest用の開発してた)
エディタ上(シーンビューやゲームビュー)では複数のライトが反映されていたが、ビルドしてquest上で動かすとライトが1つしか反映されない。
(unityのバージョンは2018.4.0f1)
[解決策]
反映させたい光源のRender ModeをImportantにすればとりあえず解決する。
[原因]
どうやらレンダリングパスとやらがフォワードレンダリングになってて、オブジェクトにきっちり作用するライトの数が1つに制限されているらしい。(それ以外のライトは近似される)
光源のRender Modeをimportantにすることでオブジェクトにきっちり作用するライトの数を増やせる。らしい。
https://docs.unity3d.com/ja/2018.4/Manual/RenderTech-ForwardRendering.html
[おまけ]
Unity内で使える動的光源(スポットライトやポイントライト)?の最大数というのもきまってるらしく
Edit > Project Settings > Quality >RenderingのPixel Light Count
でその数を確認できる。
光源の数が多いときに反映されない場合はここもいじる必要あるかも。
(ただしあまり増やすのはよくないらしい)
最初はマテリアルの問題かな~って思ってそっちずっと調べてシェーダーとかにも手を出したのにさぁ
結局は光源の問題だったというね。
日曜日消えたわ!うんち!
この記事がお役に立ちましたらLGTMボタン押しといてください。
←左側もしくは↓このへんにあります。