掌桥专利:专业的专利平台
掌桥专利
首页

虚拟场景地形的高度图的生成方法、装置和存储介质

文献发布时间:2023-06-19 09:35:27


虚拟场景地形的高度图的生成方法、装置和存储介质

技术领域

本发明涉及计算机领域,具体而言,涉及一种虚拟场景地形的高度图的生成方法、装置和存储介质。

背景技术

目前,在生成虚拟场景地形的高度图时,通常是从相关软件中生成一张高分辨率的虚拟场景地形的灰度图像,然后在引擎中对其还原来得到高度图。

上述高度图通常会和对应的颜色贴图、法线贴图的像素精度一致。如果颜色贴图和法线贴图的像素精度都很高,但是与其具有相同像素精度的高度图对应地形的网格数不能匹配上像素精度,而简单地在图像处理软件(Photoshop)中缩小高度图,则会导致生成的地形的精度和原地形的效果匹配不上,从而存在虚拟场景地形的高度图的生成精度低的技术问题。

针对现有技术中虚拟场景地形的高度图的生成精度低的技术问题,目前尚未提出有效的解决方案。

发明内容

本发明的主要目的在于提供一种虚拟场景地形的高度图的生成方法、装置和存储介质,以至少解决生成的地形的精度低的技术问题。

为了实现上述目的,根据本发明的一个方面,提供了一种虚拟场景地形的高度图的生成方法。该方法用于生成控制虚拟场景地形各地形网格高度的低分辨率高度图,其特征在于:获得地形网格的高分辨率高度图;根据地形网格构建一面片,面片包括与地形网格对应的多个面片网格;基于高分辨率高度图设置面片中各面片网格的高度信息,以获得一地形模拟模型;通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息;基于目标高度信息生成低分辨率高度图。

可选地,通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息,还包括:通过采样地形模拟模型中各面片网格的顶点的高度信息,以获得表征各面片网格的目标高度信息,目标高度信息为地形模拟模型中各面片网格的顶点的高度信息。

可选地,该方法还包括:将地形模拟模型中各面片网格的顶点对应为低分辨率高度图的像素点,则目标高度信息对应为低分辨率高度图的像素点所对应的高度信息;基于目标高度信息生成低分辨率高度图。

可选地,该方法还包括:将面片网格分别在面片长边方向上或宽边方向上的顶点的数量设置为M或N,其中M、N为自然数;则低分辨率高度图尺寸为M*N。

可选地,通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息,还包括:通过采样地形模拟模型中各面片网格的顶点的高度信息,以获得各面片网格的目标高度信息,目标高度信息为地形模拟模型中各面片网格的顶点的高度信息的均值。

可选地,该方法还包括:将地形模拟模型中各面片网格的中心点对应为低分辨率高度图的像素点,则目标高度信息对应为低分辨率高度图的像素点所对应的高度信息;其中,中心点包括地形模拟模型中各面片网格的几何中心;基于目标高度信息生成低分辨率高度图。

可选地,将面片网格分别在面片长边方向上或宽边方向上的顶点的数量设置为M或N,其中M、N为自然数;则低分辨率高度图尺寸为(M-1)*(N-1)。

为了实现上述目的,根据本发明的另一方面,提供了一种虚拟场景地形的高度图的生成装置。该装置用于生成控制虚拟场景地形各地形网格高度的低分辨率高度图,可以包括:获取模块,用于获得地形网格的高分辨率高度图;建模模块,用于根据地形网格构建一面片,面片包括与地形网格对应的多个面片网格;基于高分辨率高度图设置面片中各面片网格的高度信息,以获得一地形模拟模型;采样模块,用于通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息;生成模块,用于基于目标高度信息生成低分辨率高度图。

为了实现上述目的,根据本发明的另一方面,提供了一种计算机可读存储介质。该计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,在计算机程序被处理器运行时控制计算机可读存储介质所在设备执行本发明实施例的虚拟场景地形的高度图的生成方法。

为了实现上述目的,根据本发明的另一方面,提供了一种电子装置。该电子装置包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行本发明实施例的虚拟场景地形的高度图的生成方法。

