みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Draw Callを減らすには

UnityでDraw Callが大きいととても処理が重くなります。Draw Callはできるだけ少なくするのがよいようです。

Draw Callの取得の仕方

Gameウインドウで、右上のStatsを押します。すると下のような情報が表示されます。これはUnity Proでなくても使用できます。

f:id:atsuhiro-me:20151103003522p:plain:w300

Draw Callを意識したプロジェクトの作成

テクスチャは1つにまとめる

512px * 512px のテクスチャ16枚を表示するよりは、2048px * 2048pxのテクスチャを1枚表示する方が早い。

とりあえず巨大でたくさんのパーツを描いたテクスチャを作成しよう。

Mateiralは1つにする

普通のゲームではマテリアルはTransparent/Diffuseにしておけばだいたいことが足りる。

マテリアルをあらかじめ作っておいて、上記のテクスチャを設定しておき、全てのGameObjectに適応する

GameObjectのScale(拡大縮小)は禁忌

同じMaterialでもScaleを1以外にするだけでDraw Callは増加する

Scaleはいじらない。Blenderにて大きさを指定してしまうか、インポート時のスケールを変更すること。

例えば上のだんごのイラストは、5つのGameObjectからなっていますが、Unityがbatchしてくれているので、Draw Callは1となっています。

(2013.6.10)