Unity中的AI怪物巡逻

  • Post author:
  • Post category:其他




    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;
            }
        }
       
    }


在这里插入图片描述

在这里插入图片描述

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

不足之处请多多指教。



版权声明:本文为weixin_44370124原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。