CN104548597B - 导航网格的自动生成方法和装置 - Google Patents
导航网格的自动生成方法和装置 Download PDFInfo
- Publication number
- CN104548597B CN104548597B CN201410828117.9A CN201410828117A CN104548597B CN 104548597 B CN104548597 B CN 104548597B CN 201410828117 A CN201410828117 A CN 201410828117A CN 104548597 B CN104548597 B CN 104548597B
- Authority
- CN
- China
- Prior art keywords
- voxel
- player role
- height
- data structure
- mark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本申请提供了导航网格的自动生成方法和装置。本发明中,将输入模型转换为由多个设定体素组成的体素模型,建立对应所述体素模型的高度场数据结构;根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识;根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域;对所述可行走区域分成多个分区,并对每一分区进行轮廓简化;对各个轮廓简化的分区进行三角化并建立连接,形成导航网格,能够实现导航网格的自动生成。
Description
技术领域
本申请涉及计算机技术,特别涉及导航网格(Navigation Mesh)的自动生成方法和装置。
背景技术
所谓导航网格,其是为网络游戏角色自动寻路而制作的标注了可行走区域的三角形或多边形网格。
在目前的网络游戏中,导航网格的制作阶段尚依赖于手工制作,是手工对输入网格分析,根据少量参数要求,擦除部分网格,得到相对粗糙的导航网格。
这种手工制作导航网格的方法,灵活性差,对一些特定的要求不支持。
发明内容
本申请提供了导航网格的自动生成方法和装置,以实现自动生成导航网格。
本申请提供的技术方案包括:
一种导航网格的自动生成方法,该方法包括:
将输入模型转换为由多个设定体素组成的体素模型,建立对应所述体素模型的高度场数据结构;
根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识;
根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域;
对所述可行走区域分成多个分区,并对每一分区进行轮廓简化;
对各个轮廓简化的分区进行三角化并建立连接,形成导航网格。
一种导航网格的自动生成装置,该装置包括:
转换单元,用于将输入模型转换为由多个设定体素组成的体素模型;
建立单元,用于建立对应所述体素模型的高度场数据结构;
标记单元,用于根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识;
选择单元,用于根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域;
优化单元,用于对所述可行走区域分成多个分区,并对每一分区进行轮廓简化;
导航网格单元,用于对各个轮廓简化的分区进行三角化并建立连接,形成导航网格。
由以上技术方案可以看出,本发明中,通过将输入模型转换为由多个设定体素组成的体素模型,建立对应所述体素模型的高度场数据结构;根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识;根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域;对所述可行走区域分成多个分区,并对每一分区进行轮廓简化;对各个轮廓简化的分区进行三角化并建立连接,形成导航网格,能够实现导航网格的自动生成。
附图说明
图1为本发明实施例提供的方法流程图。
图2为本发明实施例提供的设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
参见图1,图1为本发明提供的方法流程图。如图1所示,该流程可包括以下步骤:
步骤101,将输入模型转换为由多个设定体素组成的体素模型,建立对应体素模型的高度场数据结构。
作为本发明的一个实施例,这里将输入模型转换为由多个设定体素组成的体素模型的过程类似把二维矢量图形“像素化”的过程。其中,优选地,体素可以为立方体。在体素模型中的多个立方体宽度、高度分别相等。
在本发明中,体素设定的越小,整个转换过程的时间就越长,而后续得到的导航网格就越准确。
本发明中,在将输入模型转换为由多个设定体素组成的体素模型后,X坐标方向上就会产生width个方格,z坐标方向上就会产生height个方格,总共就会产生width*height个高度跨度数据结构,把它命名为高度场数据结构。
步骤102,根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识。
作为本发明的一个实施例,所述玩家角色设定的参数限制至少包括:
玩家角色高度、玩家角色宽度、玩家角色可跨越高度、玩家角色可行走面角度、分析精度、最小区域面积、可合并区域面积中的一个或者多个。
以玩家角色设定的参数限制为玩家角色高度为例,与玩家角色高度对比,对(x,z)坐标下的高度场数据结构中小于玩家角色高度的体素标记为不可行走标识,这对应网络游戏中玩家角色无法进入比自身高度更小的区域比如洞穴门窗。
再以玩家角色设定的参数限制为玩家角色可跨越高度为例,则高度场数据结构中两个相邻体素最高点的高度差大于玩家角色可跨越高度,则将被标记为不可行走标识,这对应网络游戏中玩家角色可以越过高度略低的障碍物,不可以跨越高度略高的障碍物。
步骤103,根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域。
本步骤103是将体素模型中除高度场数据结构中标记了不可行走标识的体素之外的其他体素组成可行走区域。
步骤104,对所述可行走区域分成多个分区,并对每一分区进行轮廓简化。
本步骤104是对步骤103最终选择出的可行走区域的一种优化。这里,对所述可行走区域分成多个分区可采用比较成熟的分水岭分区算法实现,这里不再重点描述。另外,对每一分区进行轮廓简化可按照比较成熟的ramer douglas peucker算法实现。这里不再描述。
步骤105,对各个轮廓简化的分区进行三角化并建立连接,形成导航网格。
至此,完成图1所示流程,
通过图1所示流程可以看出,本发明不再手工制作导航网格,而是自动化生成导航网格,这能够降低导航网格的复杂度,且提高制作导航网格的灵活性。
以上对本发明提供的方法进行了分析。
下面对本发明提供的装置进行描述:
参见图2,图2为本发明提供的装置结构图。如图2所示,该装置包括:
转换单元,用于将输入模型转换为由多个设定体素组成的体素模型;
建立单元,用于建立对应所述体素模型的高度场数据结构;
标记单元,用于根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识;
选择单元,用于根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域;
优化单元,用于对所述可行走区域分成多个分区,并对每一分区进行轮廓简化;
导航网格单元,用于对各个轮廓简化的分区进行三角化并建立连接,形成导航网格。
优选地,本发明中,所述设定体素为立方体,所述体素模型的多个立方体宽度、高度分别相等。
优选地,本发明中,所述玩家角色设定的参数限制至少包括:
玩家角色高度、玩家角色宽度、玩家角色可跨越高度、玩家角色可行走面角度、分析精度、最小区域面积、可合并区域面积中的一个或者多个。
优选地,本发明中,所述对可行走区域分成多个分区按照分水岭分区算法实现。
优选地,本发明中,所述分区进行轮廓简化按照ramer douglas peucker算法实现。
至此,完成本发明提供的装置描述。
由以上技术方案可以看出,本发明中,通过将输入模型转换为由多个设定体素组成的体素模型,建立对应所述体素模型的高度场数据结构;根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识;根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域;对所述可行走区域分成多个分区,并对每一分区进行轮廓简化;对各个轮廓简化的分区进行三角化并建立连接,形成导航网格,能够实现导航网格的自动生成。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (6)
1.一种导航网格的自动生成方法,其特征在于,该方法包括:
将输入模型转换为由多个设定体素组成的体素模型,建立对应所述体素模型的高度场数据结构;
根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识;
根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域;
对所述可行走区域分成多个分区,并对每一分区进行轮廓简化;
对各个轮廓简化的分区进行三角化并建立连接,形成导航网格;
所述玩家角色设定的参数限制至少包括:
玩家角色高度、玩家角色宽度、玩家角色可跨越高度、玩家角色可行走面角度、分析精度、最小区域面积、可合并区域面积中的一个或者多个;
所述设定体素为立方体,所述体素模型的多个立方体宽度、高度分别相等。
2.根据权利要求1所述的方法,其特征在于,所述对可行走区域分成多个分区按照分水岭分区算法实现。
3.根据权利要求1所述的方法,其特征在于,所述分区进行轮廓简化按照ramerdouglas peucker算法实现。
4.一种导航网格的自动生成装置,其特征在于,该装置包括:
转换单元,用于将输入模型转换为由多个设定体素组成的体素模型;
建立单元,用于建立对应所述体素模型的高度场数据结构;
标记单元,用于根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识;
选择单元,用于根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域;
优化单元,用于对所述可行走区域分成多个分区,并对每一分区进行轮廓简化;
导航网格单元,用于对各个轮廓简化的分区进行三角化并建立连接,形成导航网格;
所述玩家角色设定的参数限制至少包括:
玩家角色高度、玩家角色宽度、玩家角色可跨越高度、玩家角色可行走面角度、分析精度、最小区域面积、可合并区域面积中的一个或者多个;
所述设定体素为立方体,所述体素模型的多个立方体宽度、高度分别相等。
5.根据权利要求4所述的装置,其特征在于,所述对可行走区域分成多个分区按照分水岭分区算法实现。
6.根据权利要求4所述的装置,其特征在于,所述分区进行轮廓简化按照ramerdouglas peucker算法实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410828117.9A CN104548597B (zh) | 2014-12-26 | 2014-12-26 | 导航网格的自动生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410828117.9A CN104548597B (zh) | 2014-12-26 | 2014-12-26 | 导航网格的自动生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104548597A CN104548597A (zh) | 2015-04-29 |
CN104548597B true CN104548597B (zh) | 2018-06-01 |
Family
ID=53066326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410828117.9A Active CN104548597B (zh) | 2014-12-26 | 2014-12-26 | 导航网格的自动生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104548597B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105641929B (zh) * | 2015-12-28 | 2019-07-05 | 北京像素软件科技股份有限公司 | 一种寻路方法 |
CN106110656B (zh) * | 2016-07-07 | 2020-01-14 | 网易(杭州)网络有限公司 | 在游戏场景计算路线的方法和装置 |
CN107818131A (zh) * | 2017-09-20 | 2018-03-20 | 上海保橙网络科技有限公司 | 一种使用二进制字符串来比较行程路径的方法 |
CN109260709B (zh) * | 2018-09-11 | 2022-02-22 | 深圳市创梦天地科技有限公司 | 一种动态路线的生成方法及装置 |
CN110420461B (zh) * | 2019-07-25 | 2022-05-10 | 福建省天奕网络科技有限公司 | 一种基于高度图的戏游层次化导航方法 |
CN112090078B (zh) * | 2020-08-13 | 2021-10-15 | 深圳中清龙图网络技术有限公司 | 游戏角色移动控制方法、装置、设备和介质 |
CN112121435B (zh) * | 2020-09-18 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 游戏寻路方法、装置、服务器和存储介质 |
CN112295225B (zh) * | 2020-11-02 | 2021-08-10 | 不鸣科技(杭州)有限公司 | 一种寻路网格的多线程更新方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996320A (zh) * | 2006-01-04 | 2007-07-11 | 腾讯科技(深圳)有限公司 | 一种最优路径的寻径方法 |
CN101241507A (zh) * | 2008-01-17 | 2008-08-13 | 腾讯科技(深圳)有限公司 | 一种地图寻路方法及系统 |
CN101504776A (zh) * | 2009-03-17 | 2009-08-12 | 北京像素软件科技股份有限公司 | 一种3d场景的寻路方法和寻路装置 |
CN103020443A (zh) * | 2012-12-08 | 2013-04-03 | 大连创达技术交易市场有限公司 | 一种地图训练的方法 |
EP2631733A1 (en) * | 2012-02-27 | 2013-08-28 | GE Aviation Systems LLC | Methods for formation flying aided by a relative navigation system |
-
2014
- 2014-12-26 CN CN201410828117.9A patent/CN104548597B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996320A (zh) * | 2006-01-04 | 2007-07-11 | 腾讯科技(深圳)有限公司 | 一种最优路径的寻径方法 |
CN101241507A (zh) * | 2008-01-17 | 2008-08-13 | 腾讯科技(深圳)有限公司 | 一种地图寻路方法及系统 |
CN101504776A (zh) * | 2009-03-17 | 2009-08-12 | 北京像素软件科技股份有限公司 | 一种3d场景的寻路方法和寻路装置 |
EP2631733A1 (en) * | 2012-02-27 | 2013-08-28 | GE Aviation Systems LLC | Methods for formation flying aided by a relative navigation system |
CN103020443A (zh) * | 2012-12-08 | 2013-04-03 | 大连创达技术交易市场有限公司 | 一种地图训练的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104548597A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104548597B (zh) | 导航网格的自动生成方法和装置 | |
CN100543775C (zh) | 基于多目相机的三维人体运动跟踪的方法 | |
CN106528740B (zh) | 基于Delaunay三角网的道路中心线提取方法 | |
CN104270714B (zh) | 确定用户行动轨迹的方法和装置 | |
CN110263111B (zh) | 基于先验知识的土地利用/覆被信息时空监测方法 | |
CN101398933B (zh) | 一种从图像中恢复三维几何信息的方法 | |
Wang et al. | SSIEA: a hybrid evolutionary algorithm for supporting conceptual architectural design | |
CN101877146B (zh) | 一种扩充三维人脸数据库的方法 | |
CN102509105A (zh) | 一种基于贝叶斯推理的图像场景分层处理方法 | |
CN103336783A (zh) | 联合泰森多边形与反距离加权的密度图制图方法 | |
CN104835168B (zh) | 基于全局凸优化变分模型的快速多相图像分割方法 | |
CN105844224A (zh) | 一种车载LiDAR 道路点云快速有序化方法 | |
CN102509327A (zh) | 一种图像空洞填补的多尺度全局采样方法 | |
CN103839222A (zh) | 一种基于分层次边界拓扑搜索模型的栅格转矢量并行系统 | |
CN108256218A (zh) | 一种基于实测腰线数据的地下连通巷道精细建模方法 | |
CN106023317B (zh) | 一种用于大数据测试的加权Voronoi图生成方法 | |
CN106910218B (zh) | 基于大区域栅格数字高程模型的地表表面面积计算方法 | |
KR101595406B1 (ko) | 디지털항공사진 기반의 임분고 추정 시스템 및 방법 | |
CN106201706A (zh) | 一种粒子群服务选择方法和系统 | |
CN104657901A (zh) | 一种基于随机游走的标签传播社区发现方法 | |
CN101853508A (zh) | 基于方向集的泛化置信度传播的双目立体视觉匹配方法 | |
CN101901483B (zh) | 泛化置信度传播的双目立体视觉匹配方法 | |
CN105513136B (zh) | 一种基于水平集中心聚类的3d角色模型骨架提取方法 | |
CN107993242A (zh) | 基于机载LiDAR点云数据缺失区域边界提取方法 | |
CN111881919A (zh) | 一种基于追踪式格网剖分的线要素智能化简方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |