AI-視覺感知(聽覺感知)

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

public class Enemy03 : MonoBehaviour {

    //視野距離
    public float viewDistance = 5;
    //視野範圍
    public float viewAngle = 120;

    private Transform playerTransform;

    private void Start()
    {
        playerTransform = GameObject.Find("Player").transform;
    }

    private void Update()
    {
        //是否在視野範圍內,消耗性能低的在前面
        if (Vector3.Distance(playerTransform.position,transform.position)<=viewDistance)
        {
            //得到一個方位
            Vector3 playerDir = playerTransform.position - transform.position;
            //計算兩個向量的夾角
            float angle = Vector3.Angle(playerDir, transform.forward);
            if (angle<=viewAngle/2)
            {
                Debug.Log("在視野範圍內");
            }
        }
    }
}

聽覺感知見祕密行動

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章