一,生成Nav Mesh
1.新建一个Plane.
2.选中Plane将其设置成Static(静态)--->Navigation Static-->Navigation
3.在Navigation 面板中调整参数
设置好后点击Bake(烘培).
二.人物添加Nav Mesh Agent 组件
脚本控制:
GetComponent <NavMeshAgent> ().SetDestination (v3 target);
地图之间连线:
将需要连线的物体,地面 设为Off Mesh Link Generation
设置好后点击Bake(烘培).
单根连线(传送点)
新建一个Cube(心疼Cube君);
在Cube上建一个小Cube1
在地面上新建一个小Cube2
不用空物体的原因是不好确定位置,要把中心露出一半以上,最后取消网格就好.
将大Cube设为静态
在Cube1上添加组件:Off Mesh Link
把 Cube1 放在Start中
把Cube2 放在End中
创建一个Cube3添加Nav Mesh Agent 组件
写入代码
using UnityEngine;
using System.Collections;
public class JiaoNangScript : MonoBehaviour
{
//定义一个变量
NavMeshAgent n;
//射线
Ray ray;
RaycastHit h;
Vector3 m_pos;
void Start ()
{
n = GetComponent<NavMeshAgent> ();
}
void Update ()
{
// if (Input.GetMouseButtonDown (1)) {
ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (ray, out h)) {
m_pos = h.point;
}
n.SetDestination (m_pos);
// }
}
}
即可.
跨越鸿沟两种方法:烘培面板调 跨越宽度参数,或者同上设置起点和终点