【Unity】スライダーの使い方と値の取得方法解説

URLをコピーする
URLをコピーしました!

CGBoxの一部の記事にはアフィリエイト広告が含まれております。

こんにちは!UnityのUI機能の一つであるスライダー、使っていますか?

スライダーはHPバーとして使えたり、音量調節機能として使えたりと使いこなせるととても便利なUIです。

本記事ではそんなスライダーの使い方を解説していきます!

目次

スライダーとは?

スライダーとは、ユーザーがドラッグして値を調整できるUIのことです。

Unityには下のようなスライダーが標準機能としてあるので、簡単に実装することができます。

HPバーが自作できる

スライダーは色や値を指定して変更することができます。

ゲームによく使われるHPバーもスライダーを使って実装することができます。

スライダーの使い方解説

それでは実際にスライダーを作成していきましょう。

スライダーを作成

スライダーを作成するには、エディタ画面上部からGameObject > UI > Sliderを選択しましょう。

すると以下のような基本的なスライダーが作成されます。

Playボタンを押してSliderの動作を確認してみましょう。

つまみの部分をドラッグすると下のようにスライダーを操作することができます。

なお、SliderオブジェクトはヒエラルキーのCanvas内に配置されているのが分かります。

このCanvasとはUIが配置・描画される領域のことで、Sliderを作ると自動的に作成されます。

Canvasについて詳しくは下の記事で解説しています。

あわせて読みたい
【Unity】Canvasとは?基本の設定方法と使い方 こんにちは!UnityのCanvasについて理解していますか? UnityのUIはボタンやテキストを配置するだけで簡単に作ることができます。 ですがCanvasの設定は最初にしておか...

インスペクターからスライダーの値や色を変更

基本的なスライダーの作り方が分かったところで、次はスライダーの値や色をインスペクターから変更する方法を解説します。

色を変更する

色の変更は、Sliderの子オブジェクトのインスペクターから行えます。

例えば下のようにつまみの左側の色を変更するには「Fill」のインスペクターを開き、

Image内のColorの色を変更しましょう。

同様にして、つまみの右側の色を変更したい場合はBackgroundから

つまみ自体の色を変更したい場合はHandleから行うことができます。

また下の例のようにユーザーからのアクションに応じて色を変更するといったこともできます。

この場合はPressdColorの色を赤色にしているので、つまみが押されているときだけ色が変わっていますね。

つまみの状態に応じて以下の5つの設定項目があります。

それぞれの項目が対応する状態は以下の表の通りです。

Normal Color通常時の色
Highlighted Colorハイライトされている時の色
Pressed Color押されている時の色
Selected Color選択されている時の色
Disabled Color無効時の色

また、つまみ自体を表示されないようにすることもできます。

HandleSlideAreaを非アクティブにするか、非表示にすることでつまみが表示されなくなります。

値を変更する

スライダーの値はValueの項目から変更することができます。

Valueの値に対応してつまみが移動しているのが分かります。

予め値が決まっている場合はこのようにインスペクターから設定しておくといいでしょう。

値をスクリプトから取得する

スライダーの値はスクリプトから取得して変更することができます。

以下はスライダーの値を取得して変更するスクリプト例です。

GetComponent<Slider>();でスライダーコンポーネントを取得しています。

value」の値を設定することでスライダーの値が変更できます。

maxValue」で最大値を設定することもできます。

このプログラムをヒエラルキーにあるSliderオブジェクトにドラッグ&ドロップしましょう。

プログラムを実行すると、Valueの値がスクリプトから指定した0.3に変更されているのが確認できます。

スライダーが動かない時

スライダーを作ってプログラムを実行してもスライダーが動かない、という時があります。

そんな時に確認したい項目を紹介します。

EventSystemが存在するか

ヒエラルキー上にEventSystemがないとスライダーにアクションを行うことができません。

EventSystemはUIを作成すると自動的に作られるので、ない場合はもう一度作成してみましょう。

Interctableにチェックが入っているか

Interctableにチェックが入っているかを確認しましょう。

下のようにチェックが外れていると、つまみの部分が半透明に表示されていますよね。

この状態ではスライダーにアクションを行うことができなくなるので、チェックを入れておくようにしましょう。

別のUIが手前に置かれていないか

Unityではヒエラルキー上で下に置いたUIほど手前に表示されます。

つまり下の例ではSliderよりもImageの方が手前に表示されることになります。

これにより、手前のUIに邪魔をされてスライダーにアクションが行えない場合があります。

そんなときはスライダーが手前にくるように順番を変更するか、手前側のUIのRaycastTargetのチェックを外すことで解決できます。

スライダーで音量を調整する方法

音量を調整するスライダーを作ることができます。

UnityにはAudioSourceコンポーネントという音を鳴らす機能が用意されているので、これとスライダーとを利用することで実装できます。

具体的なプログラム、実装方法は下の記事が参考になります。

coaの開発ブログ
ゲームジャム向け 音量をスライドバーで調整する方法 ゲームジャムで必須の音量設定バー、公開間際になってどうすればいいのか調べていませんか? 本記事では簡易的な音量調整バーを解説します。

基本的な音の鳴らし方については下の記事で解説しています。

あわせて読みたい
【Unity】音の鳴らし方・音楽を再生する方法解説 ゲームを開発していると、効果音を鳴らしたりBGMを再生させたくなりますよね。 Unityでは簡単に音を鳴らす方法が用意されているんです! 本記事ではUnityでの効果音の鳴...

おすすめアセット

円形スライダーが使えるアセット

あわせて読みたい
Modern UI Pack | GUI Tools | Unity Asset Store Use the Modern UI Pack from Michsky on your next project. Find this GUI tool & more on the Unity Asset Store.

「Modern UI Pack」はスライダーやボタンといった18種類のUI

それぞれに色や形など様々なバリエーションが含まれたアセットです。

下の画像のような円形スライダーも含まれています。

オシャレなスライダーが使えるアセット

あわせて読みたい
Super Clean UI - Flat Pack | 2D Icons | Unity Asset Store Elevate your workflow with the Super Clean UI - Flat Pack asset from RainbowArt. Browse more 2D GUI on the Unity Asset Store.

「Super Clean UI – Flat Pack」はシンプルかつオシャレなデザインのUIが600種類以上入ったアセットです。

画像のように様々な種類のスライダーを実装でき、表現の幅が広がります。

まとめ

以上、Unityのスライダーの使い方について解説してきました!

スライダーは使い方が幅広くシンプルながらも奥の深いUIなので、ぜひ使い方をマスターしたいですね。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Unityメインの個人開発者。UnityでAIを学習させてみたり、野球ゲームを作ってみたりと色々してました。現在はライターとして、Unityで開発する人の力になる記事が書けるよう奮闘中。

目次
閉じる