はじめに
Unityでゲームやアプリを開発していると、ユーザーインターフェース(UI)のカスタマイズが欠かせません。今回は、UIの中でも特に便利な「スライダー」を使用して、オブジェクトのサイズを動的に変更する方法を初心者向けに解説します。この記事を読むことで、UnityでのUIスライダーの基本的な使い方から、オブジェクトのサイズを調整するためのスクリプトの書き方まで、簡単に理解できるようになります。
Unityプロジェクトの準備
まずはUnityを開き、新しいプロジェクトを作成します。プロジェクト名は任意ですが、「UI_Slider_Demo」など、内容がわかりやすい名前にしましょう。
![](https://cbagames.jp/wp-content/uploads/2024/01/2024-01-27_184016.png)
プロジェクトを開いたら、まずはシーンにCanvasを追加します。Hierarchyウィンドウで右クリックし、「UI」→「Canvas」を選択してください。CanvasがUI要素の「土台」となります。
スライダーの追加
Canvasが準備できたら、次にスライダーを追加しましょう。Canvasを選択した状態で、Hierarchyウィンドウで右クリックし、「UI」→「Slider」を選択します。これで、スライダーがシーンに追加されました。スライダーの位置やサイズは、Inspectorウィンドウから調整できます。
![](https://cbagames.jp/wp-content/uploads/2024/02/2024-02-08_155505.png)
オブジェクトの準備
スライダーでサイズを変更するオブジェクトをシーンに追加します。例えば、3DオブジェクトのCubeを使用する場合は、Hierarchyウィンドウで右クリックし、「3D Object」→「Cube」を選択します。Cubeが追加されたら、位置やサイズを適宜調整してください。
![](https://cbagames.jp/wp-content/uploads/2024/02/2024-02-08_155619.png)
スクリプトの作成
オブジェクトのサイズをスライダーで変更するためには、スクリプトを作成する必要があります。ここではC#を使用します。Projectウィンドウで右クリックし、「Create」→「C# Script」を選択し、スクリプトに「SliderControl」という名前をつけます。スクリプトをダブルクリックして開き、以下のように記述します。
using UnityEngine;
using UnityEngine.UI;
public class SliderControl : MonoBehaviour
{
public Slider sizeSlider; // スライダーをインスペクターから割り当てる
public GameObject objectToResize; // サイズを変更するオブジェクトをインスペクターから割り当てる
void Start()
{
sizeSlider.onValueChanged.AddListener(ChangeObjectSize);
}
void ChangeObjectSize(float size)
{
objectToResize.transform.localScale = new Vector3(size, size, size);
}
}
スクリプトの適用と設定
スクリプトを作成したら、適用しましょう。空のGameObjectを作成し、「SliderControl」スクリプトをアタッチします。その後、インスペクターウィンドウにある「Size Slider」にUIスライダーを、「Object To Resize」にサイズを変更したいオブジェクト(この例ではCube)をドラッグ&ドロップで割り当てます。
![](https://cbagames.jp/wp-content/uploads/2024/02/2024-02-08_155945.png)
まとめ
これで、スライダーを動かすことでオブジェクトのサイズをリアルタイムで変更できるようになりました。UnityのUI要素を使って、インタラクティブな機能を追加することは、ユーザー体験を向上させる素晴らしい方法です。今回の基本的な例を応用して、さまざまなUI機能を自分のプロジェクトに取り入れてみてください。Unityでの開発がより楽しく、創造的なものになることを願っています。