■Culling(カリング)とは
要するに「写っていないものを描画しない」方法。
これでCPUやGPUの性能をだいぶ節約できる。
当たり前に思えるかもしれないが、3Dは壁の向こうにあるオブジェクトも描画する。
なので、省略して効率化しないとドローコールとかそこらへんでFPSがマッハ。
あっ という間に超重いゲームが出来上がってしまう。
【「UnityでiPhone向け3Dゲームを作る」レポートAdd Star】。
なお距離でモデルを単純な物に置き換える手法はLevel of Detailと言うらしい。
デモは【こちら】 (Exampleを少し改造)
■UnityのCulling
Unityには素晴らしい性能のOcclusion Cullingが搭載されているらしい。
特に3.5から機能を一新!(きっと)性能が上がって万々歳!
と喜びたいところだが、この機能はPro版専用の機能。
要するに、PC版で使うなら12万、iosで使うならさらに12万、androidで使うなら12万。
合計で大体36万くらい必要になるらしい。
ちなみに実はこの手の機能は非常に高価らしいんで、36万はかなり廉価といえるらしい。
Unity Proはカリングの他にも素晴らしい機能が色々と追加される。
Level of Detailもそのひとつ。
最終的な手間とクォリティを考えるとPro版にアップグレードしちゃうのも手のような気もするが、はてさて。
■M2HCulling
【M2HCulling】は、無料でCullingできるAssets。
機能は、ブロック単位でカメラから見えるオブジェクトを設定するって単純なもの。
下の図はその設定画面。
3Dのゲームは意外とパフォーマンスが改善するので、試してみると面白いかも。