一种用于六边形密铺地图中山体生成的方法技术

技术编号:35575719 阅读:31 留言:0更新日期:2022-11-12 16:00
本发明专利技术公开了一种用于六边形密铺地图中山体生成的方法,包括如下步骤:S1:接收输入的的山体基础模块;S2:接收输入的地图中需要生成山脉的山脉区域的划定;S3:摆放山体基础模块以填充山脉区域,在地图中生成山体效果。本发明专利技术将山体基础模块制作、地图山脉区域划定、生成山脉的工作独立,使得美术师、地图设计师、算法工程师的工作解耦,提高了工作效率;本发明专利技术使美术师只需负责少数基础模块的制作和迭代,可以进一步提升细节效果;使用本发明专利技术的方法,可以在划定山脉区域快速预览生成效果,降低成本;由于只需要存储几十个模块的数据,内存/显存占用和存储空间消耗降低,使性能有限的移动端也可以采用表现效果优秀的六边形密铺地图。铺地图。铺地图。

【技术实现步骤摘要】
一种用于六边形密铺地图中山体生成的方法


[0001]本专利技术涉及互动媒体场景程序化生成领域,特别是涉及一种用于六边形密铺地图中山体生成的方法。

技术介绍

[0002]山脉效果是游戏等互动媒体中画面表现的重要组成部分,大多数涉及野外环境的互动媒体几乎都需要投入成本进行山脉效果的研发。而随着硬件技术的提高、研发软件的迭代,互动媒体中的山脉效果也需要有越来越丰富、逼真的表现,如需要较大地理跨度、较多地理元素的策略类游戏,是互动媒体中对山脉效果需求最旺盛的细分品类。尽管这些品类中已经诞生了许多高知名度、高收益、高单体付费的作品甚至作品系列(如《文明》系列、《三国志》系列等),但其表现效果仍有进步的空间:
[0003]1.该品类的手机端网络游戏由于手机硬件性能较差、游戏地图需要持续更新迭代、需要容纳大量玩家,因而地图体量巨大,所以往往采用资源开发较为简单的正方形密铺地图(如《率土之滨》、《三国志战略版》),但表现效果会出现重复性高、单调生硬的问题(图1)。
[0004]2.该品类的PC端游戏(如《文明》系列近期作品、《HumankinD》等)由于性能限制较小,通常采用六边形密铺地图提升可玩性与表现效果。但是由于这类游戏常常需要为每次开局随机生成地图,对地图生成的时间、性能有要求,因而生成的都是较为简单的、线性链接的山脉,难以做到连绵山脉的效果。同时也有重复性高、不够生动的问题(图2)。
[0005]3.目前学术界也有许多关于山体生成、山体侵蚀美化方面的研究。然而,一方面学界上缺乏可以用于大体量地图高性能生成的能力,一方面其生成也专注于模仿现实世界的效果,难以适配该品类互动媒体中普遍使用的六边形密铺、正方形密铺地图,与业界的实际需求存在差距。
[0006]总体而言,四边形网格由于应用场景广泛,与各种图片技术、游戏中的高度场等具有等价的描述形式,可以较容易地做到不重不漏地对划定的区域进行填充,而六边形网格地图则不易在不重不漏地填充好区域的同时还保证外形的自然可控。但对于目前业内最需要大量、丰富山脉效果的品类,缺乏可用于表现效果最优秀的地图形式(六边形密铺地图)的大型、连绵山脉高效的生成流程与算法。

技术实现思路

[0007]本专利技术的目的是在于解决解决山体生成效果差、效率低的技术问题,提出一种用于六边形密铺地图中山体生成的方法,包括如下步骤:
[0008]S1:接收输入的的山体基础模块;
[0009]S2:接收输入的地图中需要生成山脉的山脉区域的划定;
[0010]S3:摆放山体基础模块以填充山脉区域,在地图中生成山体效果。
[0011]在一些实施例中,步骤S1中山体基础模块的生成方法包括如下步骤:
[0012]S1

1:根据项目需求生产山体模块,每个所述山体模块覆盖按特定方式排列的六边形网格区域,确定每个所述山体模块覆盖的面积后,为其生成简单基础形状进而得到高度图;
[0013]S1

2:对所述高度图进行细化制作得到基础模型;
[0014]S1

3:计算基础模型参数,得到山体基础模块;
[0015]在一些实施例中,在明确每个模块所覆盖的面积之后,步骤S1

1中生成简单基础形状进而得到高度图的方法包括如下步骤:
[0016]S1
‑1‑
1:对于每个所述山体模块覆盖的面积进行细分,设置至少1个顶点;
[0017]S1
‑1‑
2:计算每个顶点到所述山体模块的外轮廓的最短距离;
[0018]S1
‑1‑
3:将每个所述顶点的纵坐标设置为该顶点到所述外轮廓的最短距离;
[0019]S1
‑1‑
4:纵向整体缩放每个顶点的纵坐标;
[0020]S1
‑1‑
5:将外轮廓以及缩放后的顶点转为高度图。
[0021]在一些实施例中,步骤S1