本申请的虚拟场景地形的高度图的生成方法用于生成控制虚拟场景地形各地形网格高度的低分辨率高度图,获得地形网格的高分辨率高度图;根据地形网格构建一面片,面片包括与地形网格对应的多个面片网格;基于高分辨率高度图设置面片中各面片网格的高度信息,以获得一地形模拟模型;通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息;基于目标高度信息生成低分辨率高度图。也就是说,本申请在基于高分辨率高度图得到的地形模拟模型中,确定表征各面片网格的目标高度信息,并基于该目标高度图信息生成低分辨率高度图,达到了将地形网格的高分辨率高度图转化为低分辨率高度图的目的,在低分辨率高度图中保留高分辨率高度图中的主要数据,避免简单地在Photoshop中直接压缩高度图,导致生成的地形的精度和原地形的效果匹配不上,从而解决了虚拟场景地形的高度图的生成精度低的技术问题,进而达到了提高虚拟场景地形的高度图的生成精度的技术效果。由于低分辨率高度图采用的数据比高分辨率高度图采用的数据少,进而达到了提高虚拟场景地形的高度图的生成效率的技术效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种虚拟场景地形的高度图的生成方法的移动终端的硬件结构框图;

图2是根据本发明实施例的一种虚拟场景地形的高度图的生成方法的流程图;

图3是根据本发明实施例的另一种虚拟场景地形的高度图的生成方法的流程图;

图4是根据本发明实施例的一种高分辨率高度图的示意图;

图5是根据本发明实施例的一种在max中新建面片的示意图;

图6是根据本发明实施例的一种加载高分辨率高度图的示意图;

图7是根据本发明实施例的一种导出地形模拟模型的示意图;

图8是根据本发明实施例的一种在Zbrush软件中导入地形模拟模型的示意图;

图9是根据本发明实施例的一种以顶视图显示的地形模拟模型的示意图;

图10所示的非顶视图显示的地形模拟模型D为不正确的显示效果;

图11是根据本发明实施例的一种低分辨率高度图的示意图;

图12是根据本发明实施例的一种在Alpha快捷方式处查找到低分辨率高度图的示意图;

图13是根据本发明实施例的一种导出低分辨率高度图的示意图;

图14是根据本发明实施例的一种设置低分辨率高度图的分辨率的示意图;

图15是根据本发明实施例的一种将地形模拟模型与低分辨率高度图进行对比的示意图;

图16是根据本发明实施例的一种将地形模拟模型与低分辨率高度图进行对比的示意图;

图17是根据本发明实施例的一种移动地形模拟模型的X轴和Y轴的示意图;

图18是根据本发明实施例的一种高分辨率高度图和低分辨率高度图的示意图;

图19是根据本发明实施例的一种通过直接压缩图片得到的高度图对应的地形、地形模拟模型对应的地形和低分辨率高度图对应的地形的示意图;以及

图20是根据本发明实施例的一种虚拟场景地形的高度图的生成装置的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种虚拟场景地形的高度图的生成方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种数据处理的方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于上述移动终端的一种虚拟场景地形的高度图的生成方法,该方法用于生成控制虚拟场景地形各地形网格高度的低分辨率高度图。图2是根据本发明实施例的一种虚拟场景地形的高度图的生成方法的流程图。如图2所示,该方法可以包括如下步骤:

步骤S202,获得地形网格的高分辨率高度图。

在本发明上述步骤S202提供的技术方案中,地形网格为用于实现虚拟场景中具体地形的网格,比如,具体地形可以为虚拟场景中的山体、丘陵、洼地、山谷、悬崖、沙漠、道路等,此处不做具体限制。该实施例可以获取上述地形网格的高分辨率高度图,其中,高度图可以为一个二维数组,用于模拟现实生活中的地形,创建地形可以为创建对应着不同高度值的网格,这样上述二维数组中每个元素的索引值可以用于定位不同的网格(x,y),而所存储的值可以为网格的高度值(z)。正是由于上述映射关系,在生成地形时,可以使用高度图作为输入数据。同时,为了减小上述二维数组的尺寸,可以使用字节(Byte)来保存高度值,每个元素可以分配一个字节的存储空间,因而地形中最低点的高度值可以使用0(黑色)进行表示,而最高点的高度值可以使用255(白色)进行表示,从而使得高度值能在0~255之间取值。由于对于位图中的每个像素来说,同样是使用0~255之间的值来表示一个灰度值。这样,可以将不同的灰度值映射为高度值,并且用像素索引表示不同网格。该实施例将上述高分辨率高度图作为输入的待处理的图像素材。可选地,该实施例的高分辨率高度图可以为一张8位灰度图,在该灰度图中,地形中的某点高度越高,则该点在灰度图中的亮度就越大,地形中的某点高度越低,则该点在灰度图中的亮度就越小。

