動画のように一定距離まで進むとオブジェクトが出現するようにしていきます。
解説には画像の操作キャラと一本道を使って行きます。ヒエラルキーの赤丸が操作キャラです。

あとで出現させるオブジェクトを作り非表示にさせておきます。非表示はオブジェクトをクリックして右上の赤丸のチェックを外すことでできます。

次にキャラクターがここまで進んだらオブジェクトを表示させたいという位置に別のCubeを設置し、サイズを調整して巨大な壁のようにします。

このオブジェクトはイベントを発生させるための判定なので透明にして当たり判定もなくしましょう。
画像赤丸の「Mesh Renderer」のチェックを外すと透明に、「Box Collider」の「トリガーにする」のチェックを外すと当たり判定をなくすことができます。

次に操作キャラをクリックして右上の「タグ」を選びます。すると項目が表示され、その中にある「Player」を選びます。

新しくスクリプトを作り、以下のコードをコピー&ペーストします。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
public GameObject Object;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
void OnTriggerEnter(Collider other)
{
//接触したオブジェクトのタグが"Player"のとき
if (other.CompareTag("Player"))
{
Object.SetActive(true);
}
}
}
スクリプトができたら判定にするオブジェクト(巨大な壁にしていたオブジェクト)にスクリプトを貼り付けます。
スクリプトには「オブジェクト」という項目があるのでそこに出現させるオブジェクトを入れます。

これで完成です。プレイヤーが壁に触れるとオブジェクトが出現されるようになります。
出現させたいオブジェクトが複数ある場合はまとめてゲームオブジェクトの子にしてスクリプトの「オブジェクト」にゲームオブジェクトを入れることでまとめて出現させることができます。

コメントを残す