3中计算基础模型参数,得到山体基础模块的方法包括如下步骤:
[0022]S1
‑3‑
1提取模块的边缘线,要求线上的每个点及其相邻的两个点不能都在同一直线上,否则删除该点并将该点的两个相邻点相连,重复本步骤直到所有点符合要求;
[0023]S1
‑3‑
2对于区域的每个六边形,计算其每个顶点到步骤S1
‑3‑
1中得到的模块边缘线最近点的距离,取平均值记为D;
[0024]S1
‑3‑
3对于区域的每个六边形,计算其中心点到D值最高的六边形的中心点的矢量距离,记为P;
[0025]S1
‑3‑
4将所有六边形中最高的D值记为Dmax;
[0026]S1
‑3‑
5将该模块覆盖六边形的数量记为A;
[0027]S1
‑3‑
6将所有模块先按照A值从高到低排列,再按照Dmax值从高到低排列。
[0028]在一些实施例中,步骤S2中地图中需要生成山脉的山脉区域的划定的方法包括如下步骤:
[0029]S2

1:在大地图上划定需要生成山脉的区域,暂时删去不需要生成山脉的六边形,每个相连的区域即为一个山脉区域;
[0030]S2

2:对于步骤S2

1中得到的每个山脉区域,进行步骤S1
‑3‑
2和步骤S1
‑3‑
4。
[0031]在本实施例中,地图中需要生成山脉的山脉区域的划定可以由人工划定也可以由随机算法生成。
[0032]在一些实施例中,视每个六边形的边长为1,步骤S3中摆放山体模块以填充山脉区域包括如下步骤:
[0033]S3

1:预处理,令S、F为山脉区域所有六边形的集合;
[0034]S3

2:第一轮摆放,第一轮可以用来摆放的模块需满足:模块的Dmax大于1,模块的Dmax小于等于山脉区域的Dmax,模块的排列顺序遵循步骤S1
‑3‑
6的排序规则;
[0035]S3
‑2‑
1:找到S中D值最大的六边形H;
[0036]S3
‑2‑
2:将排序最靠前的可摆放模块的D值最大六边形与六边形H对齐,若S包含了该模块所有覆盖的六边形或无可摆放模块,进入下一步骤,否则,将该模块从可摆放模块的集合中移除,重复本步骤;
[0037]S3
‑2‑
3:从S中删除所有被步骤S3
‑2‑
2中的模块覆盖的六边形,对S进行步骤S1
‑3‑
2,从F中删除所有被步骤S3
‑2‑
2中的模块覆盖的D值大于等于1的六边形;
[0038]S3
‑2‑
4:重复步骤S3
‑2‑
1至步骤S3
‑2‑
3,直本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于六边形密铺地图中山体生成的方法,其特征在于,包括如下步骤:S1:接收输入的的山体基础模块;S2:接收输入的地图中需要生成山脉的山脉区域的划定;S3:摆放山体基础模块以填充山脉区域,在地图中生成山体效果。2.根据权利要求1所述的方法,其特征在于,步骤S1中山体基础模块的制作方法包括如下步骤:S1

1:根据项目需求生产山体模块,每个所述山体模块覆盖按特定方式排列的六边形网格区域,确定每个所述山体模块覆盖的面积后,为其生成简单基础形状进而得到高度图;S1

2:对所述高度图进行细化制作得到基础模型;S1

3:计算基础模型参数,得到山体基础模块。3.根据权利要求2所述的方法,其特征在于,步骤S1

1中生成简单基础形状进而得到高度图的方法包括如下步骤:S1
‑1‑
1:对于每个所述山体模块覆盖的面积进行细分,设置至少1个顶点;S1
‑1‑
2:计算每个顶点到所述山体模块的外轮廓的最短距离;S1
‑1‑
3:将每个所述顶点的纵坐标设置为该顶点到所述外轮廓的最短距离;S1
‑1‑
4:纵向整体缩放每个所述顶点的纵坐标;S1
‑1‑
5:将外轮廓以及缩放后的顶点转为高度图。4.根据权利要求3所述的方法,其特征在于,步骤S1

3中计算基础模型参数,得到山体基础模块的方法包括如下步骤:S1
‑3‑
1提取模块的边缘线,要求线上的每个点及其相邻的两个点不能都在同一直线上,否则删除该点并将该点的两个相邻点相连,重复本步骤直到所有点符合要求;S1
‑3‑
2对于区域的每个六边形,计算其每个顶点到步骤S1
‑3‑
1中得到的模块边缘线最近点的距离,取平均值记为D;S1
‑3‑
3对于区域的每个六边形,计算其中心点到D值最高的六边形的中心点的矢量距离,记为P;S1
‑3‑
4将所有六边形中最高的D值记为Dmax;S1
‑3‑
5将该模块覆盖六边形的数量记为A;S1
‑3‑
6将所有模块先按照A值从高到低排列,再按照Dmax值从高到低排列。5.根据权利要求4所述的方法,其特征在于,步骤S2中地图中需要生成山脉的山脉区域的划定的方法包括如下步骤:S2

1:在大地图上划定需要生成山脉的区域,暂时删去不需要生成山脉的六边形,每个相连的区域即为一个山脉区域;S2

2:对于步骤S2

1中得到的每个山脉区域,进行步骤S1
‑3‑
2和步骤S1
‑3‑
4。6.根据权利要求5所述的方法,其特征在于,步骤S2中地图中需要生成山脉的山脉区域的划定可以由人工划定也可以由随机算法生成。7.根据权利要求5所述的方法,其特征在于,视每个六边形的边长为1,步骤S3中摆放山体模块以填充山脉区域包括如下步骤:S3

1:预处理,令S、F为山...

【专利技术属性】
技术研发人员:闫广赫聂晓梅
申请(专利权)人:清华大学深圳国际研究生院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1