はじめに
こんにちは!今日はUnityを使って、複数のオブジェクトをボタン操作で一括表示・非表示にする方法を紹介します。この記事では、3つのCubeオブジェクトを子オブジェクトとして配置し、親オブジェクトであるCubeParentを操作して子オブジェクトの表示状態を管理します。
ステップ1:Cubeオブジェクトの作成
- ヒエラルキー(Hierarchy)ウィンドウで右クリックし、「3D Object」→「Cube」を選びます。これを3回繰り返して、3つのCubeを作成します。
![](https://cbagames.jp/wp-content/uploads/2024/02/2024-02-03_151313.png)
ステップ2: 親オブジェクトの作成
- ヒエラルキー(Hierarchy)ウィンドウで右クリックし、「CreateEmpty」を選びます。この空のオブジェクトを「CubeParent」と名前を変更しましょう。
- 作成した3つのCubeオブジェクトをドラッグ&ドロップしてCubeParentの子オブジェクトにします。
![](https://cbagames.jp/wp-content/uploads/2024/02/2024-02-14_171345.png)
ステップ3: スクリプトを作成する
次に、親オブジェクト(CubeParent)を操作するスクリプトを作成します。
- スクリプトの作成
- プロジェクト(Project)ウィンドウで右クリックし、「Create」→「C# Script」を選びます。スクリプトの名前を「ToggleObjects」とします。
- スクリプトを編集
- 以下のコードをスクリプトにコピペします。
using UnityEngine;
public class ToggleObjects : MonoBehaviour
{
public GameObject target;
void Start()
{
target = GameObject.Find("CubeParent");
}
public void ObjChange()
{
if (target.activeSelf)
{
target.SetActive(false);
}
else
{
target.SetActive(true);
}
}
}
- ヒエラルキー(Hierarchy)ウィンドウで空のオブジェクトなどを作成し、インスペクター(Inspector)ウィンドウにドラッグ&ドロップして「ToggleObjects」スクリプトをアタッチします。
- スクリプトの
Target
フィールドには、InspectorビューからCubeParentオブジェクト自身をドラッグ&ドロップして設定します。
![](https://cbagames.jp/wp-content/uploads/2024/02/2024-02-14_172843.png)
ステップ4:ボタンの準備
次に、表示・非表示を切り替えるためのボタンを作成します。
- ボタンの作成
- ヒエラルキー(Hierarchy)ウィンドウで右クリックし、「UI」→「Button」を選びます。ボタンをシーンビューで見やすい場所に配置します。
![](https://cbagames.jp/wp-content/uploads/2024/02/2024-02-14_171515.png)
- ボタンの設定
- ボタンを選択し、インスペクター(Inspector)ウィンドウで「On Click()」セクションを見つけます。
- 「+」ボタンをクリックし、CubeParentをこのセクションにドラッグ&ドロップします。
- 関数リストから「ToggleObjects」→「ToggleObjects.ObjChange」を選びます。
![](https://cbagames.jp/wp-content/uploads/2024/02/2024-02-14_173019.png)
ステップ5: 動作確認
すべての設定が完了したら、再生ボタンをクリックしてシーンを実行します。ボタンをクリックすると、3つのCubeオブジェクトの表示・非表示が切り替わることを確認してください。
これで、複数のオブジェクトを一括で表示・非表示にする方法の紹介は完了です。簡単にボタンで操作できるので、ぜひ試してみてください!
おすすめのアセット
8 Ball Pool Billiard Multiplayer Completed Gameは、Unityで簡単にビリヤードゲームを作成できるテンプレートです。このアセットを使えば、複雑なプログラミングなしでマルチプレイヤービリヤードゲームを完成させることができます。