【Unity】オブジェクトの表示・非表示をSetActiveでする方法【スクリプトあり】

  • 最初はオブジェクトが非表示にしたままでいいけど、この処理をしたら表示したいな

という悩みを解決します。

SetActiveを使うことでオブジェクトの表示、非表示を制御することができます。スクリプトが知りたい方は、スクリプトの部分に飛んでください。

目次

Unityのオブジェクトを表示・非表示にする方法

  1. 空のオブジェクトを作る
  2. 立方体を作る
  3. スクリプトを作成して開く
  4. スクリプトを書く
  5. スクリプトをアタッチする
  6. アウトレット接続する

普通に立方体を作って、そこにスクリプトをアタッチしてオブジェクトを表示・非表示したりようと思ったんだけどできなかった!

ので空のオブジェクトにスクリプトをアタッチしてやっていきます。

空のオブジェクトを作る

Unityで空のオブジェクトを作る

【Hierarchy】→【Create】→【Create Empty】

立方体を作る

Unityで立方体を作る

【Hierarchy】→【Create】→【Cube】

スクリプトを作成して開く

Unityでスクリプトを作成して開く

【Projectウィンドウ】→【Create】→【C# Script】→【GameController】→【ダブルクリックしてスクリプトを開く】

スクリプトを書く

GameController.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GameController : MonoBehaviour
{
    public GameObject Cube;

    // Use this for initialization
void Start()
{

    }

    // Update is called once per frame
void Update()
{
        // 左クリックしたとき、オブジェクト表示
        if (Input.GetMouseButtonDown(0))
        {
            Cube.SetActive(true);
        }

        // 右クリックしたとき、オブジェクト非表示
        if (Input.GetMouseButtonDown(1))
        {
            Cube.SetActive(false);
        }
}
}

if (Input.GetMouseButtonDown(0)){A} 左クリックされたときにAの処理を行う
if (Input.GetMouseButtonDown(1)){A} 右クリックされたときにAの処理を行う

左クリックされたときにオブジェクトを表示、右クリックされたときにオブジェクトを非表示にしてます。

SetActiveってこんな感じで使えます。

スクリプトをアタッチする

Unityでスクリプトをアタッチする

【GameObjectにGameControllerスクリプトをドラッグ&ドロップ】

アウトレット接続する

Unityでアウトレット接続する

【Unityエディタに戻る】→【GameObjectを選択】→【Cubeをドラッグ&ドロップ】

実行すると

オブジェクトを表示したり非表示にする

左クリックされたときにオブジェクトを表示、右クリックされたときにオブジェクトを非表示になっています。

Unityのオブジェクトを表示・非表示できない場合

表示や非表示したいオブジェクトにスクリプトをアタッチしているのかもしれません。

例えばCubeを表示したり非表示したりしたいのに、Cubeにスクリプトをつけてはダメということです。

なぜか自分はできませんでした。

まとめ

  • 空のオブジェクトを作って、それにスクリプトをつけてオブジェクトを制御する
  • SetActiveによってオブジェクトの表示・非表示を設定できる

表示・非表示したいオブジェクトにアタッチしてあるスクリプトに記述すれば、普通に切り替えされると思ったんですけどね( ・∇・)

まあしょうがないです。

以上さぎのみや(@saginomiya8)でした。

あわせて読みたい
【Unity2D&3Dサンプルゲーム】動画よりわかりやすく記事でゲームを作ろう【チュートリアル】 ▼この記事を先に見ておきましょう▼ https://miyagame.net/basis-cs/ 当サイトではUnityでのサンプルゲームを作成することができます。Unityでゲームを作っていきましょ...
オブジェクト表示・非表示切り替え

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

よかったらシェアしてね!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次