如何使用Unity做游戏中的寻路unity导航网格寻路

2000人阅读
Unity3D(8)
NavMesh(导航网格)是3D游戏世界中用于实现动态物体自动寻路的一种技术,将游戏中复杂的结构组织关系简化为带有一定信息的网格,在这些网格的基础上通过一系列的计算来实现自动寻路。。导航时,只需要给导航物体挂载导航组建,导航物体便会自行根据目标点来寻找最直接的路线,并沿着该线路到达目标点。
下面通过一个简单的Sample来介绍NavMesh的应用:
1.在Scene中新建三个Cube,如下图摆放。
2.选中上图三个Cube,并在Inspector面板中选中为静态(static)下拉选项的Navigation Static,如下图。
3.依次选择菜单栏中的Windows - Navigation ,打开后面板如下。
单击该面板右下角的Bake按钮,即可生成导航网格,下图为已生成的导航网格。
4.下面就可以让一个运动体根据一个导航网格运动到目标位置。
首先新建一个Cube为目标位置,起名TargetCube。然后创建一个capsule(胶囊)运动体,为该胶囊挂在一个Nav Mesh Agent(Component - Navigation - Nav Mesh Agent);最后写一个脚本就可以实现自动寻路了。脚本如下:
using UnityE
using System.C
public class Run : MonoBehaviour {
public Transform TargetObject = null;
void Start () {
if (TargetObject != null)
GetComponent&NavMeshAgent&().destination = TargetObject.
void Update () {
脚本新建完成后挂载到胶囊体上,然后将TargetCube赋予给胶囊体的Run脚本,运行场景,如下图,胶囊体会按照箭头的方向运动到Cube位置。
这样一个简单的自动寻路就完成了,如果要更精细的寻路,或要实现上坡,钻&桥洞&等,可根据下面介绍的相关参数进行调节。
下面介绍Navigation组件和Nav Mesh Agent组件的相关参数。
Navigation
Object:物体参数面板
Navigation Static:勾选后表示该对象参与导航网格的烘培。OffMeshLink Generation:勾选后可跳跃(Jump)导航网格和下落(Drop)。
Bake:烘培参数面板  
Radius:具有代表性的物体半径,半径越小生成的网格面积越大。Height:具有代表性的物体的高度。Max Slope:斜坡的坡度。Ste Height:台阶高度。Drop Height:允许最大的下落距离。Jump Distance:允许最大的跳跃距离。Min Region Area:网格面积小于该值则不生成导航网格。Width Inaccuracy:允许最大宽度的误差。Height Inaccuracy:允许最大高度的误差。Height Mesh:勾选后会保存高度信息,同时会消耗一些性能和存储空间。
Nav Mesh Agent:导航组建参数面板    
Radius:物体的半径Speed:物体的行进最大速度Acceleration:物体的行进加速度Augular Speed:行进过程中转向时的角速度。Stopping Distance:离目标距离还有多远时停止。Auto Traverse Off Mesh Link:是否采用默认方式度过链接路径。Auto Repath:在行进某些原因中断后是否重新开始寻路。Height:物体的高度。Base Offset:碰撞模型和实体模型之间的垂直偏移量。Obstacle Avoidance Type:障碍躲避的的表现登记,None选项为不躲避障碍,另外等级越高,躲避效果越好,同时消耗的性能越多。Avoidance Priority:躲避优先级。NavMesh Walkable:该物体可以行进的网格层掩码。
关于作者:共同学习,共同进步。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
如有问题,可以通过&联系我,非常感谢。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:51887次
积分:1114
积分:1114
排名:千里之外
原创:55篇
转载:78篇
(1)(1)(3)(3)(15)(17)(9)(17)(31)(11)(9)(2)(1)(1)(1)(4)如何用Unity实现自动寻路功能?
如何用Unity实现自动寻路功能?
如何用Unity实现自动寻路功能?
浏览次数:810
浏览次数:455
浏览次数:747
浏览次数:714
浏览次数:822
如果你对以下课程意犹未尽,,查看全部课程
HTML5全栈开发
HTML5最新课程
156 人在学
c#编程概述
C#快速入门
简单又好玩
120 人在学
没有账号?
s后重新发送
已有账号?
已有账号?
验证码确认
话题标题:
400-877-8190
登录后反馈unity游戏寻路基准点系统源码Easy HUD WayPoint,Unity3D,游戏源码,6m5m游戏素材
请求处理中...
unity游戏寻路基准点系统源码Easy HUD WayPoint v1.3Requires Unity 4.6.0 or& higher.Easy Hud System is an easy but functional player navigation and indicator UI system. Adaptable for any type and genre of games, with a quick and easy creation of points navigation or& indication.&Features:- Unity 5 Ready!.- Arrow OffScreen.- Off-screen locations.- Customizable color and size of each.- Pulse the waypoint effect.- Player distance to waypoint.- GUI scaler Depending on the resolution.- show only when it is in front of the camera option.
或 10 积分 ()
下载6浏览人数208交付方式直接下载
注意:【1】本站只是个免费分享平台,并不敢保证所有源码人人都能编译,因素太多,旨在学习研究,如果您有顾虑或斤斤计较就请不要下载了,大家都不容易,互相理解,才能让更多的好资源出现!【2】本站资源仅限于学习研究,请在下载后24小时内删除,不要用于任何商业用途。【3】部分素材压缩包因体积过大而上传到百度等网盘上,如果发现在本站下载的压缩包只要有几K大小,说明该压缩包里只是网盘的下载链接,并非文件损坏,本站的所有素材都是经过了审核,大家可放心下载,欢迎监督反馈。【4】做个好平台真心不容易,我们一直在努力,因本站素材量大,难免会出现某网盘下载链接失效等问题,请大家及时反馈,我们会及时修正保证您可以拿到素材,请大家支持和理解!
免责声明:本网所展示的素材与服务信息由买卖双方自行提供,其真实性、准确性和合法性由信息发布人负责。本网不提供任何保证,并不承担法律责任,如有不妥之处请及时反馈,本网将会妥善处理。
友情提醒:本站旨在游戏开发的学习,所分享的素材资源均来源于网络,仅适用于学习研究,禁止用于任何商业用途,否则后果自负,所展示的素材版权归原作者或公司所有,如果本站素材侵犯了您的权益,请与联系我们,我们将及时处理。
猜您喜欢的游戏素材
0金币 / 份
1金币 / 个
1金币 / 个
0金币 / 个
1金币 / 个
0金币 / 个
0金币 / 个
2金币 / 个
0金币 / 个
1金币 / 个
好评率100%
出售素材38

我要回帖

更多关于 unity3d 自动寻路 的文章

 

随机推荐