导航网格的自动生成方法和装置的制造方法

文档序号:8234939阅读:868来源:国知局
导航网格的自动生成方法和装置的制造方法
【技术领域】
[0001]本申请涉及计算机技术,特别涉及导航网格(Navigat1n Mesh)的自动生成方法和装置。
【背景技术】
[0002]所谓导航网格,其是为网络游戏角色自动寻路而制作的标注了可行走区域的三角形或多边形网格。
[0003]在目前的网络游戏中,导航网格的制作阶段尚依赖于手工制作,是手工对输入网格分析,根据少量参数要求,擦除部分网格,得到相对粗糙的导航网格。
[0004]这种手工制作导航网格的方法,灵活性差,对一些特定的要求不支持。

【发明内容】

[0005]本申请提供了导航网格的自动生成方法和装置,以实现自动生成导航网格。
[0006]本申请提供的技术方案包括:
[0007]一种导航网格的自动生成方法,该方法包括:
[0008]将输入模型转换为由多个设定体素组成的体素模型,建立对应所述体素模型的高度场数据结构;
[0009]根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识;
[0010]根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域;
[0011]对所述可行走区域分成多个分区,并对每一分区进行轮廓简化;
[0012]对各个轮廓简化的分区进行三角化并建立连接,形成导航网格。
[0013]一种导航网格的自动生成装置,该装置包括:
[0014]转换单元,用于将输入模型转换为由多个设定体素组成的体素模型;
[0015]建立单元,用于建立对应所述体素模型的高度场数据结构;
[0016]标记单元,用于根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识;
[0017]选择单元,用于根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域;
[0018]优化单元,用于对所述可行走区域分成多个分区,并对每一分区进行轮廓简化;
[0019]导航网格单元,用于对各个轮廓简化的分区进行三角化并建立连接,形成导航网格。
[0020]由以上技术方案可以看出,本发明中,通过将输入模型转换为由多个设定体素组成的体素模型,建立对应所述体素模型的高度场数据结构;根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识;根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域;对所述可行走区域分成多个分区,并对每一分区进行轮廓简化;对各个轮廓简化的分区进行三角化并建立连接,形成导航网格,能够实现导航网格的自动生成。
【附图说明】
[0021]图1为本发明实施例提供的方法流程图。
[0022]图2为本发明实施例提供的设备结构示意图。
【具体实施方式】
[0023]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0024]参见图1,图1为本发明提供的方法流程图。如图1所示,该流程可包括以下步骤:
[0025]步骤101,将输入模型转换为由多个设定体素组成的体素模型,建立对应体素模型的高度场数据结构。
[0026]作为本发明的一个实施例,这里将输入模型转换为由多个设定体素组成的体素模型的过程类似把二维矢量图形“像素化”的过程。其中,优选地,体素可以为立方体。在体素模型中的多个立方体宽度、高度分别相等。
[0027]在本发明中,体素设定的越小,整个转换过程的时间就越长,而后续得到的导航网格就越准确。
[0028]本发明中,在将输入模型转换为由多个设定体素组成的体素模型后,X坐标方向上就会产生width个方格,z坐标方向上就会产生height个方格,总共就会产生width*height个高度跨度数据结构,把它命名为高度场数据结构。
[0029]步骤102,根据玩家角色设定的参数限制从所述高度场数据结构中选择出不满足所述参数限制的体素,并标记不可行走标识。
[0030]作为本发明的一个实施例,所述玩家角色设定的参数限制至少包括:
[0031]玩家角色高度、玩家角色宽度、玩家角色可跨越高度、玩家角色可行走面角度、分析精度、最小区域面积、可合并区域面积中的一个或者多个。
[0032]以玩家角色设定的参数限制为玩家角色高度为例,与玩家角色高度对比,对(x,z)坐标下的高度场数据结构中小于玩家角色高度的体素标记为不可行走标识,这对应网络游戏中玩家角色无法进入比自身高度更小的区域比如洞穴门窗。
[0033]再以玩家角色设定的参数限制为玩家角色可跨越高度为例,则高度场数据结构中两个相邻体素最高点的高度差大于玩家角色可跨越高度,则将被标记为不可行走标识,这对应网络游戏中玩家角色可以越过高度略低的障碍物,不可以跨越高度略高的障碍物。
[0034]步骤103,根据所述高度场数据结构中标记了不可行走标识的体素在所述体素模型中选择出可行走区域。
[0035]本步骤103是将体素模型中除高度场数据结构中标记了不可行走标识的体素之外的其他体素组成可行走区域。
[0036]步骤104,对所述可行走区域分成多个分区,并对每一分区进行轮廓简化。
[0037]本步骤104是对步骤103最终选择出的可行走区域的一种优化。这里,对所述可行走区域分成多个分区可采用比较成熟的分水岭分区算法实现,这里不再重点描述。另外,对每一分区进行轮廓简化可按照比较成熟的ramer douglas peucker算法实现。这里不再描述。
[0038]步骤105,对各个轮廓简化的分区进行三角化并建立连接,形成导航网格。
[0039]至此,完成图1所示流程,
[0040]通过图1所示流程可以看出,本发明不再
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1