需要说明的是,本发明所述的“高分辨率高度图”中的“高分辨率”仅仅是相对于本发明方法产出的高度图的分辨率而言,而“低分辨率高度图”中的“低分辨率”也仅仅是相对于原始的高分辨率高度图的而言,即:“高”、“低”的含义仅限于表述“高分辨率高度图”的分辨率高于本发明方法产出的“低分辨率高度图”,“高”和“低”并不用于具体限定“高分辨率”和“低分辨率”的像素参数。例如:高分辨率高度的分辨率可以是“2048像素×2048像素”,也可以是“600像素×900像素”,甚至是“200像素×200像素”等,但无论分辨率具体值为多少,其分辨率必然高于用本发明的方法处理该高分辨率高度图后所得到的低分辨率高度图;反之,低分辨率高度图的分辨率可以是“30像素×30像素”,也可以是“600像素×900像素”,甚至是“1080像素×1080像素”,但无论分辨率具体值为多少,其分辨率必然低于用本发明的方法处理前的高分辨率高度图。

步骤S204,根据地形网格构建一面片,面片包括与地形网格对应的多个面片网格。

在本发明上述步骤S204提供的技术方案中,在获得地形网格的高分辨率高度图之后,根据地形网格构建一面片,面片包括与地形网格对应的多个面片网格。

在该实施例中,可以在绘图软件(max,比如,为3dsmax)软件中,根据地形网格新建一面片(plane),该面片可以进一步包括多个面片网格。

可选地,该实施例的地形网格与面片中的多个面片网格之间具有一对多的对应关系,也即,可以根据地形网格确定多个面片网格。同理,该实施例的地形网格与面片网格之间的对应关系除了上述一对多的关系之外,还可以是一对一关系或多对一关系。具体是采用一对一、一对多还是多对一的关系可以根据具体应用场景的不同来确定。为便于后面的步骤中对地形网格进行高度控制,优选采用一对一的关系,即:面片网格的数量与地形网格的数量相同,每个面片网格对应一个地形网格。

在更优选的实施例中,面片的形状与地形网格的形状相同或相似,例如,有些游戏地图的地形网格为正方形,则面片优选也采用正方形的面片;同理,如果地形网格为圆形、长方形或不规则异形,则面片优选采用圆形、长方形或不规则异形。进一步地,每个面片网格的形状均与其对应的地形网格的形状相同,例如,在常见的策略类游戏中,游戏地形往往由大小相同的若干个地形网格拼接而成,此时,构建的面片也优选包含与地形网格大小相同、形状相同、拼接关系相同的面片网格,从而便于一一对应的控制地形网格的高度。

步骤S206,基于高分辨率高度图设置面片中各面片网格的高度信息,以获得一地形模拟模型。

在本发明上述步骤S206提供的技术方案中,在根据地形网格构建一面片之后,可以基于高分辨率高度图设置面片中各面片网格的高度信息,以获得一地形模拟模型。

在该实施例中,面片中各面片网格具有高度信息,该高度信息可以用于表示面片中各面片网格中的点的高度值,可选地,该高度信息可以包括各面片网格的顶点的高度值,也可以包括中心点的高度值,也可以包括其它任意一点的高度值,也可以包括面片网格中所有点的高度值。该实施例可以通过上述各面片网格的高度来获得一地形模拟模型。可选地,该实施例的上述各面片网格的高度是可以基于高分辨率高度图来设置,可以加载高分辨率高度图,然后基于高分辨率高度图来设置各面片网格的顶点的高度,也可以基于高分辨率高度图来设置各面片网格的中心点的高度,也可以基于高分辨率高度图来设置各面片网格的其它任意一点的高度,甚至是基于高分辨率高度图设置面片网格中所有点的高度,以获得地形模拟模型,从而实现了将高分辨率高度图转化为地形模拟模型的目的。

可选地,该实施例可以在绘图软件(3dsmax)中新建置换节点,比如,该置换节点为plane001,置换参数中的强度可以设置为300.0m,然后在置换节点对应的图像处加载上述高分辨率高度图,进而基于高分辨率高度图设置面片中各面片网格的高度信息,以获得地形模拟模型。

可选地,该实施例的地形模拟模型为山体模拟模型。其中,地形模拟模型也可以称为雕刻好的地形(雕刻地形)。

可选地,该实施例获得地形模拟模型之后,可以从max软件中导出地形模拟模型的文件,其格式可以为“.Obj”格式。

步骤S208,通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息。

在本发明上述步骤S208提供的技术方案中,在基于高分辨率高度图设置面片中各面片网格的高度信息,以获得一地形模拟模型之后,可以通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息。

在该实施例中,地形模拟模型中各面片网格中包括多点的高度信息,可以从各面片网格中多点的高度信息中,采样相应点的高度信息,以得到地形模拟模型中表征各面片网格的目标高度信息,该采样得到的地形模拟模型中各面片网格的高度信息用于获取表征各面片网格的目标高度信息,进而基于该目标高度信息生成低分辨率高度图。

可选地,该实施例将从max软件中导出的地形模拟模型的文件导入至Zbrush软件中,在Zbrush软件的显示界面中对地形模拟模型进行正确显示,比如,将地形模拟模型以顶视图的形式进行显示,可选地,该实施例通过“shift”键使得地形模拟模型以上述顶视图的形式进行显示,进而通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息。

步骤S210,基于目标高度信息生成低分辨率高度图。

在本发明上述步骤S210提供的技术方案中,在通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息之后,基于目标高度信息生成低分辨率高度图,该低分辨率高度图用于生成虚拟场景地形中各地形网格高度。

在该实施例中,可以根据面片对应的模型分段数得出低分辨率高度图的分辨率,其中,模型分段数也可以称为地形的分段数,则低分辨率高度图的分辨率可以等于(模型分段数+1)×(模型分段数+1)。

举例而言,在高分辨率高度图的分辨率为2048像素×2048像素的情况下,面片对应的模型分段数可以为48*48,这样低分辨率高度图的分辨率可以为49像素*49像素,从而将分辨率为2048像素×2048像素的高分辨率高度图转化为分辨率为49像素*49像素的低分辨率高度图。

该实施例基于目标高度信息生成低分辨率高度图,该低分辨率高度图与高分辨率高度图中的主要数据的精度可以保持一致,比如,地形纹理是一致的,以保证该低分辨率高度图可以正常使用,而不重要的数据的精度可以低些,比如,图像显示的清晰度可以低些,这在需要进行图像渲染的场景中,可以通过低分辨率高度图来提高图像渲染的速度。

需要说明的是,该实施例的高分辨率高度图与低分辨率高度图可以是相对而言的,也即,高分辨率高度图的分辨率大于低分辨率高度图的分辨率,比如,高分辨率高度图的分辨率可以为2048像素×2048像素,而低分辨率高度图的分辨率可以为49像素*49像素。

可选地,该实施例在基于目标高度信息生成低分辨率高度图之后,可以在Zbrush软件的Alpha快捷方式处查找到已生成的低分辨率高度图,并将其导出,该导出的低分辨率高度图的格式可以为“.BMP”格式。

可选地,该实施例在其它软件中复制一份地形模拟模型,将地形模拟模型和低分辨率高度图进行对比。比如,在max软件中的另一置换节点中,复制一份地形模拟模型,并将另一置换节点(比如,为plane002)中的高度图替换为上述低分辨率高度图,以将地形模拟模型和低分辨率高度图进行对比,使得不同软件之间具有一定的兼容性。可选地,如果低分辨率高度图与地形模拟模型中有部分位置没有对齐,也即,出现了一定精度误差,则可以在max软件中,通过Gizmo功能控件移动低分辨率高度图的x坐标轴和y坐标轴,比如,移动低分辨率高度图的x坐标轴和y坐标轴各一格。该1格可以用于表示1米,则可以实现低分辨率高度图与地形模拟模型的位置对齐,进而提高了虚拟场景地形的高度图生成的精度。

通过本申请上述步骤S202至步骤S210,获得地形网格的高分辨率高度图;根据地形网格构建一面片,面片包括与地形网格对应的多个面片网格;基于高分辨率高度图设置面片中各面片网格的高度信息,以获得一地形模拟模型;通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息;基于目标高度信息生成低分辨率高度图。也就是说,该实施例在基于高分辨率高度图得到的地形模拟模型中,确定表征各面片网格的目标高度信息,并基于该目标高度图信息生成低分辨率高度图,达到了将地形网格的高分辨率高度图转化为低分辨率高度图的目的,在低分辨率高度图中保留高分辨率高度图中的主要数据,避免简单地在Photoshop中直接压缩高度图,导致生成的地形的精度和原地形的效果匹配不上,从而解决了虚拟场景地形的高度图的生成精度低的技术问题,进而达到了提高虚拟场景地形的高度图的生成精度的技术效果。由于该实施例的低分辨率高度图采用的数据比高分辨率高度图采用的数据少,进而达到了提高虚拟场景地形的高度图的生成效率的技术效果。

下面对该实施例的上述方法进行进一步地介绍。

作为一种可选的实施方式,步骤S208,通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息,还包括:通过采样地形模拟模型中各面片网格的顶点的高度信息,以获得表征各面片网格的目标高度信息,目标高度信息为地形模拟模型中各面片网格的顶点的高度信息。

在该实施例中,地形模拟模型中各面片网格具有顶点的高度信息,可选地,在高分辨率高度图的分辨率为2048像素×2048像素,面片对应的模型分段数为48*48的情况下,顶点数可以为49*49,其中,两个48可以分别指面片的长度分段和宽度分段。可选地,该实施例在各面片网格中多点的高度信息中,采样上述各面片网格的顶点的高度信息,该顶点可以为多个,进而通过该各面片网格的顶点的高度信息来获得表征各面片网格的目标高度信息,可选地,该实施例将各面片网格的顶点的高度信息直接确定为上述表征各面片网格的目标高度信息。

需要说明的是,由于上述各面片网格的顶点的高度信息并没有进行缩放处理,因而其是真实可靠的,这样通过将各面片网格的顶点的高度信息直接确定为上述目标高度信息,基于目标高度信息生成低分辨率高度图,可以进一步提高虚拟场景地形的高度图的生成精度。

作为一种可选的实施方式,该方法还包括:将地形模拟模型中各面片网格的顶点对应为低分辨率高度图的像素点,则目标高度信息对应为低分辨率高度图的像素点所对应的高度信息;基于目标高度信息生成低分辨率高度图。

在该实施例中,低分辨率高度图的低分辨率与其像素点的数量有关,地形模拟模型中各面片网格的顶点与低分辨率高度图的像素点相对应,该顶点可以为与低分辨率高度图的像素点对应的三维空间中的顶点。各面片网格的目标高度信息是通过采样地形模拟模型中各面片网格的高度信息来获得的,其可以与待生成的低分辨率高度图的像素点所对应的高度信息相对应,在此基础上,可以实现基于上述目标高度信息来生成低分辨率高度图的目的。

作为一种可选的实施方式,该方法还包括:将面片网格分别在面片长边方向上或宽边方向上的顶点的数量设置为M或N,其中M、N为自然数;则低分辨率高度图尺寸为M*N。

在该实施例中,面片包括与地形网格对应的多个面片网格,面片网格具有面片长边方向和面片宽边方向,该实施例可以将面片网格在面片长边方向上的顶点的数量以及面片网格在面片宽边方向上的顶点的数量设置为M或N,该M、N均为自然数。可选地,如果将面片网格在面片长边方向上的顶点的数量设置为M,则面片网格在面片宽边方向上的顶点的数量设置为N;如果将面片网格在面片长边方向上的顶点的数量设置为N,则面片网格在面片宽边方向上的顶点的数量设置为M。在将地形模拟模型中各面片网格的顶点对应为低分辨率高度图的像素点,目标高度信息对应为低分辨率高度图的像素点所对应的高度信息的情况下,该实施例的低分辨率高度图尺寸可以为M*N。

作为一种可选的实施方式,步骤S208,通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息,还包括:通过采样地形模拟模型中各面片网格的顶点的高度信息,以获得各面片网格的目标高度信息,目标高度信息为地形模拟模型中各面片网格的顶点的高度信息的均值。

在该实施例中,地形模拟模型中的一个面片网格可以对应低分辨率高度图的一个像素点,一个面片网格的目标高度信息可以对应该面片网格的顶点的高度信息的均值。可选地,该实施例可以在各面片网格中多点的高度信息中,采样上述各面片网格的顶点的高度信息,然后获取采样到的各面片网格的顶点的高度信息之间的均值,进而将该均值确定为表征各面片网格的目标高度信息,进而基于目标高度信息生成高精度的低分辨率高度图。

可选地,该实施例的上述目标高度信息还可以通过地形模拟模型中各面片网格的顶点的邻域点的高度信息来确定,比如,将地形模拟模型中各面片网格的顶点的邻域点的高度信息的均值确定为上述目标高度信息确定。

作为一种可选的实施方式,该方法还包括:将地形模拟模型中各面片网格的中心点对应为低分辨率高度图的像素点,则目标高度信息对应为低分辨率高度图的像素点所对应的高度信息;其中,中心点包括地形模拟模型中各面片网格的几何中心;基于目标高度信息生成低分辨率高度图。

在该实施例中,地形模拟模型中各面片网格具有中心点,其可以包括对应的面片网格的几何中心,也可以是对应的面片网格中其它任意的一个点,此处不做具体限制。由于低分辨率高度图的低分辨率与其像素点的数量有关,该实施例的地形模拟模型中各面片网格的中心点可以对应低分辨率高度图的像素点。各面片网格的目标高度信息是通过采样地形模拟模型中各面片网格的高度信息来获得的,其可以与待生成的低分辨率高度图的像素点所对应的高度信息相对应,在此基础上,可以实现基于上述目标高度信息来生成低分辨率高度图的目的。

作为一种可选的实施方式,该方法还包括:将面片网格分别在面片长边方向上或宽边方向上的顶点的数量设置为M或N,其中M、N为自然数;则低分辨率高度图尺寸为(M-1)*(N-1)。

在该实施例中,面片包括与地形网格对应的多个面片网格,面片网格具有面片长边方向和面片宽边方向,该实施例可以将面片网格在面片长边方向上的顶点的数量以及面片网格在面片宽边方向上的顶点的数量设置为M或N,该M、N均为自然数。可选地,如果将面片网格在面片长边方向上的顶点的数量设置为M,则面片网格在面片宽边方向上的顶点的数量设置为N;如果将面片网格在面片长边方向上的顶点的数量设置为N,则面片网格在面片宽边方向上的顶点的数量设置为M。在将地形模拟模型中各面片网格的中心点对应为低分辨率高度图的像素点,目标高度信息对应为低分辨率高度图的像素点所对应的高度信息的情况下,该实施例的低分辨率高度图尺寸可以为(M-1)*(N-1)。

需要说明的是,在上述将地形模拟模型中各面片网格的顶点的高度信息的均值确定为目标高度信息,或通过地形模拟模型中各面片网格的顶点的邻域点的高度信息来确定目标高度信息的方法中,由于目标高度信息并非直接采集到的,其真实可靠性相比于将地形模拟模型中各面片网格的顶点的高度信息直接确定为目标高度信息低。

可选地,在该实施例中,高分辨率高度图的像素对应颜色贴图或法线贴图的像素,该高分辨率高度图可以和颜色贴图或法线贴图的像素一致,地形网格的网格数要低于颜色贴图或法线贴图的分段数。可选地,颜色贴图或法线贴图的像素越高,则对应的地形的纹理就越精细,这种精细程度是由颜色贴图或法线贴图的像素的大小来确定的。但颜色贴图和法线贴图均只影响地形的表面,并不能像高分辨率高度图或低分辨率高度图那样影响地形的高低起伏。可选地,受制于性能影响,地形的网格数可以低于颜色贴图或法线贴图的分辨率。

下面对结合优选的实施方式对本发明实施例的上述技术方案进行进一步地举例介绍。

图3是根据本发明实施例的另一种虚拟场景地形的高度图的生成方法的流程图。如图3所示,该方法可以包括以下步骤:

步骤S301,获取2048*2048的高分辨率高度图。

图4是根据本发明实施例的一种高分辨率高度图的示意图。如图4所示,高分辨率高度图A的宽度设为2048像素,高度设为2048像素。

步骤S302,通过高分辨率高度图获得地形模拟模型。

在该实施例中,可以max中新建一个面片,该面片对应的分段数可以为48*48,则对应的顶点数为49*49,可以确定出低分辨率高度图对应的分辨率可以为49像素*49像素。

图5是根据本发明实施例的一种在max中新建面片的示意图。如图5所示,可以设置该面片B的长度分段为48,宽度分段为48。

该实施例在max中新建面片之后,可以在max软件中新建置换节点,加载高分辨率高度图。图6是根据本发明实施例的一种加载高分辨率高度图的示意图。如图6所示,新建的置换节点可以为plane001,置换参数中的强度可以设置为300.0m,然后在置换节点对应的图像处加载上述高分辨率高度图,得到的显示效果如图6中的A′所示,进而基于高分辨率高度图设置面片中各面片网格的高度信息,以获得地形模拟模型。

步骤S303,导出获得的地形模拟模型。

该实施例在获得地形模拟模型之后,可以从max软件中导出地形模拟模型的文件,其格式可以为“.Obj”格式。

图7是根据本发明实施例的一种导出地形模拟模型的示意图。如图7所示,在max软件中选中“导出”,进而选中导出列表中的“导出”,可以设置导出的文件的文件名,以及格式,比如,将地形模拟模型通过“.Obj”格式导出。

步骤S304,在Zbrush软件中导入地形模拟模型。

图8是根据本发明实施例的一种在Zbrush软件中导入地形模拟模型的示意图。如图8所示,在Zbrush软件中,选中工具中的“导入”,可以通过操作“shift”键,使得地形模拟模型以顶视图显示,得到地形模拟模型C,如图9所示,图9是根据本发明实施例的一种以顶视图显示的地形模拟模型的示意图。显然,图10所示的非顶视图显示的地形模拟模型D为不正确的显示效果,其中,图10是根据本发明实施例的一种非顶视图显示的地形模拟模型的示意图。

步骤S305,设置待生成的低分辨率高度图的分辨率。

该实施例可以将待生成的低分辨率高度图的分辨率设置成推导出的49像素*49像素,进而生成低分辨率高度图,如图11中的E,其中,图11是根据本发明实施例的一种低分辨率高度图的示意图。

步骤S306,在Alpha快捷方式处查找到低分辨率高度图。

图12是根据本发明实施例的一种在Alpha快捷方式处查找到低分辨率高度图的示意图。如图12所示,可以在Alpha快捷方式查找到生成的低分辨率高度图E,并按“导出”键,可以将低分辨率高度图导出。

步骤S307,将低分辨率高度图导出。

该实施例可以设置低分辨率高度图以“.BMP”格式导出,如图13所示。其中,

图13是根据本发明实施例的一种导出低分辨率高度图的示意图,可以选择“.BMP”格式,并设置文件名,比如,文件名为“49”,进而保存或取消。

图14是根据本发明实施例的一种设置低分辨率高度图的分辨率的示意图。如图14所示,可以设置低分辨率高度图E的宽度为49像素,高度为49像素。

步骤S308,复制地形模拟模型至max软件,将max软件中的plane002置换节点的高度图替换为低分辨率高度图。

图15是根据本发明实施例的一种将地形模拟模型与低分辨率高度图进行对比的示意图。如图15所示,可以复制地形模拟模型对应的地形F至max软件中,将max软件中的plane002置换节点的高度图替换为49像素*49像素的低分辨率高度图对应的地形G,并将地形模拟模型对应的地形F与49像素*49像素的低分辨率高度图对应的地形G进行比较。

步骤S309,将地形模拟模型与低分辨率高度图进行对比。

图16是根据本发明实施例的一种将地形模拟模型与低分辨率高度图进行对比的示意图。如图16所示,地形模拟模型对应的地形与低分辨率高度图对应的地形对齐。其中,低分辨率高度图对应的地形处于地形模拟模型对应的地形的上面,可以确定低分辨率高度图对应的地形与地形模拟模型对应的地形中有部分位置O没有对齐。

步骤S310,移动地形模拟模型的X轴和Y轴。

图17是根据本发明实施例的一种移动地形模拟模型的X轴和Y轴的示意图。如图17所示,通过操作Gizmo控件,移动地形模拟模型的X轴和Y轴,以实现低分辨率高度图与地形模拟模型重合。

图18是根据本发明实施例的一种高分辨率高度图和低分辨率高度图的示意图。如图18所示,左边为2048*2048高分辨率高度图A,右侧为49*49低分辨率高度图E。该低分辨率高度图E与高分辨率高度图A中的主要数据的精度可以保持一致,比如,地形纹理是一致的,以保证该低分辨率高度图E可以正常使用,而不重要的数据的精度可以低些,图像显示的清晰度可以低些,这在需要进行图像渲染的场景中,可以通过低分辨率高度图E来提高图像渲染的速度。

图19是根据本发明实施例的一种通过直接压缩图片得到的高度图对应的地形、地形模拟模型对应的地形和低分辨率高度图对应的地形的示意图。如图19所示,直接压缩图片得到的高度图对应的地形H可以是在Photoshop中直接压缩高度图得到,会比地形模拟模型对应的地形F以及低分辨率高度图对应的地形G,有更多坑坑洼洼,导致生成的地形的精度和原地形的效果匹配不上。

然而,该实施例在基于高分辨率高度图得到的地形模拟模型中,确定表征各面片网格的目标高度信息,并基于该目标高度图信息生成低分辨率高度图,达到了将地形网格的高分辨率高度图转化为低分辨率高度图的目的,在低分辨率高度图中保留高分辨率高度图中的主要数据,从而解决了虚拟场景地形的高度图的生成精度低的技术问题,进而达到了提高虚拟场景地形的高度图的生成精度以及生成效率的技术效果。

本发明实施例还提供了一种虚拟场景地形的高度图的生成装置,用于生成控制虚拟场景地形各地形网格高度的低分辨率高度图。需要说明的是,该实施例的虚拟场景地形的高度图的生成装置可以用于执行本发明实施例图2所示的虚拟场景地形的高度图的生成方法。

本发明实施例还提供了一种虚拟场景地形的高度图的生成装置。需要说明的是,该实施例的虚拟场景地形的高度图的生成装置可以用于执行本发明实施例图2所示的虚拟场景地形的高度图的生成方法。

图20是根据本发明实施例的一种虚拟场景地形的高度图的生成装置的示意图。如图20所示,该虚拟场景地形的高度图的生成装置200包括:获取模块201、建模模块202、采样模块203和生成模块204。

获取模块201,用于获得地形网格的高分辨率高度图。

建模模块202,用于根据地形网格构建一面片,面片包括与地形网格对应的多个面片网格;基于高分辨率高度图设置面片中各面片网格的高度信息,以获得一地形模拟模型。

采样模块203,用于通过采样地形模拟模型中各面片网格的高度信息以获得表征各面片网格的目标高度信息。

生成模块204,用于基于目标高度信息生成低分辨率高度图。

可选地,采样模块203包括:第一采样单元,用于通过采样地形模拟模型中各面片网格的顶点的高度信息,以获得表征各面片网格的目标高度信息,目标高度信息为地形模拟模型中各面片网格的顶点的高度信息。

可选地,该装置还包括:第一对应模块,用于将地形模拟模型中各面片网格的顶点对应为低分辨率高度图的像素点,则目标高度信息对应为低分辨率高度图的像素点所对应的高度信息;所述生成模块204基于目标高度信息生成低分辨率高度图。

可选地,该装置还包括:第一设置模块,用于将面片网格分别在面片长边方向上或宽边方向上的顶点的数量设置为M或N,其中M、N为自然数;则低分辨率高度图尺寸为M*N。

可选地,采样模块203包括:第二采样单元包括:第二采样模块,用于通过采样地形模拟模型中各面片网格的顶点的高度信息,以获得各面片网格的目标高度信息,目标高度信息为地形模拟模型中各面片网格的顶点的高度信息的均值。

可选地,该装置还包括:第二对应模块,用于将地形模拟模型中各面片网格的中心点对应为低分辨率高度图的像素点,则目标高度信息对应为低分辨率高度图的像素点所对应的高度信息;其中,中心点包括地形模拟模型中各面片网格的几何中心;基于目标高度信息生成低分辨率高度图。

可选地,该装置还包括:第二设置模块,用于将面片网格分别在面片长边方向上或宽边方向上的顶点的数量设置为M或N,其中M、N为自然数;则低分辨率高度图尺寸为(M-1)*(N-1)。

在该实施例的虚拟场景地形的高度图的生成装置中,在基于高分辨率高度图得到的地形模拟模型中,确定表征各面片网格的目标高度信息,并基于该目标高度图信息生成低分辨率高度图,达到了将地形网格的高分辨率高度图转化为低分辨率高度图的目的,在低分辨率高度图中保留高分辨率高度图中的主要数据,避免简单地在Photoshop中直接压缩高度图,导致生成的地形的精度和原地形的效果匹配不上,从而解决了虚拟场景地形的高度图的生成精度低的技术问题,进而达到了提高虚拟场景地形的高度图的生成精度的技术效果。由于低分辨率高度图采用的数据比高分辨率高度图采用的数据少,进而达到了提高虚拟场景地形的高度图的生成效率的技术效果。

本发明的实施例还提供了一种计算机可读存储介质。该计算机可读存储介质中存储有计算机程序,其中,在计算机程序被处理器运行时控制计算机可读存储介质所在设备执行本发明实施例的虚拟场景地形的高度图的生成方法。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行本发明实施例的虚拟场景地形的高度图的生成方法。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 虚拟场景地形的高度图的生成方法、装置和存储介质
  • 一种高度图生成方法、装置、设备及存储介质
技术分类

06120112224966