Unity 自动寻路NavMeshAgent

自动寻路 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);//设为导航目标点

                
            }
        }
    }

你可能感兴趣的:(unity,unity,游戏引擎,c#)