欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Unity中的AI怪物巡逻

程序员文章站 2024-03-19 18:13:34
...


    public Transform PoOne;
    public Transform PosTwo;
    public GameObject Enumy;
    public GameObject Player;
    
    void Start()
    {
        GetComponent<NavMeshAgent>().destination = PosTwo.position;
    }
    void Update()
    {
        if(Vector3.Distance(Player.transform.position,transform.position)<10&& Vector3.Distance(Player.transform.position, transform.position)>2)
        {
           
            GetComponent<NavMeshAgent>().destination = Player.transform.position;
            
        }
        else if(Vector3.Distance(Player.transform.position, transform.position) <= 2)
        {
            Enumy.GetComponent<Animator>().SetBool("Enum", true);
        }
        else
        {
            if (Vector3.Distance(transform.position, PosTwo.position) < 0.1f)
            {
                GetComponent<NavMeshAgent>().destination = PoOne.position;
            }
            if (Vector3.Distance(transform.position, PoOne.position) < 0.1f)
            {
                GetComponent<NavMeshAgent>().destination = PosTwo.position;
            }
        }
       
    }


Unity中的AI怪物巡逻

Unity中的AI怪物巡逻脚本写好之后把需要的物体复制进去,怪物自动按照你设置的点去巡逻,需要注意得到是我们设置的那几个点,Y轴需要在地形烘焙范围之内,不然他就会一直在第一个点转圈圈,不会进行下一个点的巡逻。

不足之处请多多指教。