(Unity)トラップに触れると敵が出現する

(1)下準備

  • トラップにするオブジェクトを作成

(2)スクリプト作成

  • 新規にC#スクリプトを作成
  • 名前を「EnemyTrap」に変更
  • 下記のコードを書いてチェック

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EnemyTrap : MonoBehaviour
{
    public GameObject effectPrefab;
    public AudioClip sound;
    public GameObject enemy;

    private void OnCollisionEnter(Collision collision)
    {
        if(collision.gameObject.CompareTag("Player"))
        {
            // 敵が出現する
            enemy.SetActive(true);

            GameObject effect = Instantiate(effectPrefab, transform.position, Quaternion.identity);
            Destroy(effect, 0.5f);
            AudioSource.PlayClipAtPoint(sound, transform.position);
        }
    }
}

(3)設定

  • スクリプトをトラップオブジェクトに追加
  • エフェクトとサウンドは自由に設定
  • 敵オブジェクトをノンアクティブ状態に変更(ポイント)して、空欄に追加

  • 設定が完了したらゲーム再生
  • トラップに触れた瞬間に敵が出現すれば成功です。