您的位置:首页 > 移动开发 > Unity3D

unity手游开发--Navmesh自带寻路组件使用注意事项

2015-04-07 16:02 561 查看
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有联系,你是按照步骤做的但是就是不能实现效果的时候这个地方就需要注意了。

导航网格烘焙

导航网格代理

在这里推荐几篇文章参考:参考文章一 参考文章二
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: