スライダー(Slider)とは
スライダー(Slider)は、「一定範囲内の数値をドラッグで調整する」ためのUIコンポーネントです。

- スライダー(Slider)の主な特徴
特徴 | 内容 |
---|---|
値の範囲指定が可能 | minValue~maxValue を設定して、任意の範囲の数値を扱える |
現在値を取得/設定可能 | value プロパティで現在の数値を取得/変更できる |
値の変更イベント対応 | onValueChanged イベントで、スライダーが動いたときに処理を呼び出せる |
ハンドルのドラッグ対応 | マウス/タッチ/キーボードで直感的に操作できる |
横・縦方向の変更可能 | Direction を指定して、水平/垂直スライダーを作成可能 |
フィルバー表示 | Fill を設定すれば、進捗状況を視覚的に表現可能 |
ステップ調整可能 | wholeNumbers を有効にすれば整数のみ(例:1, 2, 3…)に制限可能 |
- スライダー(Slider)の主な用途
用途 | 具体例 |
---|---|
サウンド設定 | BGM/SE 音量調整バー |
ゲーム設定 | 画面の明るさ、感度、マウススピードなどの調整 |
ステータス表示 | HPゲージ/進行度バーとして利用(interactable = false にする) |
数値入力 | スライダーで数値を決定し、テキストなどにリアルタイム反映 |
グラフィカル演出 | エネルギー充填、ロード進捗、タイマー表現など |
カスタムUI | 色選択バー、スキル強化UI、武器の威力調整バーなどの応用 |
スライダー(Slider)を構成するオブジェクト
Slider
├── Background
├── Fill Area
│ └── Fill
└── Handle Slide Area
└── Handle
オブジェクト名 | 機能カテゴリ | 役割 |
---|---|---|
Slider | 本体 | 数値の変化を管理し、UIイベントを制御する。 Sliderコンポーネントを持つ。 |
Background | 背景 | スライダーのバー全体の背景部分(通常はグレーなど)。 Imageコンポーネントを持つ。 |
Fill Area | グループ | スライダーの塗りつぶし(進捗)部分のコンテナ。 |
Fill | 前景 | スライダーの進捗に応じて伸縮するバー部分。 Imageコンポーネントを持つ。 |
Handle Slide Area | グループ | ハンドル(つまみ)が動く範囲を定義するコンテナ。 |
Handle | 操作入力 | マウスやタッチでドラッグ可能なつまみ部分(スライダー値を変更するUI)。 Imageコンポーネントを持つ。 |
Imageコンポーネントについては、下記の記事で詳しく解説しているので参照してください。

スライダー(Slider)の基本的な使い方
スライダー(Slider)を使用するには、UI要素を配置するためのCanvasが必要です。
もし、シーンにCanvasが無い場合は、Canvasを作成してください。
キャンバス(Canvas)の作成:
「ヒエラルキー(Hierarchy)」ウィンドウを右クリック⇒UI⇒キャンバス(Canvas)
を選択してCanvasを作成します。
スライダー(Slider)の作成:
「ヒエラルキー」ウィンドウのCanvasオブジェクトを右クリック⇒UI⇒スライダー(Slider)
を選択してSliderをCanvasに追加します。
Sliderコンポーネントでは以下の項目を設定できます。
- Interactable
- 遷移 (Transition)
- ナビゲーション (Navigation)
- 可視化 (Visualize)
- 塗りつぶし矩形 (Fill Rect)
- ハンドル用の矩形 (Handle Rect)
- 向き (Direction)
- Min Value
- Max Value
- 総数 (Whole Numbers)
- Value
- 値の変更時 (Single) (On Value Changed (Single))
順番に解説していきます。
Interactable
スライダー(Slider)がユーザー操作を受け付けるかどうかを制御するプロパティです。
詳細は、Button (Legacy)の記事で解説していますので、そちらを参照してください。

遷移 (Transition)
スライダー(Slider)の状態(通常/ホバー/クリック/無効)に応じて、見た目を変える仕組みです。
詳細は、Button (Legacy)の記事で解説していますので、そちらを参照してください。

ナビゲーション (Navigation)
キーボード・ゲームパッドなどの入力デバイスを使って UI を移動(フォーカス)するための制御機能です。
詳細は、Button (Legacy)の記事で解説していますので、そちらを参照してください。

可視化 (Visualize)
Inspector の Navigation セクション右上に表示される Visualize
ボタンをクリックすると、
Sceneビューに「矢印(Arrow)」が表示され、他のUIへのナビゲーション接続が見えるようになります。
これは、キーボードやゲームパッドによるUI移動経路を直感的に確認するためのデバッグツールです。
塗りつぶし矩形 (Fill Rect)
スライダーの進捗(=現在の値)に応じて、バーが「塗りつぶされる」エリアを指定するプロパティです。
デフォルトでは子オブジェクトの Fillがアサインされています。
設定対象にするオブジェクトは、以下の要件を満たす必要があります。
要件 | 内容 |
---|---|
コンポーネント | Image(もしくは RawImage)を持つ必要あり |
UI構造上の位置 | Sliderの子孫オブジェクトであること(Fill Area 内など) |
対応モード | Image.type = Filled でも Simple でも利用可能 |
ハンドル用の矩形 (Handle Rect)
スライダー上でユーザーがつまんで操作できる「ハンドル(つまみ)」の RectTransform を指定するプロパティです。
※スライダーの「現在値」を直接ドラッグで変更できる、操作用のUIパーツにあたります。
デフォルトでは子オブジェクトの Handle がアサインされています。
- 主な機能と操作
項目 | 内容 |
---|---|
表示・移動 | スライダーの値に応じて、ハンドルの位置が自動でスライドする |
入力の受付 | ユーザーがマウス・タッチでドラッグすることでスライダー値を変更できる |
対象となる範囲 | Handle Slide Area 内で Direction に応じた軸でのみ移動 |
向き (Direction)
スライダーの値の進行方向(=塗りつぶしやハンドルが動く方向)を決定するプロパティです。
- 選択可能な向きの種類
値(列挙体) | 表示と操作の方向 |
---|---|
左から右 (Left To Right) | 値が小 ⇒ 大になるほど、ハンドルとバーが左 ⇒ 右へ進む |
右から左 (Right To Left) | 値が小 ⇒ 大になるほど、右 ⇒ 左へ進む(反転) |
下から上 (Bottom To Top) | 値が小 ⇒ 大になるほど、下 ⇒ 上へ進む(縦型スライダー) |
上から下 (Top To Bottom) | 値が小 ⇒ 大になるほど、上 ⇒ 下へ進む(縦型スライダーの反転) |
Min Value
スライダーが取りうる値の範囲における「最小値(下限)」を設定するプロパティです。
Max Value
スライダーが取りうる数値の「最大値(上限)」を指定するプロパティです。
総数 (Whole Numbers)
スライダーの値を「整数値のみに制限するかどうか」を指定するプロパティです。
- 挙動の違い
Whole Numbers の状態 | 値の動き | 例(Min: 0, Max: 5) |
---|---|---|
OFF(デフォルト) | float 単位で連続値が扱える | 0.00, 0.01, 1.37, 2.8, 5.00 |
ON | int 単位で段階的に切り替え | 0, 1, 2, 3, 4, 5 |
Value
スライダーが現在示している値そのもの(ユーザーが操作中/設定中の数値)を表すプロパティです。
- Valueの特性
項目 | 内容 |
---|---|
データ型 | float(※wholeNumbers = true で整数として扱える) |
初期値 | minValue に一致(デフォルトでは 0) |
範囲 | minValue ≦ value ≦ maxValue |
UIとの連動 | Fill や Handle の表示位置に連動 |
値の変更時 (Single) (On Value Changed (Single))
スライダーの値が変化したときに自動的に呼び出されるイベント(UnityEvent) です。
public void OnSliderValueChanged(float value)
{
Debug.Log("スライダーの値が変更されました:" + value);
}
- イベントを発行させずに値を変更する方法
slider.SetValueWithoutNotify(50f); // onSliderValueChanged を呼ばない
コメント