让我们来一起粗步认识一下NavMesh的简单使用

首先我们建立一个新场景,在新场景我们创建 一个地形或者创建一个Plane,

然后在其上面用Cube或者其它的建立一些障碍物

再创建自己需要为其设置自动寻路的Cube,可以为它改个名字,我们在这里

将其改名为walker

再创建一个walker要自动到达的位置,创建一个Cube,改名为endposition;

准备工作做好了,让我一起来尝试下NavMesh

打开Navigation,Windows->Navigation

在Hierarchy层次窗口中将所有障碍物选上,在Navigation窗口,将Navigation Static打上勾,选择一个Navigation Layer 层

在Hierarchy层次窗口中将允许行进的地形或者Plane选上,做与上面一样的操作,注意将允许行进和不允许行进的Navigation Layer设置为不一样

选中walker为其添加NavMeshAgent组件  Component-> Navigation ->NavMeshAgent

组件属性就不介绍了,看得懂

唯一注意的就是在NavMesh Walkable中将不允许行进的NavigationLayer名字去除掉,将如这里不允许行进的Navigation Layer是Not Walkable

NavMesh Walkable就不应该将此层选中

在Hierarchy中将允许行进或者不允许行进的物体选中,在Navigation窗口中,选中Bake烘焙

为了让其运动,我们写一个简单的脚本,脚本内容如下

using UnityEngine;
using System.Collections;

public class Nav : MonoBehaviour {

// Use this for initialization
public Transform target;
private NavMeshAgent navmeshagent;
void Start () {
  navmeshagent = gameObject.GetComponent<NavMeshAgent>();
}

// Update is called once per frame
void Update () {
navmeshagent.SetDestination(target.position);

}
}

脚本不做解释,不懂的人查下文档

将脚本拖拉到walker中,再将endposition拖拉到上述脚本的target;

最后运行,完成,你会发现walker会自动寻找路线移动到endposition的位置。

U3D Navigation的更多相关文章

  1. ANT自动打包U3D安卓项目研究笔记

    概述 因项目使用Atlassian Stash作为项目源码管理端,且其支持Ant命令自动编译,可使其根据最新的代码自动打包,故产生该研究Ant打包的任务.在此将研究过程及一些相关知识整理记录在此. 本 ...

  2. U3D面试题四

    1.配置Unity3D调试环境 在windows环境下,设置unity3d的编辑器调试环境方法: 点击“Edit‘---”Preferences“,弹出如下窗口 选择MonoDeveop即可. 在编辑 ...

  3. U3D DrawCall优化手记

    在最近,使用U3D开发的游戏核心部分功能即将完成,中间由于各种历史原因,导致项目存在比较大的问题,这些问题在最后,恐怕只能通过一次彻底的重构来解决 现在的游戏跑起来会有接近130-170个左右的Dra ...

  4. arcgis api for js共享干货系列之二自定义Navigation控件样式风格

    arcgis api for js默认的Navigation控件样式风格如下图: 这样的风格不能说不好,各有各的爱好,审美观,这里也不是重点,这里的重点是如何自定义一套自己喜欢的样式风格呢:自己自定义 ...

  5. The Safe Navigation Operator (&.) in Ruby

    The most interesting addition to Ruby 2.3.0 is the Safe Navigation Operator(&.). A similar opera ...

  6. U3D学习笔记1: HelloWorld

    Unity 版本: 5.3.5.f1 Hello World工程 1.新建工程 HelloWorld U3D可选2D和3D游戏   2.新建C#脚本文件 在project栏的assets目录右键-&g ...

  7. Unity3D 导航网格自动寻路(Navigation Mesh)

    NavMesh(导航网格)是3D游戏世界中用于实现动态物体自动寻路的一种技术,将游戏中复杂的结构组织关系简化为带有一定信息的网格,在这些网格的基础上通过一系列的计算来实现自动寻路..导航时,只需要给导 ...

  8. ABP理论学习之导航(Navigation)

    返回总目录 本篇目录 创建菜单 注册导航提供者 展示菜单 每一个web应用在页面之间都有一些要导航的菜单.ABP提供了公用的基础设施来创建菜单并将菜单展示给用户. 创建菜单 一个应用可能由不同的模块组 ...

  9. Sharepoint学习笔记—ECM系列—文档列表的Metedata Navigation与Key Filter功能的实现

    如果一个文档列表中存放了成百上千的文档,想要快速的找到你想要的还真不是件容易的事,Sharepoint提供了Metedata Navigation与Key Filter功能可以帮助我们快速的过滤和定位 ...

随机推荐

  1. 更改bootstrap的默认样式

    很久没用bootstrap,对与按自己的需求修改样式都忘了. 一上来就添加了新的class类,重写css样式让其覆盖原有的样式,实际上不起作用.因为没考虑的选择器的优先级.面试的时候会问到一些这个问题 ...

  2. nodejs启动前端项目步骤

    在.nuxt目录下打开命令行: 一:npm rm node-sass 二:npm install node-sass 三:npm install 四:npm run dev

  3. amplab

    https://github.com/amplab/SparkNet https://amplab.cs.berkeley.edu/

  4. uiimage缩放图片大小和属性UIViewContentModeScaleAspectFit

    UIImageView *tmp = [[UIImageView alloc]initWithFrame:CGRectMake(5.0f, 5.0f, 40.0f, 40.0f)];          ...

  5. Map与object的区别

    Map 对象保存键值对.任何值(对象或者原始值) 都可以作为一个键或一个值. 语法 new Map([iterable]) 参数 iterable Iterable 可以是一个数组或者其他 itera ...

  6. 转:linux下共享库的注意点之-fpic

    转: http://www.cnblogs.com/leo0000/p/5691483.html linux下共享库的注意点之-fpic 在编译共享库必须加上-fpic.这是为什么呢? 首先看一个简单 ...

  7. jQuery -&gt; 获取后代元素的三种方法

    假设我们有内容例如以下的html文件,那么怎样选取包括在<p>元素内的<i>元素呢? 邪馬台国の謎と弥生時代 紀元前1000年ごろ.水稲工作の技術をもつ集団が大挙して日本に移住 ...

  8. POJ - 3233 Matrix Power Series (矩阵等比二分求和)

    Description Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + - + Ak. ...

  9. vs2010配置VL_FEAT库

    VL_FEAT库是计算机视觉中的一个开源库,支持C/C++,Matlab,可以在http://www.vlfeat.org/下载. 本文主要讲一下VS2010中如何配置vl_feat库(算是对原文的一 ...

  10. Java多线程面试题归纳

    1.多线程有哪几种实现方法?举个样例说明下线程的同步. (1)Java多线程有两种实现方式:继承Thread类和实现Runnable接口,Thread就是实现了Runnable接口. 两个最简单的线程 ...