查看: 2911|回复: 3
打印 上一主题 下一主题

[教程] unity-自动寻路系统

[复制链接]

9

主题

1

听众

129

积分

设计实习生

Rank: 2

纳金币
98
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2013-6-4 11:08:18 |只看该作者 |倒序浏览
自动寻路系统是游戏开始运行时,第一人称主动寻找目标,中间有很多障碍物。
首先建立一个plane,当做地面,然后建立主角和被寻找目标,中间设置障碍物,可以是box压缩而成,只要是中间有障碍物就行了。
场景

图1 场景

在我的场景中,红色的胶囊代表主角,蓝色的球代表被寻找目标
file:///C:/Users/Administrator/AppData/Roaming/Tencent/Users/970335874/QQ/WinTemp/RichOle/%25IXI0FWFUN53321QPFKG219.jpg
场景建好了,下面给所有的物体Static打钩,除了摄像机,灯光,运动的物体,给运动的物体添加组件Component-Navigation,然后添加脚本,脚本如下
var Target : Transform;
//
//function Update () {
//        gameObject.GetComponent.<NavMeshAgent>().SetDestination(Target.position);
//}
然后打开Window-Navigation,进行bake,首先要把整个场景存一下,然后bake,bake完成可以运行一下,检查没有bake的地图,然后调整参数
参数如下:
Radius 半径  一般让地面上的蓝色的片刚好把障碍物放上
height 高度,一般第一人称和被寻找目标都在蓝色的片上一部分
Max Slope 最大坡度,如果有坡度,就要调这个参数的度数大小
Generated Off Mesh Links 可以从一个地方到另一个地方,凌空飞去,
Drop Height 落差
jump distance 跳跃距离 ,调整两个参数,根据你的实际情况调节
Advanced 下面有四个选项,一般不动
窗口

图2 窗口

clear,然后bake,这样自动寻路系统就完成了


分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

沙发
发表于 2013-6-5 04:04:04 |只看该作者
感谢分享这方面的技术知识!
回复

使用道具 举报

3

主题

2

听众

1154

积分

助理设计师

Rank: 4

纳金币
31
精华
0
板凳
发表于 2013-12-15 18:18:02 |只看该作者

感谢分享
回复

使用道具 举报

0

主题

1

听众

1174

积分

助理设计师

Rank: 4

纳金币
92
精华
0
地板
发表于 2014-9-21 14:03:50 |只看该作者
感謝分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-24 11:39 , Processed in 0.067686 second(s), 34 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部