建設とUnity

Unityを使って、建設業界向けのソフトを開発するノウハウを紹介します。

【無限】Unityで大量のオブジェクトでも軽量にスクロールできるスクロールビューをつくろう(その2)

前回の記事で軽量にスクロールするためのコンセプトと簡単なサンプルコードを紹介しました。

【無限】Unityで大量のオブジェクトでも軽量にスクロールできるスクロールビューをつくろう(その1) - 建設とUnity

しかし、軽量化するために、スクロールビューの要素を最低個数のボタンにしたため、 スクロールバーが対象全体ではなく、要素数分のスクロールしか表現できない状態になってしまいました。

その結果、スクロール内の任意の場所にスキップできず、軽量だが不便なスクロールビューになっていました。

今回は、既存のスクロールバーを非表示にして、代わりにスクロールバーを自作することで、 軽量かつスクロール内の任意の場所にスキップできるスクロールビューを紹介します。

動作イメージ

まず、動作イメージは以下の通りです。

通常のスクロールビューのように、 Content配下に要素をすべて配置した場合は1万個でもかなり負荷が高かった(スクロール時は100msかかる…)ですが、 改良したスクロールビューでは、要素数を1億個などとかなり無茶な値にしても、軽量に動作します。

サンプルコード

サンプルコードは以下のgithubにアップロードしました。 設定方法は近いうちにReadMeに追記しておきます。

GitHub - zheivr/unity-infinite-scrollview