バーチャル3Dクリエイター神部まゆみです(*^_^*)
この記事はUnityで二つのオブジェクトの表示非表示を切り替えるスクリプトを書いたので、それについての記事です。
使い方
空のオブジェクトにアタッチし、消したいオブジェクトを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;
}
}
}
}


