Unity自带寻路组件在做游戏时候也是非常好,可以迅速的实现寻路功能,当然你可以去写代码或者使用其他的插件来实现。
寻路主要的表现形式为,鼠标点击,角色可以到达。两个物体不相邻如何过去,攀高效果。
需要注意的地方:寻路的物体需要添加【Nav Mesh Agent】组件
需要添加代码
private NavMeshAgent cube;
public Transform target;
// Use this for initialization
void Start () {
cube=gameObject.GetComponent<NavMeshAgent>();
}
// Update is called once per frame
void Update () {
cube.SetDestination(target.position);
}
找到组件,设置到达的位置
鼠标点击位置获取代码,测代码放到摄像机上。
public GameObject target;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
// Ray ray = Camera.main.ViewportToWorldPoint(Input.mousePosition);
if(Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
target.transform.position = hit.point;
}
}
}
主要二:
位置,position最好都放到0,0,0点。避免出现一些没有必要的错误,找不到原因。
会与这个 jump distance有联系,你是按照步骤做的但是就是不能实现效果的时候这个地方就需要注意了。