台地地基模型的自动化生成方法、装置、设备及存储介质与流程

未命名 09-15 阅读:83 评论:0


1.本发明涉及渲染技术领域,特别是涉及一种台地地基模型的自动化生成方法、一种台地地基模型的自动化生成装置、相应的一种电子设备以及相应的一种计算机可读存储介质。


背景技术:

2.在游戏渲染中,通常具有在山上生成多座城池的需求,该类型的城池需要适配起伏的地形生成,既需要尽量贴合并保留原地形的轮廓又有足够面积建造房屋,且放置房屋的区域又要求是平整的,存在对能够用于在山上生成城池需求的台地地基的生成需求。
3.在相关技术中,主要是通过人工手动建模或者手动绘制得到不规则范围,以实现对台地地基的生成,采用该台地地基的生成方式生成效率较低。


技术实现要素:

4.鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种台地地基模型的自动化生成方法、一种台地地基模型的自动化生成装置、相应的一种电子设备以及相应的一种计算机可读存储介质。
5.本发明实施例公开了一种台地地基模型的自动化生成方法,所述方法包括:
6.获取范围片数据和原始地形数据;所述范围片数据用于指示台地地基的面片范围区域,所述原始地形数据用于指示预设地形地图和预设地形地图的原始高度;
7.根据所述原始地形数据和所述范围片数据,得到地基多边形数据;其中,所述地基多边形数据用于指示台地模型片的高度数据,所述台地模型片用于构成台地地基模型;
8.获取所述台地模型片的高度数据与所述原始地形数据的差异信息,根据所述差异信息和所述预设地形地图生成台地地基模型。
9.本发明实施例还公开了一种台地地基模型的自动化生成装置,所述装置包括:
10.数据获取模块,用于获取范围片数据和原始地形数据;所述范围片数据用于指示台地地基的面片范围区域,所述原始地形数据用于指示预设地形地图和预设地形地图的原始高度;
11.地基数据生成模块,用于根据所述原始地形数据和所述范围片数据,得到地基多边形数据;其中,所述地基多边形数据用于指示台地模型片的高度数据,所述台地模型片用于构成台地地基模型;
12.台地地基生成模块,用于获取所述台地模型片的高度数据与所述原始地形数据的差异信息,根据所述差异信息和所述预设地形地图生成台地地基模型。
13.本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现任一项所述台地地基模型的自动化生成方法。
14.本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存
储计算机程序,所述计算机程序被处理器执行时实现任一项所述台地地基模型的自动化生成方法。
15.本发明实施例包括以下优点:
16.在本发明实施例中,通过获取用于指示台地地基的面片范围区域的范围片数据,以及用于指示预设地形地图的原始高度的地形数据,对用于构成台地地基模型的台地模型片的高度数据进行计算,以便基于台地模型片的高度数据和地形数据的差异信息,生成台地地基模型。通过对所输入的任意范围片数据以及任意预设地形地图的地形数据进行处理得到台地地基模型,基于程序化、自动化在制作过程中不受限于各个地形的地形差异,保证台地地基生成方案的通用性,特别是在进行大地图的台地地基制作的场景下,提高台地地基的生成效率。
附图说明
17.图1是本发明的一种台地地基模型的自动化生成方法实施例的步骤流程图;
18.图2是本发明的另一种台地地基模型的自动化生成方法实施例的步骤流程图;
19.图3a至图3l是本发明实施例提供的自动化生成台地地基模型的过程示意图;
20.图4是本发明的一种台地地基模型的自动化生成装置实施例的结构框图。
具体实施方式
21.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
22.在游戏渲染中,通常具有在山上生成多座城池的需求,该类型的城池需要适配起伏的地形生成,既需要尽量贴合并保留原地形的轮廓又有足够面积建造房屋,且放置房屋的区域又要求是平整的,存在对能够用于在山上生成城池需求的台地地基的生成需求。
23.在相关技术中,通常表现为使用maya(是autodesk开发的三维计算机图形软件,用于创建动画、模型、渲染和视觉效果)或者3dsmax(是autodesk开发的三维建模、动画和渲染软件)等软件进行多边形建模或者手动雕刻地形完成,即通过人工手动建模或者手动绘制得到不规则范围,以实现对台地地基的生成。但采用该山城地址的生成方式生成效率较低,特别是在面对需要针对各种不同地形生产大量模型的情况下,由于各个地形都是独特的模型,每次制作得到的台地地基无法实现通用,需要不断地进行手动重复劳动,工作量巨大且消耗大量人力。
24.本发明实施例通过以程序化自动生成台地地基模型的制作方案,代替基于人力的建模流程,以利用程序化、自动化进行随时迭代,节省人力和时间,特备是在生成大地图的台地地基时,基于程序化、自动化在制作过程中不受限于各个地形的地形差异,保证台地地基生成方案的通用性,提高台地地基的生成效率。此外,本发明实施例所提出的台地地基模型的自动化生成方案,可以基于在任何图形接口平台,通过输入原始地形数据和范围片数据,直接输出台地地基模型和台地模型片,由于不受平台限制,便于在各种主流引擎中进行使用,在自动化生成适用于在各种地形上生成城池的台地地基的同时,还可以减少开发过程中的适配问题。
25.参照图1,示出了本发明的一种台地地基模型的自动化生成方法实施例的步骤流
程图,具体可以包括如下步骤:
26.步骤101,获取范围片数据和原始地形数据;
27.台地,指的是中央坡度平缓、四周较陡,且直立在周围低地丘陵的地貌,那么台地地基可以指的是可用于在山上建立城池的平面地形,即为山城地基。
28.原始地形数据,可以用于描述预设地形地图的各个地形区域以及各个地形区域的区域位置、区域范围、原始高度等信息;预设地形地图可以指的是所要建立城池所在的地形,该预设地形地图可以是任意地形,不同的地形可以具有其自身独特的特点,本发明实施例对此不加以限制。
29.范围片数据,可以指的是可用于指示所要生成的台地地基的面片范围区域的相关数据,该相关数据通常为所框选出的某个或者某些区域,其面片范围区域通常可以基于多边形片体现,例如一片或者多片代表整个城池区域的多边形区域。需要说明的是,该范围片数据可以基于预先规划的数据得到,也可以是基于人工手动绘制规划的区域,其可以允许基于城池所建立在的预设地形地图的不同而框选出不同区域,且在不同/相同预设地形地图上不同位置所框选出的区域形状可以不相同,本发明实施例对此不加以限制。
30.在本发明的一种实施例中,可以对用于指示台地地基的范围区域的范围片数据,以及对台地地基所在的原始地形数据进行获取,以便基于对范围片数据和原始地形数据的处理,对台地地基进行生成。在实际应用中,可以通过任何图形接口平台对范围片数据和预设地形地图进行输入,实现对相应数据的获取。
31.其中,任何图形接口平台可以包括但不限于虚幻引擎4(即unrealengine4,简称ue4)等主流引擎或者自研引擎,具体的,台地地基可以基于houdini软件(是一种3d计算机图形软件)制作生成,将houdini所实现的台地地基生成算法结果应用至任意图形接口平台完成方案测试以及验证结果,使得本发明实施例提出的台地地基模型的自动化生成方法不受平台限制,减少开发过程中的适配问题。
32.步骤102,根据原始地形数据和范围片数据,得到地基多边形数据;
33.在对用于指示台地地基的范围区域的范围片数据,以及对台地地基所在的原始地形数据进行获取之后,可以对所获取的地形数据和范围片数据进行处理,以便生成台地地基模型。
34.其中,对所获取数据的处理过程,可以表现为对地基多边形数据的获得,所获得的地基多边形数据可以用于指示台地模型片的高度数据,而台地模型片可以用于构成台地地基模型,即此时可以基于对台地模型片的高度数据的确定,便于后续基于台地模型片的高度数据对同时符合预设地形地图和符合所规划的面片范围区域的台地地基进行生成。
35.具体的,地基多边形数据用于指示台地模型片的高度数据,即台地地基的生成注重其各个台地区域相应的平面地形的高度细节。此时可以基于对各个台地区域的平均高度的获取,以得到地基多边形数据。
36.在具体表现中,原始地形数据可以指示预设地形地图的原始高度,此时可以基于范围片数据和原始地形数据,获取预设地形地图中各个地形区域的平均高度,以便基于所获取的各个地形区域的平均高度和预设地形地图的原始高度,对台地模型片的高度数据进行确定。
37.步骤103,获取台地模型片的高度数据与原始地形数据的差异信息,根据差异信息
和预设地形地图生成台地地基模型。
38.在基于对原始地形数据和范围片数据进行处理,得到台地模型片的高度数据之后,可以基于台地模型片的高度数据对台地地基模型进行生成。
39.其中,用于生成台地地基模型的台地模型片,其高度数据基于对原始地形数据和范围片数据进行处理得到,那么基于该高度数据生成的台地地基模型同时符合预设地形地图和符合所规划的面片范围区域,即所生成的台地地基模型属于在某个指定预设地形地图上的指定面片范围区域所生成的模型,以便后续基于在该地基模型上构建城池,使得所构建得到的城池同样符合在某个指定预设地形地图上的指定面片范围区域的要求,从而实现在山上自动化生成城池的目的,且使得该城池能够具备带有起伏、能够贴合并保留原地形的轮廓以及在平整区域放置等的特性。
40.在实际应用中,基于对各个地形区域的平均高度和预设地形地图的原始高度进行处理得到的台地模型片的高度数据,可以保证所生成的台地地基模型存在用于放置房屋的平整区域;而为了使得所生成的台地地基模型还能够带有起伏,且能够贴合并保留原地形的轮廓,在得到台地模型片的高度数据之后,可以对台地模型片的高度数据与原始地形数据的差异信息进行获取,所获取的差异信息所指示的是原始地形数据中的高度细节,以便将高度细节叠加至初始的预设地形地图上,生成得到台地地基模型。
41.在本发明实施例中,通过获取用于指示台地地基的面片范围区域的范围片数据,以及用于指示预设地形地图的原始高度的地形数据,对用于构成台地地基模型的台地模型片的高度数据进行计算,以便基于台地模型片的高度数据和地形数据的差异信息,生成台地地基模型。通过对所输入的任意范围片数据以及任意预设地形地图的地形数据进行处理得到台地地基模型,基于程序化、自动化在制作过程中不受限于各个地形的地形差异,保证台地地基生成方案的通用性,特别是在进行大地图的台地地基制作的场景下,提高台地地基的生成效率。
42.参照图2,示出了本发明的另一种台地地基模型的自动化生成方法实施例的步骤流程图,具体可以包括如下步骤:
43.步骤201,响应对范围片数据和原始地形数据的输入指令,根据原始地形数据和范围片数据,获取预设地形地图中各个地形区域的平均高度;
44.在本发明实施例中,可以以程序化自动生成台地地基模型的制作方案,代替基于人力的建模流程,基于程序化、自动化生成台地地基模型。该制作方案的程序化以及自动化的实现可以基于图形接口平台执行,在实际应用中,本发明实施例所提出的台地地基模型的自动化生成方法可以应用在任何图形接口平台,任何图形接口平台可以包括但不限于ue4等主流引擎或者自研引擎,主要表现为在向某个图形接口平台输入原始地形数据和范围片数据之后,平台可以直接输出台地地基模型和台地模型片。
45.在本发明的一种实施例中,可以接收并响应对范围片数据和原始地形数据的输入指令,对所获取的地形数据和范围片数据进行处理。其中,预设地形地图可以指的是所要建立城池所在的地形,该预设地形地图可以是任意地形,不同的地形可以具有其自身独特的特点;原始地形数据,可以用于描述相应预设地形地图的各个地形区域以及各个地形区域的区域位置、区域范围、原始高度等信息;范围片数据可以用于指示所要生成的台地地基的面片范围区域,通常表现为多边形片,其可以基于预先规划的数据或者基于人工手动绘制
得到,以基于任意输入的范围片数据和原始地形数据,满足在任意地形上的任意位置生成用于构建城池的台地地基模型的需求。
46.对所获取数据的处理过程,可以表现为对地基多边形数据的获得,所获得的地基多边形数据可以用于指示台地模型片的高度数据,而台地模型片可以用于构成台地地基模型,即此时可以基于对台地模型片的高度数据的确定,便于后续基于台地模型片的高度数据对同时符合预设地形地图和符合所规划的面片范围区域的台地地基进行生成。
47.具体的,地基多边形数据用于指示台地模型片的高度数据,即台地地基的生成注重其各个台地区域相应的平面地形的高度细节。此时可以基于对各个台地区域的平均高度的获取,以得到地基多边形数据。
48.其中,对各个台地区域的平均高度的获取过程,可以表现为将所输入的范围片数据投射至预设地形地图上,然后对范围区域进行划分以提取每片地形区域的平均高度。
49.在实际应用中,首先可以对用于体现面片范围区域的多边形片进行划分,以得到多个多边形小片,此时的多边形小片不具备地形特性,即不具有类似地形高度等信息;为了使得多边形小片具有地形特性,可以将各个多边形小片映射至预设地形地图上,分别得到预设地形地图的多个地形区域,即所得到的地形区域是具有地形特性的;然后为了能够对每个地形区域的平均高度进行获取,本发明实施例可以采用模型顶点进行收敛的方式实现,具体表现为将映射到预设地形地图上的各个多边形小片按照预设大小的三角形模型进行划分,得到分别具有多个三角形模型的多个多边形小片,然后可以根据具有多个三角形模型的各个多边形小片确定各个多边形小片的平均位置,并基于平均位置得到各个地形区域的平均高度。
50.其中,由于三角形模型基于多个顶点构建,且三角形模型上的各个顶点携带顶点在预设地形地图上相应位置的原始地形高度的数据,此时对于平均位置的确定,可以在各个多边形小片中,基于三角形模型上的各个顶点确定各个多边形小片中顶点的平均位置,具体可以基于在每个多边形小片中,其模型上的顶点均向周围的顶点取一个平均的位置,然后使得模型上的顶点向平均位置实现向中间的收缩,需要说明的是,在各个多边形小片中所确定的平均位置可以属于是迭代确定和迭代收缩的过程,即模型上的顶点可以在收缩一次后不断向周围点确定平均位置然后再不断收缩,直至各个多边形小片上模型的顶点最后向中间收缩至一个点为止,得到各个多边形小片中收缩后重叠的顶点,然后可以获取收缩后重叠的顶点所携带的原始地形高度,将各个多边形小片中收缩后重叠的顶点所携带的原始地形高度,作为各个地形区域的平均高度。
51.在具体实现中,对于多边形片的划分,主要可以通过在多边形片上进行撒点之后进行切割实现,示例性地,可以通过添加scatter进行撒点后使用voronoifracture进行切割得到多个多边形小片;其基于撒点的数量多少进行切割,即所撒的点越多则对多边形片切割得越细,其所撒的点的具体数量可以基于用户手动输入的数值进行控制,允许对面积过大的多边形片再次进行划分,示例性的,可以通过lot_subdivision并设置min_lot_size大小为7000,对面积过大的多边形小片再一次进行细分;然后可以对所划分得到的每一片多边形小片转换为单独的个体,以便在基于多边形小片进行与地形的贴合、基于平均位置向中间收缩、计算高度细节等步骤可以对每个个体进行循环,示例性地,可以采用facet使每一片多边形成为一片单独的个体;在对各个多边形小片转换为单独的个体之后,可以循
环地将当前的多边形小片投射或者贴合到所输入的预设地形地图上,向映射至预设地形地图上的各个多边形小片赋予地形特性,相应得到与各个多边形小片相应的地形区域,示例性地,可以通过使用ray节点将多边形小片映射到预设地形地图,其中ray属于内置方法,具体原理是通过模型寻找地形上离它最近距离的点并进行贴合;然后可以对映射到预设地形地图上的各个多边形小片按照预设大小的三角形模型进行划分,示例性地,可以通过使用remesh,假设预设大小size为10,将每片多边形小片按照该预设大小的三角形模型进行细分,以得到分别具有多个三角形模型的多个多边形小片;然后可以在各个多边形小片中,基于三角形模型上的各个顶点确定各个多边形小片中顶点的平均位置,示例性地,可以通过使用attribblur节点,对每一片模型进行平滑,使得模型上的顶点能够向周围的顶点取一个平均的位置并向中间收缩,得到每个地形区域的平均高度。
52.步骤202,根据各个地形区域的平均高度和预设地形地图的原始高度,得到地基多边形数据;
53.在对各个地形区域的平均高度进行获取之后,可以基于各个地形区域的平均高度和预设地形地图的原始高度,到地基多边形数据,以获得台地模型片的高度数据。
54.具体地,将所提取的各个地形区域的平均高度和地图地形的原始地形高度进行对比,然后获取各个地形区域的平均高度和预设地形地图的原始地形高度中数值较大的目标高度数据,以基于各个地形区域的目标高度数据,得到用于生成台地地基模型的各个台地模型片的高度数据。
55.其中,对平均高度的获取,以及将平均高度和原始地形高度的对比,主要是为了确定后续所生成的台地地基模型中各个平面地形的高度,以保证后续所生成的台地地基模型存在用于放置房屋的平整区域。
56.在实际应用中,在获取数值较大的目标高度数据之后,可以基于对目标高度数据的线性插值计算以对台地模型片的高度数据进行获取。具体表现为获取各个多边形小片中各个三角形模型上的各个顶点所携带的原始地形高度,然后将目标高度数据和各个多边形小片中各个顶点所携带的原始地形高度进行预设比重的线性插值计算,得到各个台地模型片的高度数据。
57.示例性地,预设比重通常可以为0.5,可以通过添加pointwrangle节点,将各个顶点所携带的原始地形高度作为第一个输入端口所输入的数据,然后将所计算得到的各个地形区域的平均高度作为第二个输入端口所输入的数据,需要说明的是,在实际输入场景下,其在进行输入时高度信息具有可以基于坐标信息(即用于表示高度坐标的y坐标)进行体现,在输入之后可以运行如下代码:
58.vectorpos2=point(1,"p",@ptnum);\\获取第二个输入端口中的点的位置信息写入pos2;
59.floatpos_maxy=max(pos2.y,v@p.y);\\比较当前模型的y坐标(y指的是高度坐标)和pos2哪个比较大(高),获取数值较大的目标高度数据记录为pos_maxy;
60.floatpos_temp2=lerp(pos_maxy,pos2.y,0.5);\\取pos_maxy和pos2.y的平均值,记录为pos_temp2;
61.v@p.y=pos_temp2;\\将pos_temp2赋予当前模型的y轴坐标。
62.通过上述代码,实现比较两个输入端的y轴坐标,然后获取数值较大的目标高度数
据并与原始地形数据中的坐标信息进行0.5比重的混合,将混合得到的结果赋予至预设地形地图的y坐标。使得将原来映射至地图地形上的各个多边形小片中,若存在高度较矮的部分出现翘起的现象,对其取平滑后的坐标,即后续所赋予的y轴坐标,使得映射至地图地形上的各个多边形小片中由于地形的起伏而发生倾斜的小片部分可以变得比较平,从而保证后续用于放置房屋的平整区域。
63.步骤203,将台地模型片的高度数据映射至预设地形地图,得到多个台地模型片;
64.在本发明的一些实施例中,由于台地模型片可以用于构建台地模型,在得到各个地形区域中平滑后的y轴坐标,即各个台地模型片的高度数据后,可以将其映射至预设地形地图,以得到与各个地形区域相应的台地模型片,便于后续在所生成的台地地基上构建城池时进行使用。
65.需要说明的是,所生成的台地模型片,可以用于作为台地地基的台地区域被获取,或者作为台地地基的投射材质被使用,还可以用于提供给其他后续流程进行使用,本发明实施例对此不加以限制。
66.步骤204,获取台地模型片的高度数据与原始地形数据的差异信息,根据差异信息和预设地形地图生成台地地基模型;
67.在基于对各个地形区域的平均高度和预设地形地图的原始高度进行处理得到的台地模型片的高度数据,保证所生成的台地地基模型存在用于放置房屋的平整区域之后,为了使得所生成的台地地基模型还能够带有起伏,且能够贴合并保留原地形的轮廓,在得到台地模型片的高度数据之后,可以对台地模型片的高度数据与原始地形数据的差异信息进行获取,所获取的差异信息所指示的是原始地形数据中的高度细节,以便将高度细节叠加至初始的预设地形地图上,生成得到台地地基模型。
68.具体的,可以将各个台地模型片的高度数据赋值至预设地形地图映射得到的各个地形区域,得到赋值后各个地形区域的地形数据,然后可以将赋值后各个地形区域的地形数据和地图地形的原始地形数据进行对比,得到用于指示地形高度场的高度差的差异信息;此时可以将用于指示地形高度场的高度差的差异信息叠加至预设地形地图上,得到台地地基模型。
69.在具体实现中,在得到各个台地模型片的高度数据之后,示例性地,可以通过heightfield_projec,将该高度数据赋予当前模型的y轴坐标,以赋值至预设地形地图映射得到的各个地形区域,此时直接投射后的地基地形变得较为光滑,已经丢失原有地面的细节;为了将地形上的细节进行叠加,此时可以对差点信息进行获取,示例性地,可以通过添加heightfield_layer模式使用difference,输入初始的预设地形地图和赋值各个台地模型片的高度数据后的预设地形地图,基于对赋值后各个地形区域的地形数据和地图地形的原始地形数据进行对比,得到前述两个地形的差异信息,其差异信息主要表现为地形高度场的高度差;此时可以对差异数据进行去除细节的模糊处理,使得本来充满细节(例如坑坑洼洼)的地形在进行模糊后变得平滑,在此之后,再将进行模糊处理后的差异数据叠加至原来的初始预设地形地图上,示例性的,可以通过heightfield_layer将模糊处理后的差异数据使用add模式叠加至原来的初始地形上,在依赖于台地模型片的高度数据的情况下实现对初始的预设地形地图的细节叠加,得到可以在其上构建城池的台地地基模型。
70.步骤205,输出所生成的台地地基模型和台地模型片。
71.在实际应用中,任何图形接口平台,可以通过输入原始地形数据和范围片数据,直接输出台地地基模型和台地模型片,由于不受平台限制,便于在各种主流引擎中进行使用,在自动化生成适用于在各种地形上生成城池的台地地基的同时,还可以减少开发过程中的适配问题。
72.所输出的台地地基模型和台地模型片,可以提供给后续流程进行使用,例如山城的构建流程等。需要说明的是,用于生成台地地基模型的台地模型片,其高度数据基于对原始地形数据和范围片数据进行处理得到,那么基于该高度数据生成的台地地基模型同时符合预设地形地图和符合所规划的面片范围区域,即所生成的台地地基模型属于在某个指定预设地形地图上的指定面片范围区域所生成的模型,以便后续基于在该地基模型上构建城池,使得所构建得到的城池同样符合在某个指定预设地形地图上的指定面片范围区域的要求,从而实现在山上自动化生成城池的目的,且使得该城池能够具备带有起伏、能够贴合并保留原地形的轮廓以及在平整区域放置等的特性。
73.在本发明实施例中,通过获取用于指示台地地基的面片范围区域的范围片数据,以及用于指示预设地形地图的原始高度的地形数据,对用于构成台地地基模型的台地模型片的高度数据进行计算,以便基于台地模型片的高度数据和地形数据的差异信息,生成台地地基模型。通过对所输入的任意范围片数据以及任意预设地形地图的地形数据进行处理得到台地地基模型,基于程序化、自动化在制作过程中不受限于各个地形的地形差异,保证台地地基生成方案的通用性,特别是在进行大地图的台地地基制作的场景下,提高台地地基的生成效率。
74.参照图3a至图3l,示出了本发明实施例提供的自动化生成台地地基模型的过程示意图,在本发明实施例中,任何图形接口平台,可以通过输入原始地形数据和范围片数据,直接输出台地地基模型和台地模型片,实现以程序化自动生成台地地基模型的制作方案。
75.具体的,1)所输入的原始地形数据可以如图3a所示,为任意地形;所输入的范围片数据可以用于指示所要生成的台地地基的面片范围区域,通常可以基于如图3b所示的多边形片体现;
76.2)如图3c所示,可以对输入的多边形片进行划分得到多个多边形小片,主要可以通过在多边形片上进行撒点之后进行切割实现,示例性的,可以通过添加scatter进行撒点后使用voronoifracture进行切割得到多个多边形小片;其基于撒点的数量多少进行切割,即所撒的点越多则对多边形片切割得越细,其所撒的点的具体数量可以基于用户手动输入的数值进行控制,允许对面积过大的多边形片再次进行划分,示例性地,可以通过lot_subdivision并设置min_lot_size大小为7000,对面积过大的多边形小片再一次进行细分;
77.3)如图3d所示,可以对所划分得到的每一片多边形小片转换为单独的个体,以便在基于多边形小片进行与地形的贴合、基于平均位置向中间收缩、计算高度细节等步骤可以对每个个体进行循环,示例性地,可以采用facet使每一片多边形成为一片单独的个体;
78.4)在对各个多边形小片转换为单独的个体之后,可以如图3e所示,循环地将当前的多边形小片投射或者贴合到所输入的预设地形地图上,向映射至预设地形地图上的各个多边形小片赋予地形特性,相应得到与各个多边形小片相应的地形区域,示例性地,可以通过使用ray节点将多边形小片映射到预设地形地图;
79.5)如图3f所示,可以对映射到预设地形地图上的各个多边形小片按照预设大小的
三角形模型进行划分,示例性地,可以通过使用remesh,假设预设大小size为10,将每片多边形小片按照该预设大小的三角形模型进行细分,以得到分别具有多个三角形模型的多个多边形小片;
80.6)如图3g所示,可以在各个多边形小片中,基于三角形模型上的各个顶点确定各个多边形小片中顶点的平均位置,示例性地,可以通过使用attribblur节点,对每一片模型进行平滑,使得模型上的顶点能够向周围的顶点取一个平均的位置并向中间收缩,得到每个地形区域的平均高度;
81.7)可以将每片多边形下片上各个顶点的地形高度,与每片多边形处理得到的平均高度(即每个地形区域的平均高度)进行比较,对于每片多边形,保留最大的高度,并将相较大的高度与所输入的原始地形地图的坐标按照预设比重进行混合,并将所得到的混合结果赋予到如图3f所示的地形上,以将投射到地形上后存在翘起的多边形片变平,使得台地基地的台地区域保持平整,得到如图3h所示的地形;
82.8)在得到各个台地模型片的高度数据之后,示例性地,可以通过heightfield_projec,将该高度数据赋予当前模型的y轴坐标,以赋值至预设地形地图映射得到的各个地形区域,此时直接投射后的地基地形如图3i所示,变得较为光滑,其已经丢失原有地面的细节;
83.9)为了将地形上的细节进行叠加,如图3j所示,此时可以对差点信息进行获取,示例性地,可以通过添加heightfield_layer模式使用difference,输入初始的预设地形地图(如图3a所示)和赋值各个台地模型片的高度数据后的预设地形地图(如图3i所示),基于对赋值后各个地形区域的地形数据和地图地形的原始地形数据进行对比,得到前述两个地形的差异信息;
84.10)如图3k所示,可以对差异数据进行去除细节的模糊处理,使得本来充满细节(例如坑坑洼洼)的地形在进行模糊后变得平滑;
85.11)在此之后,再将进行模糊处理后的差异数据叠加至原来的初始预设地形地图上,示例性地,可以通过heightfield_layer将模糊处理后的差异数据使用add模式叠加至原来的初始地形上,在依赖于台地模型片的高度数据的情况下实现对初始的预设地形地图的细节叠加,得到如图3l所示的能够在其上构建城池的台地地基模型。
86.在本发明的一些实施例中,可以将上述各个步骤封装为一个had,添加两个数据输入端口,用于分别作为范围片数据(如图3b所示)和原始地形数据(如图3a所示)的输入端口,并可以添加两个数据输出端口,用于分别作为台地模型片(如图3h所示)和台地地基(如图3l所示)的输出端口,使得能够将封装得到的had应用在任意图形接口平台上,基于图形接口平台对houdini所实现的台地地基生成算法结果进行验证,实现台地地基的程序化自动生成。
87.在本发明实施例中,通过以程序化自动生成台地地基模型的制作方案,代替基于人力的建模流程,以利用程序化、自动化进行随时迭代,节省人力和时间,特备是在生成大地图的台地地基时,基于程序化、自动化在制作过程中不受限于各个地形的地形差异,保证台地地基生成方案的通用性,提高台地地基的生成效率。此外,本发明实施例所提出的台地地基模型的自动化生成方案,可以基于在任何图形接口平台,通过输入原始地形数据和范围片数据,直接输出台地地基模型和台地模型片,由于不受平台限制,便于在各种主流引擎
中进行使用,在自动化生成适用于在各种地形上生成城池的台地地基的同时,还可以减少开发过程中的适配问题。
88.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
89.参照图4,示出了本发明的一种台地地基模型的自动化生成装置实施例的结构框图,具体可以包括如下模块:
90.数据获取模块401,用于获取范围片数据和原始地形数据;所述范围片数据用于指示台地地基的面片范围区域,所述原始地形数据用于指示预设地形地图和预设地形地图的原始高度;
91.地基数据生成模块402,用于根据所述原始地形数据和所述范围片数据,得到地基多边形数据;其中,所述地基多边形数据用于指示台地模型片的高度数据,所述台地模型片用于构成台地地基模型;
92.台地地基生成模块403,用于获取所述台地模型片的高度数据与所述原始地形数据的差异信息,根据所述差异信息和所述预设地形地图生成台地地基模型。
93.在本发明的一种实施例中,地基数据生成模块402可以包括如下子模块:
94.地基数据获取子模块,用于根据所述原始地形数据和所述范围片数据,获取所述预设地形地图中各个地形区域的平均高度;根据所述各个地形区域的平均高度和所述预设地形地图的原始高度,得到地基多边形数据。
95.在本发明的一种实施例中,所述台地地基的面片范围区域基于多边形片体现;地基数据获取子模块可以包括如下单元:
96.平均高度计算单元,用于将各个多边形小片映射至所述预设地形地图上,分别得到所述预设地形地图的多个地形区域;将映射到所述预设地形地图上的各个多边形小片按照预设大小的三角形模型进行划分,得到分别具有多个三角形模型的多个多边形小片;根据具有多个三角形模型的各个多边形小片确定各个多边形小片的平均位置,并基于所述平均位置得到各个地形区域的平均高度。
97.在本发明的一种实施例中,所述三角形模型基于多个顶点构建,所述三角形模型上的各个顶点携带所述顶点在预设地形地图上相应位置的原始地形高度的数据;平均高度计算单元可以包括如下子单元:
98.平均高度计算子单元,用于在各个多边形小片中,基于三角形模型上的各个顶点确定各个多边形小片中顶点的平均位置;在各个多边形小片中,将三角形模型上的各个顶点分别向该三角形模型所在多边形小片中顶点的平均位置进行收缩,得到各个多边形小片中收缩后重叠的顶点;获取所述收缩后重叠的顶点所携带的原始地形高度,将各个多边形小片中收缩后重叠的顶点所携带的原始地形高度,作为各个地形区域的平均高度。
99.在本发明的一种实施例中,地基数据获取子模块可以包括如下单元:
100.地基多边形数据生成单元,用于获取所述各个地形区域的平均高度和所述预设地形地图的原始地形高度中数值较大的目标高度数据;基于各个地形区域的目标高度数据,
得到用于生成台地地基模型的各个台地模型片的高度数据。
101.在本发明的一种实施例中,地基多边形数据生成单元可以包括如下子单元:
102.地基多边形数据生成子单元,用于获取各个多边形小片中各个三角形模型上的各个顶点所携带的原始地形高度;将所述目标高度数据和各个多边形小片中各个顶点所携带的原始地形高度进行预设比重的线性插值计算,得到各个台地模型片的高度数据。
103.在本发明的一种实施例中,台地地基生成模块403可以包括如下子模块:
104.台地地基模型生成子模块,用于将各个台地模型片的高度数据赋值至所述预设地形地图映射得到的各个地形区域,得到赋值后各个地形区域的地形数据;将所述赋值后各个地形区域的地形数据和所述地图地形的原始地形数据进行对比,得到用于指示地形高度场的高度差的差异信息;将所述用于指示地形高度场的高度差的差异信息叠加至所述预设地形地图上,得到台地地基模型。
105.在本发明的一种实施例中,本发明实施例提供的装置还可以包括如下模块:
106.台地模型片生成模块,用于将所述台地模型片的高度数据映射至所述预设地形地图,得到多个台地模型片;所述台地模型片用于作为所述台地地基的台地区域被获取或者作为所述台地地基的投射材质被使用。
107.在本发明实施例中,本发明实施例提供的台地地基模型的自动化生成装置,通过获取用于指示台地地基的面片范围区域的范围片数据,以及用于指示预设地形地图的原始高度的地形数据,对用于构成台地地基模型的台地模型片的高度数据进行计算,以便基于台地模型片的高度数据和地形数据的差异信息,生成台地地基模型。通过对所输入的任意范围片数据以及任意预设地形地图的地形数据进行处理得到台地地基模型,基于程序化、自动化在制作过程中不受限于各个地形的地形差异,保证台地地基生成方案的通用性,特别是在进行大地图的台地地基制作的场景下,提高台地地基的生成效率。
108.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
109.本发明实施例还提供了一种电子设备,包括:
110.包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述台地地基模型的自动化生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
111.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述台地地基模型的自动化生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
112.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
113.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
114.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序
产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
115.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
116.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
117.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
118.最后,需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
119.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
120.以上对本发明所提供的一种台地地基模型的自动化生成方法、一种台地地基模型的自动化生成装置、相应的一种电子设备以及相应的一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种台地地基模型的自动化生成方法,其特征在于,所述方法包括:获取范围片数据和原始地形数据;所述范围片数据用于指示台地地基的面片范围区域,所述原始地形数据用于指示预设地形地图和预设地形地图的原始高度;根据所述原始地形数据和所述范围片数据,得到地基多边形数据;其中,所述地基多边形数据用于指示台地模型片的高度数据,所述台地模型片用于构成台地地基模型;获取所述台地模型片的高度数据与所述原始地形数据的差异信息,根据所述差异信息和所述预设地形地图生成台地地基模型。2.根据权利要求1所述的方法,其特征在于,所述根据所述原始地形数据和所述范围片数据,得到地基多边形数据,包括:根据所述原始地形数据和所述范围片数据,获取所述预设地形地图中各个地形区域的平均高度;根据所述各个地形区域的平均高度和所述预设地形地图的原始高度,得到地基多边形数据。3.根据权利要求2所述的方法,其特征在于,所述台地地基的面片范围区域基于多边形片体现;所述根据所述原始地形数据和所述范围片数据,获取所述预设地形地图中各个地形区域的平均高度,包括:对所述多边形片进行划分,得到多个多边形小片;将各个多边形小片映射至所述预设地形地图上,分别得到所述预设地形地图的多个地形区域;将映射到所述预设地形地图上的各个多边形小片按照预设大小的三角形模型进行划分,得到分别具有多个三角形模型的多个多边形小片;根据具有多个三角形模型的各个多边形小片确定各个多边形小片的平均位置,并基于所述平均位置得到各个地形区域的平均高度。4.根据权利要求3所述的方法,其特征在于,所述三角形模型基于多个顶点构建,所述三角形模型上的各个顶点携带所述顶点在预设地形地图上相应位置的原始地形高度的数据;所述根据具有多个三角形模型的各个多边形小片确定各个多边形小片的平均位置,并基于所述平均位置得到各个地形区域的平均高度,包括:在各个多边形小片中,基于三角形模型上的各个顶点确定各个多边形小片中顶点的平均位置;在各个多边形小片中,将三角形模型上的各个顶点分别向该三角形模型所在多边形小片中顶点的平均位置进行收缩,得到各个多边形小片中收缩后重叠的顶点;获取所述收缩后重叠的顶点所携带的原始地形高度,将各个多边形小片中收缩后重叠的顶点所携带的原始地形高度,作为各个地形区域的平均高度。5.根据权利要求2所述的方法,其特征在于,所述根据所述各个地形区域的平均高度和所述预设地形地图的原始高度,得到地基多边形数据,包括:获取所述各个地形区域的平均高度和所述预设地形地图的原始地形高度中数值较大的目标高度数据;基于各个地形区域的目标高度数据,得到用于生成台地地基模型的各个台地模型片的
高度数据。6.根据权利要求5所述的方法,其特征在于,所述基于各个地形区域的目标高度数据,得到用于生成台地地基模型的各个台地模型片的高度数据,包括:获取各个多边形小片中各个三角形模型上的各个顶点所携带的原始地形高度;将所述目标高度数据和各个多边形小片中各个顶点所携带的原始地形高度进行预设比重的线性插值计算,得到各个台地模型片的高度数据。7.根据权利要求1所述的方法,其特征在于,所述获取所述台地模型片的高度数据与所述原始地形数据的差异信息,根据所述差异信息和所述预设地形地图生成台地地基模型,包括:将各个台地模型片的高度数据赋值至所述预设地形地图映射得到的各个地形区域,得到赋值后各个地形区域的地形数据;将所述赋值后各个地形区域的地形数据和所述地图地形的原始地形数据进行对比,得到用于指示地形高度场的高度差的差异信息;将所述用于指示地形高度场的高度差的差异信息叠加至所述预设地形地图上,得到台地地基模型。8.根据权利要求1或2或5或6所述的方法,其特征在于,所述方法还包括:将所述台地模型片的高度数据映射至所述预设地形地图,得到多个台地模型片;所述台地模型片用于作为所述台地地基的台地区域被获取或者作为所述台地地基的投射材质被使用。9.一种台地地基模型的自动化生成装置,其特征在于,所述装置包括:数据获取模块,用于获取范围片数据和原始地形数据;所述范围片数据用于指示台地地基的面片范围区域,所述原始地形数据用于指示预设地形地图和预设地形地图的原始高度;地基数据生成模块,用于根据所述原始地形数据和所述范围片数据,得到地基多边形数据;其中,所述地基多边形数据用于指示台地模型片的高度数据,所述台地模型片用于构成台地地基模型;台地地基生成模块,用于获取所述台地模型片的高度数据与所述原始地形数据的差异信息,根据所述差异信息和所述预设地形地图生成台地地基模型。10.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述台地地基模型的自动化生成方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述台地地基模型的自动化生成方法。

技术总结
本发明实施例提供了台地地基模型的自动化生成方法、装置、设备及存储介质,所述方法包括:获取范围片数据和原始地形数据;范围片数据用于指示台地地基的面片范围区域,原始地形数据用于指示预设地形地图的原始高度;根据原始地形数据和范围片数据,得到地基多边形数据;其中,地基多边形数据用于指示台地模型片的高度数据,台地模型片用于构成台地地基模型;获取台地模型片的高度数据与原始地形数据的差异信息,根据差异信息和预设地形地图生成台地地基模型。基于程序化、自动化在制作过程中不受限于各个地形的地形差异,保证台地地基生成方案的通用性,特别是在进行大地图的台地地基制作的场景下,提高台地地基的生成效率。提高台地地基的生成效率。提高台地地基的生成效率。


技术研发人员:沈忠勇
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2023.06.21
技术公布日:2023/9/13
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