とあるプログラマの備忘録

都内某所に住むプログラマが自分用に備忘録を残すという趣旨のブログです。はてなダイアリーから移動しました!

【Unity 入門】DrawCallが多かった原因

とりあえず動くものを作る事を目標に今までつくってみましたが
他の方の記事をみていたらDrawCallなる物がFPSおよび負荷に多大な影響を与えているとのこと。

自分のつくった物を見てみたらなんと最大値160!これはちょっと多すぎる。

基準としてはスマホも対応させるなら40が程度に押さえるのが良いそうです。
で、なにかこんなにDrawCallを増やしているのかしらべてみました。
色々調べた結果遂に原因がわかりました。原因はライトです。


今回プレイヤーの周りだけを明るくする為に追尾カメラにPointLightを入れていたのですが、
このライトが壁のプレハブを照らすのが良くない様です。

ライトが照らす壁やオブジェクトが多いとDrawCallが多くなってしまうのでしょうか。
これは予想ですが、照らされている場所と暗い場所は別にCallしてるのかもしれません(どなたかわかる方教えてください。)

兎にも角にもこのライトが原因だったのでこのpointLightをやめて全体を照らすDirectional Lightにしてみました。

その結果最大値9!

そんなに違うんですか!そうですか!
もしかしたらUnityユーザーの方達の間では当たり前の事なのかもしれませんが、
劇的に値が違ったので備忘録として残しておきます。

DrawCallライトには気をつけろ。
肝に命じておく事にします。