Unity NavMesh导航网格 初级教程
目的:要实现的功能就是你点击一下地图上的某个地方,人物就向着那个点移动。有点自动寻路的味道。
例子:三国群英传,三国赵云传之类的游戏里面的人物移动就可以用这个实现。还有一个我不太喜欢玩的游戏英雄联盟也是可以这样实现的。
怎么做: 先新建一些东西。如图:

这个Player我是建了一个椭圆体来用的。建好之后就开始跟着我做吧。
一、打开Navigation

二、为地图添加Navigation Static

选中plane,勾选Navigation Static,现在可以看到Navigation Layer默认的是Default,修改一下换成Walkable。如果没有Walkable去Layers里面自己手动添加。然后在右下角Bake一下。
三、为Player添加NavMeshAgent组件,为其新建一个MoveToClickPoint脚本并添加,为其添加刚体组件。

脚本内容如下:
using UnityEngine;
public class MoveToClickPoint : MonoBehaviour {
NavMeshAgent Agent;
// Use this for initialization
void Start ()
{
Agent=GetComponent<NavMeshAgent>();
}
// Update is called once per frame
void Update ()
{
if (Input.GetMouseButtonDown())
{
RaycastHit hit;
if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition),out hit,))
{
Agent.destination = hit.point; //Agent目的地为点击的那个点
}
}
}
}
一切完成之后运行,你会发现你点击某个地方,Player就会移动到某个地方。但是!注意到我的那个红色的cube了吗?红色的cube我的意图是让他成为障碍物。但是你点击后发现Player根本过不去。好了,现在来跟我做最后一步:
四、为障碍物添加Navigation Static,将其Navigation Layer换成Not Walkable.最后bake一下。

现在来运行试试效果吧
Unity NavMesh导航网格 初级教程的更多相关文章
- Unity3D 导航网格自动寻路(Navigation Mesh)
NavMesh(导航网格)是3D游戏世界中用于实现动态物体自动寻路的一种技术,将游戏中复杂的结构组织关系简化为带有一定信息的网格,在这些网格的基础上通过一系列的计算来实现自动寻路..导航时,只需要给导 ...
- [原]Unity3D深入浅出 - 导航网格自动寻路(Navigation Mesh)
NavMesh(导航网格)是3D游戏世界中用于实现动态物体自动寻路的一种技术,将游戏中复杂的结构组织关系简化为带有一定信息的网格,在这些网格的基础上通过一系列的计算来实现自动寻路..导航时,只需要给导 ...
- Siki_Unity_1-6_C#编程初级教程(未学)
Unity 1-6 C#编程初级教程 任务1:C#和.Net框架 C#是.Net里的一个成分 2002年微软发布第一个.Net框架(多平台,行业标准,安全性) .Net框架 IDE编程工具 --产生- ...
- 【Unity】第12章 导航网格和寻路
开发环境:Win10.Unity5.3.4.C#.VS2015 创建日期:2016-05-09 一.简介 NavMesh(导航网格)是3D游戏世界中用于实现"动态"物体自动寻路的一 ...
- 【Unity】12.2 导航网格寻路简单示例
开发环境:Win10.Unity5.3.4.C#.VS2015 创建日期:2016-05-09 一.简介 本节通过一个简单例子,演示如何利用静态对象实现导航网格,并让某个动态物体利用导航网格自动寻路, ...
- A*算法、导航网格、路径点寻路对比(A-Star VS NavMesh VS WayPoint)
在Unity3d中,我们一般常用的寻路算法: 1.A*算法插件 与贪婪算法不一样,贪婪算法适合动态规划,寻找局部最优解,不保证最优解.A*是静态网格中求解最短路最有效的方法.也是耗时的算法,不 ...
- 极客技术专题【011期】:EasyUI初级教程
来源:GBin1.com 技术专题:EasyUI初级教程 分享人:极客标签技术编辑 - html580(请站内关注分享人) 资深Web前端工程师,HTML580创始人,目前就职于广州一间软件公司.多年 ...
- Unity3D for iOS初级教程:Part 3/3
转自Unity 3D for iOS 这篇文章还可以在这里找到 英语 Learn how to use Unity to make a simple 3D iOS game! 这份教程是由教程团队成员 ...
- 使用Unity做2.5D游戏教程(一)
最近在研究Unity 3D,看了老外Marin Todorov写的教程很详细,就翻译过来以便自己参考,翻译不好的地方请多包涵. 如果你不了解2.5D游戏是什么,它基本上是个3D游戏而你可以想象是压扁的 ...
随机推荐
- Maximal GCD CodeForces - 803C (数论+思维优化)
C. Maximal GCD time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- Distances to Zero CodeForces - 803B (二分)
题目链接:https://vjudge.net/problem/CodeForces-803B#author=0 题意: 给你一个数组,其中至少包括一个0,求每一个元素距离最近一个0的距离是多少. 样 ...
- pandas(DataFrame)
DataFrame是二维数据结构,即数据以行和列的表格方式排列!特点:潜在的列是不同的类型,大小可变,标记行和列,可以对列和行执行算数运算. 其中Name,Age即为对应的Columns,序号0,1, ...
- HDU 2081 手机短号
Problem Description 大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号.假设所有的短号都是是 6+手机号的后5位,比 ...
- 开发一个微信小程序实例教程
一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...
- App WebView实例化
a,高级设置里的环境变量 jdk的配置 b,下载Google的sdk,里面直接包含eclipse 1,新建一个项目 2,起个名字 3,设么走不做,next 4,只操作选择显示的三种方式 5,next什 ...
- PHP 4种输出的方式
<?php //测试用的数组 $info = array('11'=>'aaa', '22'=>'bbb', '33'=>'ccc'); //第一种,将整个数组作为一个对象输出 ...
- Linux基础学习(2)--Linux系统安装
第二章——Linux系统安装 一.VMware虚拟机安装与使用 1.VMware简介: VMware是一个虚拟PC的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟 ...
- 今天看到了一篇文档 app 测试内容记录下来
1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向 ...
- html image 圖像路徑
src可以指定image路徑: alt可以設置替代的文本:當瀏覽器沒有辦法加載到圖片的時候,就會顯示替換的文本,提示什麼圖片未加載. width和heigt可以設置圖片的大小,從而對圖片進行縮放. h ...