やりたいこと
モンストの図鑑のように大量にオブジェクトをリストで表示するものを作っていた。
モンストで言えば1000体近くのアイコンが一覧リストになっている。
このようなリスト表示を普通に1000個オブジェクトを配置して,いたら実機で重たいと言われた。
まあ,確かにそうなるよねーということで解決策を考えてみた。
サンプルを作って見た
Sampleシーン
再生すると大量オブジェクトを軽くして表示しているもの
Sample1シーン
大量オブジェクトを何もせずに表示しているもの
軽くした方法
画面外のオブジェクトはSetActive(false)にする
すこし分かりにくい実装をしている部分の解説
- GridLayoutGroupで一度大量のオブジェクトをSetActive(true)で並べる
- その後GridLayoutGroupをOFFにする(コルーチン部分)
- Updateでリストの動きに合わせて必要なオブジェクトだけONにしている
- 理由はGridLayoutGroupがONだとオブジェクトのON/OFFに合わせて常に並び変えてしまうから
- Maskを外して,Sceneウィンドウで見ると何しているか視覚的に確認できる
結果
他の人達はどう実装しているんだろうか。。。