Unity 自动寻路NavMeshAgent

2023-12-29 08:46:02

自动寻路 NavMeshAgent

新版寻路与旧版有所区别,挂载脚本前需设置地图路径,将寻路物体(玩家)添加NavMeshAgent组件,寻路路径添加NavMeshSurface组件。

    private NavMeshAgent agent;//声明一个寻路组件
    void Start()
    {
        agent = GetComponent<NavMeshAgent>();//找到自身的寻路组件
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(1)) { //当按下鼠标右键
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//按下鼠标发射一条射线
            RaycastHit hit;//声明一个碰撞信息类
            bool res = Physics.Raycast(ray, out hit);//判断是否点击到物体
            if (res == true)
            {
                Debug.Log(hit.point);
              Vector3 point = hit.point;//获得点击位置
                agent.SetDestination(point);//设为导航目标点

                
            }
        }
    }

文章来源:https://blog.csdn.net/u010158191/article/details/135207487
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。