实现其实很简单,用到 射线和navigation
第一步获取鼠标点击的世界坐标
第二步,移动到该坐标点
场景中有一个plan做为地面 cube做为移动的物体
脚本添加给cube 并给cube添加寻路组件NavMeshAgent, Navigation后bake一下
地面勾选静态
脚本如下:
Vector3 point;
void Update (){
RaycastHit hit;//射线碰到的物体
if(Input.GetMouseButton(0)){
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray,out hit)){
point = hit.point;//得到碰撞点的坐标
}
GetComponent<NavMeshAgent>().destination =point;
}
}