导航技术文档-1.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
导航技术文档-1

导航技术一、基本概念UE4的导航底层是RecastNavigation的深度修改。KBE的导航底层是RecastNavigation的原始版本Areas(区域)一般用来定义移动代价的。代价影响寻路。举个例子,穿越被标记为沼泽的区域时的代价花费可能比穿越标记为草地的区域的代价要高。 Flags(标志位)可以用来控制一个节点的可行走属性。举个例子,一个作为门的多边形,在门关闭的时候,可以给这个多边形设置一个特殊的标志位,以表示它是不可通过的。或者设置一个特殊的标志位,只允许特定类型的角色通过。多个导航层是指一张地图具有多个导航区域。但是只能使用其中一个区域进行导航。二、简述UE4和KBE支持导航的情况UE4目前支持Areas和多个导航层的概念。UE4目前不支持导航数据导出和Flags概念,本项目通过修改UE4底层代码将其支持,所以需要用特制的UE4版本来导出导航。特制UE4路径:\\172.16.6.214\software\UE4。KBE目前支持Areas、Flags和多个导航层的概念的。三、多个导航层导出步骤1、设置Supported Agents打开“项目设置”“导航系统”,增加Supported Agents,Supported Agents数量就是层的数量,假定层的数量是N,如下图:注意,由于UE4有BUG,NavAgentRadius、NavAgentHeight、NavAgentStepHeight其中一个参数,设置的时候,需要N层都相互相差5cm,不然不会显示N层级。因为当三个参数设置误差在5cm内的时候,UE4会认为此二层为一个层。2、铺设导航块在体积框中使用NavMeshBoundsVolume进行铺设,在NavMeshBoundsVolume的SupportedAgents属性,可以选择是属于哪个层的。如下图3、生成导航其实在铺设导航块的时候,UE4已经在自动生成导航了。也可以通过“构建”“构建路径”来生成。生成完导航后,会有N个RecastNavMesh,RecastNavMesh就是层的导航数据,可以设置RecastNavMesh的EnableDrawing使其显示出来。4、导出导航数据点击导出插件的ExportData按钮,导航数据就会生成在UE4Editor.exe的根目录下,导航的名称按照“层级.navmesh”来命名,如下图: 注意:导航按钮插件的启用通过“编辑”“Plugins”“Other”,将其中ExportData插件设置为Enable,然后重启客户端才能看到四、Areas(区域)导出1、铺设Nav Modifier Component (导航修改器组件)在体积框中使用Nav Modifier Component进行铺设,在其AreaClass属性的“+”号按钮增加新的区域注意:UE4在此有BUG,需要重新启动UE4编辑器,增加的新的区域类型才能生效2、Areas(区域)类型属性通过AreaClass属性的放大镜按钮,可以打开相应的Areas区域类型属性。DefaultCast属性:travel cost multiplier for path distanceFixedAreaEnteringCost属性:进入的权重。(entering cost)SupportedAgents属性:表示此导航修改器对那层起作用AreaFlags属性:区域的标志位五、服务器导航1、导航文件放置导航放置路径为\server_trunk\res\spaces,可以为每张地图新建一个文件夹。如下图:此文件夹里面就放置本项目导出的导航数据2、服务器代码加载导航数据加载导航函数:def addSpaceGeometryMapping( spaceID, mapper, path, shouldLoadOnServer, params ):具体功能查看KBEngine APIpath路径为mash的根目录,比如上个图片的path路径为:path = “spaces\cun_lun_A1Navmesh”服务器会对path路径下的mavmesh的文件名进行从小到大排序,依次赋予层级,层级ID从0开始file:///\\172.16.6.214\software\UE4\UnrealEngine-4.11.2-withpdb.rar\\172.16.6.214\software\UE4\UnrealEngine-4.11.2-withpdb.rar

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档