一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

地形构建方法及设备与流程

2022-06-29 16:54:56 来源:中国专利 TAG:


1.本技术实施例涉及图像处理技术领域,尤其涉及一种地形构建方法及设备。


背景技术:

2.地形作为游戏表现的一种形式,被广泛地应用于现有的游戏场景中,如游戏中的山地、平原、街道等。
3.在现有的地形制作方法中,通常是在虚幻引擎4(unreal engine 4,简称ue4)中直接通过笔刷工具进行制作,或者在第三方软件制作好高度图后导入ue4并通过landscape来得到相应的地形模型,另外也可以基于制作好的高度图利用普通静态模型置换得到相应的地形模型。
4.其中,基于高度图利用普通静态模型置换得到的地形模型,主要是通过着色器对静态模型顶点位置进行了处理,并不是创建真正的实体地形模型,所以通过置换得到的新地形模型其物理属性如碰撞形体等仍旧是基于原始静态模型产生的,并没有真正改变原始的物理属性,难以生成正确的物理碰撞形体。


技术实现要素:

5.本技术实施例提供一种地形构建方法及设备,可以解决现有技术中基于高度图利用普通静态模型置换得到的地形模型难以生成正确的物理碰撞形体的技术问题。
6.第一方面,本技术实施例提供一种地形构建方法,该方法包括:
7.获取待构建地形的高度图;
8.读取所述高度图的灰度位图信息,根据所述灰度位图信息确定所述待构建地形的顶点信息;
9.根据所述顶点信息,生成所述待构建地形对应的地形模型。
10.在一种可能的设计方式中,所述根据所述顶点信息,生成所述待构建地形对应的地形模型,包括:
11.根据所述顶点信息,生成所述待构建地形的模型参数,所述待构建地形的模型参数包括地形法线、地形切线、uv坐标、三角面;
12.根据所述待构建地形的模型参数,生成所述待构建地形对应的地形模型。
13.在一种可能的设计方式中,所述根据所述待构建地形的模型参数,生成所述待构建地形对应的地形模型,包括:
14.调用虚幻引擎中的程序建模组件,基于所述待构建地形的模型参数,生成所述待构建地形对应的地形模型。
15.在一种可能的设计方式中,所述根据所述顶点信息,生成所述待构建地形对应的地形模型之后,还包括:
16.确定所述地形模型的模型边框的尺寸;
17.计算所述模型边框的尺寸与所述灰度位图信息中的像素尺寸的比例值;
18.根据计算出的所述比例值调节所述地形模型的尺寸比例。
19.在一种可能的设计方式中,所述根据所述顶点信息,生成所述待构建地形对应的地形模型之后,还包括:
20.采用预置的双通道优化方式或单通道优化方式,对所述地形模型进行优化;其中,所述双通道优化方式依次沿所述地形模型的y轴与x轴对所述地形模型进行优化,所述单通道优化方式沿所述地形模型的y轴或x轴对所述地形模型进行优化。
21.第而方面,本技术实施例提供一种地形构建装置,该装置包括:
22.获取模块,用于获取待构建地形的高度图;
23.处理模块,用于读取所述高度图的灰度位图信息,根据所述灰度位图信息确定所述待构建地形的顶点信息;
24.建模模块,用于根据所述顶点信息,生成所述待构建地形对应的地形模型。
25.在一种可能的设计方式中,所述建模模块用于:
26.根据所述顶点信息,生成所述待构建地形的模型参数,所述待构建地形的模型参数包括地形法线、地形切线、uv坐标、三角面;
27.根据所述待构建地形的模型参数,生成所述待构建地形对应的地形模型。
28.在一种可能的设计方式中,所述建模模块用于:
29.调用虚幻引擎中的程序建模组件,基于所述待构建地形的模型参数,生成所述待构建地形对应的地形模型。
30.在一种可能的设计方式中,还包括:
31.调节模块,用于在生成所述待构建地形对应的地形模型之后,根据所述地形模型的模型边框调节所述地形模型的尺寸比例。
32.在一种可能的设计方式中,还包括:
33.优化模块,用于在生成所述待构建地形对应的地形模型之后,采用预置的优化方式,对所述地形模型进行优化。
34.第三方面,本技术实施例提供一种电子设备,包括:至少一个处理器和存储器;
35.所述存储器存储计算机执行指令;
36.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面提供的地形构建方法。
37.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面提供的地形构建方法。
38.第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如第一方面提供的地形构建方法。
39.本技术实施例所提供的地形构建方法及设备,方法包括:获取待构建地形的高度图,读取该高度图的灰度位图信息,并根据该灰度位图信息确定待构建地形的顶点信息;根据该顶点信息,生成待构建地形对应的地形模型。即本技术实施例中,通过读取高度图的灰度位图信息,并根据该灰度位图信息确定的顶点信息,可以生成待构建地形对应的地形模型,由于生成的地形模型为实体地形模型,因此基于生成的地形模型能够创建出与之相匹配的正确的物理碰撞形体。
附图说明
40.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对本技术实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
41.图1为本技术实施例中提供的一种地形构建方法的流程示意图;
42.图2为本技术实施例中提供的一种高度图;
43.图3为本技术实施例中提供的一种地形示意图;
44.图4为本技术实施例中提供的一种地形模型示意图;
45.图5为本技术实施例中提供的一种地形构建装置的程序模块示意图;
46.图6为本技术实施例中提供的一种电子设备的硬件结构示意图。
具体实施方式
47.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.本技术领域技术人员可以理解,除非另外定义,本技术实施例中使用的所有术语(包括技术术语和科学术语)具有与本技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
49.在大多数游戏中,地形扮演着很重要的角色,例如沙盒游戏、战略游戏以及为数众多的角色扮演游戏,都会精心制作属于这个游戏的地图,然后再以此地形图为基础,加上动物、植物、怪物、建筑和角色来布置游戏场景,所以地形制作工具几乎可以是现代游戏引擎不可缺少的组件。
50.目前,虚幻引擎4(unreal engine 4,简称ue4)作为一种出色和流行的3d游戏引擎与开发工具,它支持从2d的移动平台游戏到电脑到游戏主机平台的3d游戏的开发。ue4提供了windows与mac平台的开发工具下载,其制作的作品可以在windows、mac、linux以及ps4、x-box one、ios、android甚至是html5等平台上运行。
51.在现有的场景地形制作方法中,通常是在ue4里面直接通过笔刷工具在landscape直接进行地形构造,或者从第三方软件制作好高度图后导入ue4,通过landscape得到相应的地形,其次也可以通过高度图利用普通静态模型通过置换得到相应的地形。
52.然而,利用普通静态模型置换得到的地形模型,主要是通过着色器对模型顶点位置进行了处理,并不是创建真正的实体地形模型,所以通过置换得到的新模型其物理属性如碰撞形体等仍旧是基于原始模型产生的,并没有真正改变原始的物理属性,难以生成正确的物理碰撞形体。如角色行走在置换模型上时仍然识别原始模型的碰撞形态、在置换模型上进行植被散布时植被还是基于原始模型的碰撞形态生成,存在穿插现象。
53.为了解决上述技术问题,本技术实施例提供了一种地形构建方法,通过读取高度
图的灰度位图信息,并根据该灰度位图信息确定的顶点信息,可以生成待构建地形对应的实体地形模型,基于生成的实体地形模型便能够创建出与之相匹配的正确的物理碰撞形体。下面采用详细的实施例进行详细说明。
54.参照图1,图1为本技术实施例中提供的一种地形构建方法的流程示意图。上述地形构建方法包括:
55.s101、获取待构建地形的高度图。
56.在一种可行的实施方式中,在构建地形时,先获取待构建地形的高度图,其中,待构建地形的高度图可以是通过各类地图服务获取的,也可以是使用各种图形软件预先绘制的,还可以是使用noise纹理来制作的。
57.其中,高度图可以理解为是一组连续的数组,这个数组中的元素与地形网格中的顶点一一对应,且每一个元素都指定了地形网格的某个顶点的高度值。
58.其中,高度图通常使用灰度图来实现,灰度图中亮度越大对应的地形高度越高。
59.为了更好的理解本技术实施例,示例性的,参照图2,图2为本技术实施例中提供的一种高度图。
60.在游戏环境中,利用高度图可以模拟出现实生活中的丘陵、山谷、平地、悬崖等地形。
61.s102、读取上述高度图的灰度位图信息,根据该灰度位图信息确定待构建地形的顶点信息。
62.本技术实施例中,在获取到待构建地形的高度图之后,读取该高度图的灰度位图信息,并根据读取到的灰度位图信息确定待构建地形的顶点信息。
63.在一种可行的实施方式中,用户可以先明确在ue4中生成地形模型需要用到方法和类,如组件“uproceduralmeshcomponent”等。另外,从ue4官方文档api里,预先查到生成模型需要的函数及相关参数。例如:
64.需要创建或替换的部分的索引;用于网格部分的所有顶点位置的顶点缓冲区;指示哪些顶点组成每个三角形的索引缓冲区,长度必须是3的倍数;每个顶点的法线向量的可选数组,如果提供,则长度必须与vertices数组相同;每个顶点的纹理坐标的可选数组,如果提供,则长度必须与vertices数组相同;每个顶点的可选颜色数组,如果提供,则长度必须与vertices数组相同;每个顶点的切线向量的可选数组,如果提供,则长度必须与vertices数组相同;指示是否应为此部分创建碰撞。
65.示例性,ue4可以新建一个名为heighland的actor。在新建的actor中添加程序建模组件“procedurecomponent”。在头文件中再建一个继承“procedurecomponent”类的变量,这样就可以使用“procedurecomponent”组件的相关方法和属性。
66.s103、根据上述顶点信息,生成待构建地形对应的地形模型。
67.本技术实施例中,在确定待构建地形的顶点信息之后,根据待构建地形的顶点信息生成地形法线、地形切线、uv坐标、三角面等生成地形模型需要的模型参数,然后根据生成的模型参数即可生成待构建地形对应的地形模型。
68.其中,在生成待构建地形对应的地形模型之后,即可基于生成的地形模型创建出与之相匹配的物理碰撞形体,以及在置换后的地形模型上进行相关物理计算。
69.为了更好的理解本技术实施例,示例性的,参照图3与图4,图3为本技术实施例中
提供的一种地形示意图;图4为本技术实施例中提供的一种地形模型示意图。
70.本技术实施例所提供的地形构建方法,通过读取高度图的灰度位图信息,并根据该灰度位图信息确定的顶点信息,可以生成待构建地形对应的实体地形模型,因此基于生成的实体地形模型可以创建出与之相匹配的正确的物理碰撞形体。
71.基于上述实施例中所描述的内容,在本技术一种可行的实施方式中,在生成待构建地形的模型参数之后,可以调用ue4中的程序建模组件“procedurecomponent”,然后基于待构建地形的模型参数,生成待构建地形对应的地形模型。
72.在本技术一种可行的实施方式中,在生成地形模型之后,还包括:
73.设置生成的网格尺寸,根据生成的地形模型的模型边框调节地形模型的尺寸比例。
74.具体的,先读取生成的地形模型的模型边框的尺寸大小,如长、宽、高等;然后计算上述模型边框的尺寸与上述灰度位图信息中的像素尺寸的比例值,根据计算出的比例值以及setworldscale3d函数来调节上述地形模型的尺寸比例。
75.在本技术另一种可行的实施方式中,在生成地形模型之后,还包括:
76.采用预置的优化方式,对上述地形模型进行优化。
77.其中,上述优化方式包括frontandback优化方式与axesalternately优化方式,其中,axesalternately优化方式采用两个通道,先沿y轴进行优化,再沿x轴进行优化;frontandback优化方式采用单个通道,沿x轴或y轴进行优化,如前面沿y轴进行优化,则后面沿x轴进行优化。
78.其中,对于一张地形的平面图,其竖轴为z轴,横轴为x轴,纵轴为y轴。
79.另外,本技术实施例中,还可以同时对采样频率进行优化,例如将采样频率降低2倍或4倍。
80.本技术实施例所提供的地形构建方法,解决了现有的ue4中,利用高度图在材质中进行置换操作生成的地形模型不是真正的实体模型,而导致物理碰撞形体不正确的技术问题。利用本技术实施例所提供的地形构建方法,可以极大的提高以ue4为生产工具的地型制作人员的地形制作效率,同时由于生成的地型模型是静态模型,因此可以通过实例化制作出更丰富的地型效果,优化整体项目性能。另外,通过高度图置换生成真正的实体地形模型,方便了整体场景的物理模拟,如在生成的地表上进行角色ai模拟,粒子与地面的交互碰撞模拟等。
81.基于上述实施例中所描述的内容,本技术实施例中还提供一种地形构建装置,参照图5,图5为本技术实施例中提供的一种地形构建装置的程序模块示意图,该地形构建装置50包括:
82.获取模块501,用于获取待构建地形的高度图。
83.处理模块502,用于读取上述高度图的灰度位图信息,根据该灰度位图信息确定待构建地形的顶点信息。
84.建模模块503,用于根据上述顶点信息,生成待构建地形对应的地形模型。
85.本技术实施例所提供的地形构建装置50,通过读取高度图的灰度位图信息,并根据该灰度位图信息确定的顶点信息,可以生成待构建地形对应的实体地形模型,因此基于生成的地形模型可以创建出与之相匹配的正确的物理碰撞形体。
86.在一种可行的实施方式中,建模模块503用于:
87.根据上述顶点信息,生成待构建地形的模型参数,其中,待构建地形的模型参数包括地形法线、地形切线、uv坐标、三角面;根据待构建地形的模型参数,生成待构建地形对应的地形模型。
88.在一种可行的实施方式中,建模模块503用于:
89.调用虚幻引擎中的程序建模组件,基于待构建地形的模型参数,生成待构建地形对应的地形模型。
90.在一种可行的实施方式中,上述地形构建装置50还包括:
91.调节模块,用于在生成待构建地形对应的地形模型之后,确定该地形模型的模型边框尺寸,计算该模型边框的尺寸与上述灰度位图信息中的像素尺寸的比例值;根据计算出的所述比例值调节该地形模型的尺寸比例。
92.在一种可行的实施方式中,上述地形构建装置50还包括:
93.优化模块,用于在生成待构建地形对应的地形模型之后,采用预置的双通道优化方式或单通道优化方式,对上述地形模型进行优化;其中,双通道优化方式依次沿地形模型的y轴与x轴对地形模型进行优化,单通道优化方式沿地形模型的y轴或x轴对地形模型进行优化。
94.本技术实施例所提供的地形构建装置50,解决了现有的ue4中,利用高度图在材质中进行置换操作生成的地形模型不是真正的实体模型,而导致物理碰撞形体不正确的技术问题。利用本技术实施例所提供的地形构建装置,可以极大的提高以ue4为生产工具的地型制作人员的地形制作效率,同时由于生成的地型模型是静态模型,因此可以通过实例化制作出更丰富的地型效果,优化整体项目性能。另外,通过高度图置换生成真正的实体地形模型,方便了整体场景的物理模拟,如在生成的地表上进行角色ai模拟,粒子与地面的交互碰撞模拟等。
95.需要说明的是,本技术实施例中的获取模块501、处理模块502、建模模块503具体执行的内容可以参阅上述实施例中描述的地形构建方法中的各个步骤,此处不做赘述。
96.进一步的,基于上述实施例中所描述的内容,本技术实施例中还提供了一种电子设备,该电子设备包括至少一个处理器和存储器;其中,存储器存储计算机执行指令;上述至少一个处理器执行存储器存储的计算机执行指令,以实现如上述实施例中描述的地形构建方法中的各个步骤,此处不做赘述。
97.为了更好的理解本技术实施例,参照图6,图6为本技术实施例提供的一种电子设备的硬件结构示意图。
98.如图6所示,本实施例的电子设备60包括:处理器601以及存储器602;其中:
99.存储器602,用于存储计算机执行指令;
100.处理器601,用于执行存储器存储的计算机执行指令,以实现上述实施例中描述的地形构建方法中的各个步骤,此处不做赘述。
101.可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。
102.当存储器602独立设置时,该设备还包括总线603,用于连接所述存储器602和处理器601。
103.进一步的,基于上述实施例中所描述的内容,本技术实施例中还提供了一种计算
机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,以实现如上述实施例中描述的地形构建方法中的各个步骤,此处不做赘述。
104.进一步的,基于上述实施例中所描述的内容,本技术实施例中还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现如上述实施例中描述的地形构建方法中的各个步骤,此处不做赘述。
105.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
106.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
107.另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
108.上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例所述方法的部分步骤。
109.应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
110.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
111.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
112.上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
113.一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
114.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
115.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献