UnityのScroll Viewの使い方

目次

概要

UnityのScroll Viewを使って、テキスト等のスクロールをする方法について紹介します。

環境

  • Unity 2022.3.10f1

スクロールについて

Unityで長大なテキストや、複数のテキストやボタンなどのUIを並べて表示しようとすると、見切れてしまいます。その際には、スクロールをして表示したいところです。

Unityでスクロール表示するには、Scroll ViewというUIを利用します。ここでは、このScroll Viewを使って、設置したテキストやボタン等のUIをスクロールできるようにする方法を説明します。

Scroll Viewの設定

最初に、右クリックからUIとして、Scroll Viewを追加します。

スクリーンショット1

Scroll Viewはいくつかのオブジェクトから構成されています。スクロールで表示したいUIは、Viewport > Contentの子オブジェクトとして追加します。また、Scrollbar HorizontalやScrollbar Verticalがありますが、これは水平方向や垂直方向のスクロールバーになります。

私の環境では、これだけでは使いにくいと感じています。そこで、いくつかの設定をカスタマイズします。

最初に、スクロール領域に表示するコンテンツについて、自動で高さを調整するようにします。自動で調整するには、ContentオブジェクトにVertical Layout GroupとContent Size Fitterコンポーネントを追加します。

スクリーンショット2

コンポーネントの追加後、設定を変更します。Vertical Layout Groupでは、Control Child SizeについてHeightにチェックを入れます。Content Size Fitterでは、Vertical FitについてPreferred Sizeに変更します。

また、表示されるUIについて、上下左右の余白がないため、窮屈な印象があります。その場合は、Paddingの値を変更することで上下左右の余白を設定可能です。

このままの設定では、端までスクロールした際に、びよんびよんと動いてしまいます。そこで、少なくとも水平方向にスクロールする予定がない場合には、Scroll ViewのScroll Rectコンポーネントについて、Horizontalのチェックを外しておきます。こうすることで、水平方向へのスクロールができなくなりました。

スクリーンショット3

これでScroll Viewの設定は終わりです。

さいごに

私がScroll Viewを利用する際に行う設定について説明しました。Scroll Viewは少しくせがあるように感じていますが、適切なコンポーネントを追加すれば、ちゃんと使えます。

皆さんの参考になればうれしいです。