MRが楽しい

MRやVRについて学習したことを書き残す

UnityのInspectorビューでスライダーを使って数値を入力する

本日はUnityの小ネタ枠です。
UnityのInspectorビューでスライダーを使って数値を入力する方法です。

Inspectorでスライダー操作を使って値を入力する

Inspectorでフィールドの値をスライダーで入力したい場合はRange属性を利用します。

[SerializeField, Range(0.0f, 2.0f)]
private float TailScale = 1.0f;

docs.unity3d.com

サンプルクリプト

スライダー操作でintまたはfloat変数の値を入力する以下のサンプルスクリプトを作成しました。
・SliderTest.cs

using UnityEngine;

public class RangeTest : MonoBehaviour
{
    [SerializeField, Range(0, 10)]
    private float floatField = 0.0f;
    
    [SerializeField, Range(0, 10)]
    private int intField = 0;

    void OnValidate()
    {
        Debug.Log($"floatField: {floatField}, intField: {intField}");
    }
}

適当なオブジェクトにコンポーネントを設定すると、以下の通り値の入力フィールドがスライダーで表示されます。

フィールドでの入力値の最小値、最大値はRange(x,y)で指定した値の範囲になります。
なおスクリプト内から直接値を設定する場合は範囲を超えて値を設定することが可能です。

float型の場合、値は少数まで設定されます。int型の場合、値は整数値で設定されます。