※このページではアフィリエイト広告を紹介しています

Unityで二つのオブジェクトの表示非表示を切り替えるスクリプトを書いたのでメモ

Unity

 

■PR■

現在200個以上の新規unityアセットが最大50%オフで買える New Releaseセールをやっているみたいです。

unityアセット New Release割引 最大50%OFF

欲しいアセットはこの機会に買っておくと良いかも。

 
 

 

 

使い方

空のオブジェクトにアタッチし、消したいオブジェクトをHideObjectにセット、表示したいオブジェクトをAppearObjectにセット。

unityで実行してCキーを押せば発動。

機能

オブジェクトを表示したり非表示にしたりできる。

こんな感じ。

閉めた状態のドアを非表示にしておいて、スクリプトで切り替えています。

お風呂の扉を開け閉めする動作を作ろうとしたけど、良い感じにできそうになかったので単純にしようと思って作った。

ちょっと機械的すぎるけど、閉める時はカメラに映らないようにしておけば大丈夫でしょう。

変化していく過程を表現するのは面倒なので、どうでもいいところはこのくらい単純に表現してしまって、ほかのところに凝ったほうがいいかもしれません。

コード

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class HideAppear : MonoBehaviour {
 
    public GameObject HideObject;
    public GameObject AppearObject;

    private bool Flag;

    void start(){
        Flag = false;
    }
    
    void Update () {
 
        if(Flag == false)
        {
            //Cが押されたら消して出現
            if(Input.GetKeyDown(KeyCode.C)){
            
                //HideObjectを非アクティブに
                HideObject.SetActive(false);
 
                //AppearObjectをアクティブに
                AppearObject.SetActive(true);

                //フラグをtrueに
                Flag = true;
            }
        }
        else
        {
            //Cが押されたら戻す
            if(Input.GetKeyDown(KeyCode.C)){
                //HideObjectをアクティブに
                HideObject.SetActive(true);
 
                //AppearObjectを非アクティブに
                AppearObject.SetActive(false);

                //フラグをfalseに
                Flag = false;
            }
        }
    }
}

 

 

 

タイトルとURLをコピーしました