(オブジェクトの作成)
- Cube等で扉オブジェクトを作成
- 名前は「Door」
- 大きさやデザイン等は自由
- Cylinder等でオブジェクト作成
- 名前は「UnLock」
- 大きさ等は自由
- このUnLockオブジェクトに触れている間だけ、扉が開く(扉が消える)ようにします。
(スクリプト)
- 新規にC#スクリプトを作成
- 名前を「UnLock」に変更
- 下記のコードを書いてチェック
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UnLock : MonoBehaviour
{
public GameObject door;
public AudioClip openSound;
public AudioClip closeSound;
private void OnTriggerEnter(Collider other)
{
door.SetActive(false);
AudioSource.PlayClipAtPoint(openSound, transform.position);
}
private void OnTriggerExit(Collider other)
{
door.SetActive(true);
AudioSource.PlayClipAtPoint(closeSound, transform.position);
}
}
(設定)
- このスクリプトを「UnLock」オブジェクトに追加
- Doorの空欄にはDoorオブジェクトをドラッグ&ドロップ
- サウンドは自由に設定
- Is Triggerにチェック
(実行結果)
- 設定が完了したらゲーム再生
- 最初は扉が閉まっている。
- UnLockオブジェクトに触れると扉が消える。
- UnLockオブジェクトから離れると扉が出現する。