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

Unity3D游戏开发之 (Navmesh) 和寻路 (Pathfinding)烘焙

时间:2015-03-07 22:48:36      阅读:491      评论:0      收藏:0      [点我收藏+]

标签:3d游戏开发   unity3d培训   unity3d游戏   unity培训   

欢迎来到unity学习unity培训unity企业培训教育专区,这里有很多U3D资源U3D培训视频U3D教程U3D常见问题U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。   
导航网格烘焙
一旦标记完导航网格 (Navmesh) 几何体和层之后,就可以烘焙导航网格几何体了。

在导航 (Navigation) 窗口中(窗口 (Window)->导航 (Navigation)),转到烘焙 (Bake) 选项卡(右上角),然后点击“烘焙”按钮(右下角)。

技术分享

导航烘焙窗口

以下是会影响导航网格 (Navmesh) 烘焙的属性:


   
半径 (Radius) “典型”代理的半径(最好是最小值)。
高度 (Height)
“典型”代理的高度(角色通过所需的“空隙”)。
最大坡度 (Max Slope)
坡度大于此值的所有表面会予以丢弃。
台阶高度 (Step height)
高度差低于台阶高度时,则认为连接至导航网格区域。
下落高度 (Drop height)
如果该属性值是正数,则将为高度差小于该值的相邻导航网格表面放置分离网格链接。
跳跃距离 (Jump distance)
如果该属性值是正数,则将为水平距离小于该值的相邻导航网格表面放置分离网格链接。
高级 (Advanced)
最小区域面积 (Min region area)
面积小于该阈值的区域将予以丢弃。
宽度误差 (Width inaccuracy) % 容许的宽度误差
高度误差 (Height inaccuracy) % 容许的高度误差
高度网格 (Height mesh) 如果勾选此选项,原始高度信息会存储起来。这会对速度和内存性能造成一定影响。

请注意,烘焙的导航网格是场景的一部分,代理可以通过该导航网格。要删除导航网格,在烘焙 (Bake) 选项卡中点击清除 (Clear)。

实现细节
烘焙导航网格 (Navmesh) 时,它会映射到 XZ 平面中的方格中。可视化方格时,其边框被视为导航网格 (Navmesh) 上的亮蓝色轴对齐线。Unity 在一个场景中最多支持 1024 个方格,每个方格用 1000×100 个体素表示。如果您打算让代理在大区域中导航,请注意导航网格 (Navmesh) 的大小和最终的网格数。

技术分享

具有亮蓝色轴对齐线的导航网格显示方格标度

半径 (Radius) 的默认设置为 0.5,宽度误差 (Width Inaccuracy) 的默认设置为0.16666667 (16.666667%)。默认设置的方格边长可计算为:
1000 * (2*半径) * 宽度误差 = 1000 * (2*0.5) * 0.16666667 = 166.66667。

增加宽度误差 (Width Inaccuracy) 将允许容纳更大面积,但会降低导航网格 (Navmesh) 精度。

例如,如果您的网格有 32 x 32 个方格,则您将拥有 1024 个方格。这意味着,如果您拥有想与导航网格 (Navmesh) 配合使用的真正巨大地形,按照默认设置,该地形面积不得超过 5.333 乘以 5.333 千米(32 * 166.66667 米)
更多精彩请点击【狗刨学习网】 http://www.gopedu.com/

Unity3D游戏开发之 (Navmesh) 和寻路 (Pathfinding)烘焙

标签:3d游戏开发   unity3d培训   unity3d游戏   unity培训   

原文地址:http://blog.csdn.net/book_longssl/article/details/44120833

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