本文主要是介绍Unity中初步使用Navmesh寻路系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
效果demo:
一、新建测试场景
测试场景:新建空Navmesh作为路径的容器
二、设置导航路径
在可以通过的物体上勾选Navigation Static,代表参与到导航的烘焙。
进行烘焙,点击bake按钮,场景出现蓝色的导航网格即代表成功。
三、设置某些不可走的地方
四、添加小人,挂上NavMeshAgent组件
五、利用这个组件控制小人的移动
using UnityEngine;
using UnityEngine.AI;public class NavmeshController : MonoBehaviour
{NavMeshAgent agent;void Start(){agent = GetComponent<NavMeshAgent>();}void Update(){if (Input.GetMouseButtonDown(0)){Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hit;if (Physics.Raycast(ray, out hit, Mathf.Infinity)){agent.SetDestination(hit.point);}}}
}
判断是否到达终点,可以通过agent.hasPath
这篇关于Unity中初步使用Navmesh寻路系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!