码迷,mamicode.com
首页 > 编程语言 > 详细

Unity Navigation自动寻路

时间:2015-04-01 21:42:24      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

NavMesh(导航网格) 是3D游戏世界中主动寻路的一种技术,如果你想让游戏人物能自动绕开障碍物到达目的地.那你就来学习下

Navigation导航技术吧O(∩_∩)O~

 

首先你需要把地形烘焙成导航网格: (蓝色区域说明可走的)

技术分享

1.选中物体设置成static静态的

2.菜单栏Window->Navigation打开网格烘焙窗口,在Hierarchy视图中选中你需要烘焙的网格点击Bake即可

技术分享

我们需要创建一个游戏物体来控制他在地图上根据鼠标点击来回走动,创建一个球体并且添加NavMeshAgent组件

技术分享

再写一个MyMove的脚本挂到球物体身上:

using UnityEngine;
using System.Collections;

public class MyMove : MonoBehaviour {


    private NavMeshAgent aget;

    void Awake() 
    {
        aget = GetComponent<NavMeshAgent>()
    }

    public void Update() 
    {
        if(Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            
            if (Physics.Raycast(ray, out hit, 1000)) 
            {
                aget.destination = hit.point;
            }
        }
    }
}

效果图如下:

技术分享

Unity Navigation自动寻路

标签:

原文地址:http://www.cnblogs.com/plateFace/p/4385392.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!