pent
参考资料1,里面有 相关 的 教程 。
通常 使用以前 的烘培,需要 把物体 变成 静态 物体,现在 UNITY 升级后 使用 相关的组件 可以动态自动烘培
----------------------------------------建立复制 的地形,一键烘培 使用 navMeshSurface
Roads物体添加NavMeshSurface.cs组件,就可以自动烘培了(使用的模型是 Unity 的assetstore 的simple town lite- cartoon assets)
下载 压缩包,解压后,在如下图所示的位置,复制NavMeshSurface.cs 到工程的文件内,即可添加组件。
把如下图所示的文件复制粘贴 ,即可正常使用
----------------------------------------还是同上的模型,固定范围内动态自动烘培
UNITY 菜单栏 Window-- navigation
一般进行烘培需要对 Navigation 视图的 Scene Filter 和 Navigation Static 进行设置。然后进行烘培
现在可以固定范围内动态自动烘培
对道路 的预制体 添加如下 2个组件MeshCollider(不一定) 和NavMeshSource Tag(必备)
找到 道路 的预制体 的 Mesh
对 道路 的 Mesh 进行如下图所示的设置(貌似,一定要对 道路 的Mesh 进行如下设置,才可以动态 烘培)
(Read/Write Enabled必备)
如果没有对上面 的 道路 的 模型 的Mesh 进行 如上图所示的设置,就会出现如下图所示的错误。
runtimeNavMeshbuilder: Source mesh road_straight_mesh does not allow read access. This will work in playmode in the editor but not in player
UnityEngine.AI.NavMeshBuilder:UpdateNavMeshData(NavMeshData, NavMeshBuildsettings, List`1, Bounds)
localNavMeshBuilder:UpdateNavMesh(Boolean) (at Assets/examples/Scripts/LocalNavMeshBuilder.cs:56)
LocalNavMeshBuilder:OnEnable() (at Assets/Examples/Scripts/LocalNavMeshBuilder.cs:38)
运行前,没有自动烘培
点击运行后,就 可以在固定范围内 自动烘培。在 Navigation 视图下,可以看到是 自动烘培的
----------------------------------------在固定的范围内 自动烘培
(模型来自 unity asset store 的poly city - free cartoon pack)
对地形 添加 如下图所示的2个组件,Local NavMesh Builder和Nav Mesh Source Tag
如果对 地形 panel 进行移动,烘培的 面积还是固定不变的
----------------------------------------参考资料1,里面的内容
运行时NavMesh构建的组件
这里我们介绍导航系统的四个组件:
NavMeshSurface - 用于构建和启用一个代理类型的导航网格表面。NavMeshModifier - 根据变换层次结构影响navmesh区域类型的navmesh生成。
NavMeshModifierVolume - 根据体积影响navmesh区域类型的navmesh生成。
NavMeshLink - 为一个代理类型连接相同或不同的导航网格表面。
这些组件包含用于在运行时构建和使用NavMeshes的高级控件以及编辑时间。
文件(草案)
https://docs.Google.com/document/d/1usMrwMHTPNBFyT1hZRt-nQZzRDTciIQRVzmA7MQsFNw
如何开始:
下载并安装Unity 5.6的最新版本。克隆或下载此存储库并使用功能构建打开项目。或者,您可以将Assets / NavMeshcomponents的内容复制到现有项目。
“资源/示例”文件夹中提供了其他示例。这些例子是“按原样”提供的。它们既不是通用的,也不是强大的,而是作为灵感。
注意:在测试周期中,功能和API可能会发生变化。在使用前备份现有的项目。确保在使用此版本打开之前备份现有的项目。
常问问题:
问:我可以在运行时烤navmesh吗?
A:是的
问:我可以将navmesh'es用于多个代理商尺寸吗?
A:是的
问:我可以在预制中加入导航网格吗?
答:是的 - 有一些限制。
问:我如何连接两个navmesh表面?
答:使用NavMeshLink连接双方
问:我如何查询navmesh一个特定大小的代理?
答:查询导航网格时使用NavMeshQuery过滤器
问:与“Defaultexecutionorder”属性有什么关系?
答:它提供了一种控制脚本执行顺序的方法 - 具体来说,它允许我们在(本机)导航元素启用之前构建一个导航网格。
问:新委托“NavMesh.onPreUpdate”有什么用?
答:它允许您在本机端调用导航更新循环之前,控制navmesh数据和链接。
问:我可以移动NavMesh平台吗?
答:不需要 - 持续移动代理商的平台需要新的API。
问:OffMeshLink现在已经过时了吗?
答:不 - 您仍然可以使用OffMeshLink - 但是您会发现NavMeshLink更灵活,开销更少。
问:HeightMesh和Auto generated OffMeshLinks发生了什么?
答:他们不支持在新的navmesh建设功能。 HeightMesh将会在某个时候添加。自动OffMeshLink生成可能会被一个解决方案所取代,从而更好地控制位置。
----------------------------------------
----------------------------------------
参考资料:
1.
NavMeshComponents
2.
What's New in Unity 5.6 - Update to Nav Mesh (1/2)
3.
[Unity][NavMesh]Unity NavMesh Compent 寻路组件动态自动烘培更新2018
4.
[Unity][NavMesh]Unity NavMesh Compent 寻路组件动态自动烘培更新2018
相关阅读
动态性网页页面的开发环境依据开发设计视频语音不一样而不一样,关键的方法取决于Python开发设计、JSP开发设计和ASP开发设计的
静态网页跟动态网页有什么区别?建造网站做网站规划时,页面规划的动与静真的要好好积累一下了,这样做出来的页面规划才会更好。具体
C/S体系结构:Client/Server 客户机/服务器结构B/S体系结构:Browser/Server 浏览器/服务器结构URL:Universal Resource Locator 统一
参考书籍U3d手机游戏开发, 资源来源: http://www.3d66.com/model_1_33.html http://www.3d66.com/reshtml/76/76741.htm 背景音乐酷
欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 大鹏Vr开发者网站:http://developer.dpvr.cn 大鹏Vr_sdk下载地址:http://d