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

Unity

 

■PR■

現在Meta Quest2 128GBが13%割引で買えるうえ、なんと「Space Pirate Trainer DX」と「GOLF+」がタダで貰えるようです(2023/04/02 23:59まで)。

ザッカーバーグ氏太っ腹すぎる…Σ(゚Д゚)

Meta Quest 2—完全ワイヤレスのVRヘッドセット【2023/06/03まで「Space Pirate Trainer DX」「GOLF+」無料ダウンロード付】—128GB|Amazon

この機会にメタバースデビューしておくのも良いかも。

使い方

空のオブジェクトにアタッチし、消したいオブジェクトを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をコピーしました