🐕

Unityのスクロール速度を修正したい

2024/10/30に公開

内容

UnityでスクロールできるUIを作成する際にはScrollRectクラスで制御している。個別で更新したい場合はScroll Sensitivityのプロパティを更新してあげるとよい。

Scroll Sensitivity ホイールのスクロールとパッドのスクロールイベントに対する感度。

デフォルトは1fが入っているものだが、体感かなり重いので10f~20f程度の値を入れてあげるのが良さげ。
https://docs.unity3d.com/ja/2023.2/Manual/script-ScrollRect.html

より汎用化して

各コンポーネントのすべてのプロパティを修正するのは骨が折れるしヌケモレもある。全体で修正する場合はコードに記載する方法で修正するのが賢いと思っている。

using UnityEngine;
using UnityEngine.UI;

public class MyScrollRect : ScrollRect
{
    [SerializeField]
    private float fixedScrollSensitivity = 20f;

    protected override void Awake()
    {
        base.Awake();

        // スクロール感度を上書き
        scrollSensitivity = fixedScrollSensitivity;
    }
}

Unity自前のScrollRectを継承して、MyScrollRectを用意。そこでコンポーネントを上書きするようにして管理するのが良さそう。

Discussion