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

技术领域

本申请涉及地形生成技术领域,具体涉及一种山体地形生成方法、装置、电子设备及计算机可读存储介质。

背景技术

在互联网的浪潮下,娱乐项目在人们的生活中越来越重要,而为了满足一些娱乐项目(例如动漫电影、游戏)中的某些山体地形场景的需求,需预先设计和构建山体地形模型,以便于对构建后的山体地形模型进行美术渲染,从而形成特定的山体地形场景。

现有的山体地形模型的生成,需由人工去设计,并由人工基于设计结果手动进行构建。而目前,若想完成一个娱乐项目,例如一款游戏,有时需要制作很多风格不同的山体地形场景,来应用于该游戏的游戏场景中。倘若这些风格不同的山体地形场景对应的山体地形模型均需通过人工去设计和构建的方式来生成,那么山体地形模型在设计和构建过程中无疑会花费大量的时间,从而致使生成山体地形模型的效率较低。

发明内容

本申请实施例提供一种山体地形生成方法、装置、电子设备及计算机可读存储介质,可以提高山体地形模型的生成效率。

第一方面,本申请实施例提供一种山体地形生成方法,上述方法包括:

获取待生成山体地形的平面模型,在上述平面模型上设置关键点;

根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,得到网格状的山体地形平面图,其中,上述山体地形平面图中每一关键点具有同一法线方向法线;

获取用于为上述平面模型提供色值的图像,根据上述图像上与上述关键点对应的像素点的色值,确定上述关键点的色值;

根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息;

控制上述关键点根据上述高度偏移信息沿着上述法线偏移,生成上述平面模型对应的山体地形模型。

第二方面,本申请实施例还提供一种山体地形生成装置,上述装置包括:

模型获取模块,用于获取待生成山体地形的平面模型,在上述平面模型上设置关键点;

连线模块,用于根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,得到网格状的山体地形平面图,其中,上述山体地形平面图中每一关键点具有同一法线方向法线;

图像获取模块,用于获取用于为上述平面模型提供色值的图像,根据上述图像上与上述关键点对应的像素点的色值,确定上述关键点的色值;

信息确定模块,用于根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息;

生成模块,用于控制上述关键点根据上述高度偏移信息沿着上述法线偏移,生成上述平面模型对应的山体地形模型。

第三方面,本申请实施例还提供一种电子设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本申请实施例所提供的任一种山体地形生成方法中。

第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种山体地形生成方法中。

本申请实施例中,通过获取待生成山体地形的平面模型,在上述平面模型上设置关键点,从而可通过该关键点来构建山体地形,即根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,得到网格状的山体地形平面图,其中,上述山体地形平面图中每一关键点具有同一法线方向法线。再获取用于为上述平面模型提供色值的图像,从而根据上述图像上与上述关键点对应的像素点的色值,确定上述关键点的色值,以根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息,并控制上述关键点根据上述高度偏移信息沿着上述法线偏移,生成上述平面模型对应的山体地形模型,从而通过设计关键点间连线的方式,不仅可以得到山体地形模型的结构,避免了人工设计山体地形模型所花费的时间,而且还可基于关键点的色值自动生成对应结构的山体地形模型,减少了人工构建山体地形模型所花费的时间,进而整体上提高了山体地形模型的生成效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的山体地形生成方法的场景示意图;

图2是本申请实施例提供的山体地形生成方法的一种实施例流程示意图;

图3是本申请实施例提供的设置细分后的平面模型示意图;

图4a是本申请实施例提供的设置关键点后的一种平面模型示意图;

图4b是本申请实施例提供的设置关键点后的另一种平面模型示意图;

图5a是本申请实施例提供的为平面模型提供色值的图像示意图;

图5b是本申请实施例提供的赋予色值后的平面模型示意图;

图6是本申请实施例提供的设置四个顶点后的平面模型示意图;

图7a是本申请实施例提供的一种山体地形平面示意图;

图7b是本申请实施例提供的另一种山体地形平面示意图;

图7c是本申请实施例提供的再一种山体地形平面示意图;

图8是本申请实施例提供的赋予颜色后的山体地形平面示意图;

图9a是本申请实施例提供的一种山体地形模型的示意图;

图9b是本申请实施例提供的另一种山体地形模型的示意图;

图10是本申请实施例提供的赋予颜色后的山体地形模型的示意图;

图11a是本申请实施例提供的一种风格的山体地形模型的示意图;

图11b是本申请实施例提供的另一种风格的山体地形模型的示意图;

图12a是本申请实施例提供的一种山体地形模型中的低洼示意图;

图12b是本申请实施例提供的另一种山体地形模型中的低洼面示意图;

图13是本申请实施例提供的山体地形生成装置的结构示意图;

图14是本申请实施例提供的电子设备的结构示意图。

具体实施方式

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

在对本申请实施例进行详细地解释说明之前,先对本申请实施例涉及到的一些名词进行解释说明。

其中,在本申请实施例的描述中,术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例提供一种山体地形生成方法、装置、电子设备及计算机可读存储介质。具体地,本申请实施例的山体地形生成方法可以由电子设备执行,其中,该电子设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal DigitalAssistant,PDA)等终端设备,终端还可以包括客户端,该客户端可以是游戏应用客户端、携带有游戏程序的浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。

例如,如图1所示,该电子设备以终端为例进行说明,该终端可以响应于获取待生成山体地形的平面模型,在上述平面模型上设置关键点;根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,得到网格状的山体地形平面图,其中,上述山体地形平面图中每一关键点具有同一法线方向法线;获取用于为上述平面模型提供色值的图像,根据上述图像上与上述关键点对应的像素点的色值,确定上述关键点的色值;根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息;控制上述关键点根据上述高度偏移信息沿着上述法线偏移,生成上述平面模型对应的山体地形模型。

基于上述问题,本申请实施例提供一种山体地形生成方法、装置、电子设备及计算机可读存储介质,可以提高山体地形模型的生成效率。

以下结合附图分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于附图所示的顺序执行所示出或描述的步骤。

在本实施例中,以终端为例进行说明,本实施例提供了一种山体地形生成方法,如图2所示,该山体地形生成方法的具体流程可以如下:

201、获取待生成山体地形的平面模型,在上述平面模型上设置关键点。

其中,上述平面模型可以作为待生成的山体地形的地形基础,从而通过在该平面模型上设置关键点,以便于构建出山体地形的结构。终端可以通过三维软件来准备用于生成山体地形的平面模型,例如,终端可通过三维软件,在平面模型中设置较多的细分,以便于生成的山体地形模型更为精致,如图3所示,图3为设置细分后的平面模型示意图。

其中,上述待生成山体地形可以应用于虚拟游戏场景中,例如,可以是虚拟游戏场景中的虚拟山体地形。

在一些实施例中,为了能够生成用户所需的山体地形,在上述平面模型上所设置的至少一个关键点,可以通过用户操作信息来设置、基于预设的关键点设置策略来自动设置和随机设置中的至少一种设置方式来进行设置,从而致使平面模型上设置的关键点的分布的疏密程度不同,其中,用户操作信息为用户基于用户需求在平面模型上操作,来预先配置或生成的信息,该信息用于指示关键点的位置。

其中,在平面模型上设置关键点时,可以在细分后的平面模型上进行设置,如图4a所示,图4a为设置关键点后的一种平面模型示意图,待在细分后的平面模型上设置完成关键点之后,可以不显示平面模型的细分结构,如图4b所示,图4b为设置关键点后的另一种平面模型示意图。

具体地,上述在上述平面模型上设置关键点可以包括:用户可在三维软件中通过笔刷,在平面模型上设置关键点,即终端获取笔刷在平面模型上触碰过的位置,并在该位置上设置对应的关键点,以完成关键点的设置。

具体地,上述在上述平面模型上设置关键点可以包括:终端获取关键点设置指令,基于该关键点设置指令确定该指令对应的关键点设置策略,以根据该关键点设置策略在平面模型上设置关键点。其中,上述关键点设置策略包括但不限于是紧密分布设置策略和稀疏分布设置策略,基于关键点设置指令,可确定选取紧密分布设置策略和稀疏分布设置策略中的哪一种规则作为依据,以在平面模型上设置用户所需的关键点。

可以理解的是,上述紧密分布设置策略用于在平面模型上设置在某一区域紧密分布的第一目标数量的关键点;上述稀疏分布设置策略用于在平面模型上设置在某一区域稀疏分布的第二目标数量的关键点,其中,第一目标数量大于第二目标数量,基于紧密分布设置策略设置的关键点,相较于基于稀疏分布设置策略设置的关键点来说,生成的山体地形模型的形状更为复杂。

在一些实施例中,上述关键点设置策略的设置方式可以是人为预先在终端中进行设置的方式,也可以是预先获取用于为上述平面模型提供色值的图像,如图5a所示,相应地,通过图像各个像素点提供的色值为平面模型上的各个点赋予对应色值之后,如图5b所示,终端可根据上述图像上的色值分布设置对应的关键点设置策略。

示例性地,从图像上的色值分布中确定出至少一个色值不同的色值分布区域,如图5b的A区域,从而从色值不同的色值分布区域中随机确定至少一个位置作为设置关键点的位置,如图5b的A区域中的两个关键点所处的位置,从而基于图像上设置关键点的位置生成图像对应的关键点设置策略。

相应地,倘若基于图像设置出对应的关键点设置策略,那么在上述平面模型上设置关键点时,采用为平面模型提供色值的图像对应的关键点设置策略来设置关键点。

在一些实施例中,上述关键点设置指令可以通过人为下达的方式来下达,例如,人为下达通过紧密分布设置策略来设置关键点的关键点设置指令;上述关键点设置指令还可以根据为上述平面模型提供色值的图像来确定对应的关键点设置策略,以生成对应的关键点设置指令,例如,倘若图像上的色彩变化类型为色彩变化鲜明的类型,则可基于该色彩变化类型设置紧密分布设置策略,以生成结构鲜明的山体地形模型,例如结构陡峭的山体地形模型。

202、根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,得到网格状的山体地形平面图,其中,上述山体地形平面图中每一关键点具有同一法线方向法线。

其中,上述平面模型的四个顶点为连接平面模型四个边缘的点,如图6所示,图6为在平面模型上设置四个顶点之后的平面模型示意图,通过该四个顶点可以形成一个矩形,即平面模型的形状。

在本实施例中,通过在平面模型上进一步设置四个顶点,以便于通过特定的连线方式形成平面模型上的关键点和四个顶点之间的连线,以及关键点之间的连线来设置山体地形在平面上的结构,即该平面模型上包括各个风格化的色块,由各个风格化的色块组成山体地形的结构,以便于通过山体地形在平面上的结构,即各个风格化的色块生成山体地形对应的三维立体模型,从而避免了人工设计山体地形模型所花费的时间。

其中,山体地形在平面上的结构可以为网状结构,包括但不限于是类似于晶格三角形的三角形网状结构、矩形网状结构和梯形网状结构中的至少一种。

具体地,在本实施例中,上述平面模型上的关键点和四个顶点之间的连线,可以是平面模型上的至少一个关键点与至少一个顶点连线。

示例性地,上述与顶点进行连线的关键点可以是平面模型上的位于边缘区域的边缘关键点,也可以是在平面模型上与顶点距离最近的关键点,还可以是结合相邻顶点进行分析,即查找出与两个相邻顶点之间的连线距离最短的关键点,将该关键点分别与两个相邻关键点进行连线等。

在一些实施例中,基于同一平面模型上的关键点,不同的连线方式所生成的山体地形的结构并不相同,所以可预先设置不同的连线方式,以便于基于用户需求采用对应的连线方式,生成用户所需的山体地形结构,其中,该山体地形结构包括外部轮廓结构和内部结构,可采用不同的连线方式生成不同的外部轮廓结构和内部结构,并将外部轮廓结构和内部结构相结合,以得到山体地形的整体结构。

其中,终端可通过关键点与平面模型的四个顶点连接的方式生成山体地形的外部轮廓结构,通过关键点之间连接的方式生成山体地形的内部结构。

具体地,上述根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,可以包括:终端根据上述关键点在上述平面模型上的位置,从各个关键点的区域分布中确定分布在边缘的边缘关键点;并将每一边缘关键点均与上述平面模型的四个顶点连接,以及将相邻的边缘关键点之间进行连线,以形成山体地形在平面模型上的外部轮廓的结构。

其中,终端可在平面模型中确定出以关键点为范围形成的目标区域,即该目标区域中包含平面模型中的所有关键点,相应地,在本实施例中的边缘即为目标区域的边缘,而分布在边缘的边缘关键点即为位于目标区域的边缘位置的边缘关键点。

示例性地,如图7a所示,在图7a中将边缘关键点中的相邻边缘关键点之间进行连线,并同时将边缘关键点与平面模型的四个顶点之间进行连线,其中,为避免混淆,图7a中并未将所有连线画出。

终端同时还可依次循环遍历上述关键点中的非边缘关键点,该非边缘关键点为不处于边缘的关键点,从而根据上述关键点中的非边缘关键点与其周围的关键点之间的距离,确定每一非边缘关键点对应的满足距离条件的关键点,并将每一非边缘关键点与满足距离条件的关键点进行连线,以形成山体地形在平面模型上的内部结构。

示例性地,如图7b所示,在图7b中将每一非边缘关键点与其周围符合距离条件的关键点进行连线,在本示例中,可设定距离条件中的关键点数量为5,其中,为避免混淆,图7b中并未将所有连线画出。

在一些实施例中,上述根据上述关键点中的非边缘关键点与其周围的关键点之间的距离,确定每一非边缘关键点对应的满足距离条件的关键点,可以包括:根据上述非边缘关键点与其周围的关键点之间的距离,将与上述非边缘关键点之间没有连线的,且距离最近的预设数量的关键点确定为满足上述距离条件的关键点。即在本实施例中的距离条件为预设数量的与非边缘关键点之间没有连线的,且距离最近的。

其中,上述连线包括相互连线和穿插连线中的至少一种;上述相互连线是指当前待连线的关键点与非边缘关键点之间已进行连线,也即该非边缘关键点在当前时刻之前,已经与当前待连线的关键点进行了连线,将两者之间的连线称为相互连线;上述穿插连线是指当前待连线的关键点与非边缘关键点之间存在关键点之间或关键点与平面模型的顶点之间的连线,也即当前待连线的关键点与非边缘关键点连接的线路上有其他连线,将两者连接的线路上所存在的其他连线称为穿插连线。

示例性地,终端在依次循环遍历非边缘关键点的过程中,在后遍历的关键点与其周围关键点的连线,不能与已连接的在先遍历的关键点与其周围关键点之间的连线重复,也不能与已连接的在先遍历的关键点与其周围关键点之间的连线穿插。

在一些实施例中,在得到网格状的山体地形平面图之后,因后期需基于该山体地形平面图生成三维立体的山体地形模型,所以需赋予山体地形平面图中的每一个关键点一个同一法线方向法线,以便于实现关键点移动方向的一致性,例如,如图7c所示,在图7c中赋予山体地形平面图中每一关键点一个上方向的法线,此外,也可为平面模型的四个顶点赋予与关键点的法线方向一致的法线,以便于在某些特殊情况下,可移动平面模型的顶点。

203、获取用于为上述平面模型提供色值的图像,根据上述图像上与上述关键点对应的像素点的色值,确定上述关键点的色值。

其中,上述为平面模型提供色值的图像可以是任意一张图片所显示的图像,由于通过该图像对平面模型提供色值,所以该图像的尺寸应与平面模型的尺寸一致,该图像上各个像素点与平面模型细分后的各个点是一一对应的关系,如图5a和图5b所示,终端通过该图像可以为平面模型赋予色值。

在本实施例中,终端基于关键点在平面模型中的位置,可以从图像中确定出与关键点的位置相同的像素点,该位置相同的像素点即为关键点对应的像素点,将该像素点的色值确定为关键点的色值。

在一些实施例中,上述平面模型的四个顶点的色值可以作为山体地形的地形基础颜色,该四个顶点的色值需维持一致,即平面模型的四个顶点的色值相同。平面模型的四个顶点的色值,可以由人为定义,也可以基于为平面模型提供色值的图像的各个像素点的色值进行确定,例如,将图像的各个像素点的色值的均值作为平面模型的四个顶点的色值,从图像的各个像素点的色值中将中位数或众数对应的色值作为平面模型的四个顶点的色值等。

在一些实施例中,可在获取待生成山体地形的平面模型,在上述平面模型上设置关键点之前,获取为上述平面模型提供色值的图像,基于该图像生成赋予色值后的平面模型,即图5b,并在平面模型上设置关键点之后,基于该关键点读取对应的颜色,以便于在通过关键点之间的连线,以及关键点和平面模型的四个顶点之间的连线,得到山体地形平面图之后,即可得到山体地形平面图中各个点对应的色值,从而基于各个点对应的色值为山体地形平面图赋予对应的颜色,即可以通过相邻两个点的色值,将山体地形平面图上显示的颜色以渐变的方式进行显示;又或者得到山体地形平面图中各个关键点和平面模型的四个顶点对应的色值,基于各个关键点和平面模型的四个顶点对应的色值为山体地形平面图赋予对应的颜色,而由关键点和/或平面模型的顶点组成的区域,可以基于组成该区域的关键点和/或平面模型的顶点的色值,将该区域上显示渐变颜色,如图8所示。

204、根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息。

其中,上述高度偏移信息包括偏移方向和偏移距离,通过该高度偏移信息可以实现关键点在其法线上的偏移。

在一些实施例中,上述根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息,可以包括:预先设定好用户所需的山体地形模型的高度范围,再基于该高度范围,确定出关键点的色值与山体地形模型的高度之间的映射关系,从而基于实际的关键点色值,根据预设的映射关系确定该关键点的色值对应的高度偏移信息。

其中,关键点的颜色在R、C、B三通道的色值均处于0至1范围内,为便于映射,可计算关键点颜色在R、C、B三通道的色值的均值,将该均值作为进行映射的关键点的色值,也即相当于关键点的颜色的明度。

可以理解的是,山体地形模型中有较高的地形,例如山峰,也有较低的地形,例如洼地,所以上述设定山体地形模型的高度范围时,可以设定一个山体地形模型的水平面对应的值,高度低于该水平面对应的值就为较低的地形,高度高于该水平面对应的值就为较高的地形。也即若关键点的色值对应的山体地形模型的高度低于该水平面对应的值,则关键点的高度偏移信息中的偏移方向为向下,偏移距离为关键点的色值对应的山体地形模型的高度值;若关键点的色值对应的山体地形模型的高度高于该水平面对应的值,则关键点的高度偏移信息中的偏移方向为向上,偏移距离为关键点的色值对应的山体地形模型的高度值。

示例性地,设定出用户所需的山体地形模型的高度范围为-50至100的范围,其中0为山体地形模型中的水平面,而且,由于关键点的色值处于0至1范围内,所以终端可以将色值所处的范围0至1映射到山体地形模型的高度范围-50至100的对应值上,从而得到关键点的色值与山体地形模型的高度的映射关系,即得到关键点的色值在0至1范围的各个值上所对应的山体地形模型的高度值,例如,若当前关键点的色值为0,则说明山体地形模型在该关键点处的高度为-50,即高度偏移信息中偏移方向为向下,偏移距离为50。

205、控制上述关键点根据上述高度偏移信息沿着上述法线偏移,生成上述平面模型对应的山体地形模型。

在本实施例中,终端根据上述得到的高度偏移信息控制关键点沿着法线进行偏移,从而带动连接关键点的相关连线在向空间中移动,以生成平面模型对应的山体地形模型,如图9a所示,上述通过基于关键点的色值自动生成对应结构的山体地形模型的方式,可以减少人工构建山体地形模型所花费的时间。

可以理解的是,由于是基于关键点的色值确定的高度偏移信息,并且基于该高度偏移信息生成对应的山体地形模型,所以,根据不同的映射关系,不同亮度或颜色的区域会生成不同样式的山体地形。

示例性地,在平面模型中的亮度低的深色区域,在生成的山体地形模型中可能为低于水平面的山体地形,例如洼地;在平面模型中的亮度高的浅色区域,在生成的山体地形模型中可能为高于水平面的山体地形,例如山峰,其中,当关键点的色值与山体地形模型的高度的映射关系与本示例的映射关系相反时,区域与对应的山体地形也与本示例相反。

在一些实施例中,倘若通过为上述平面模型提供色值的图像,在得到山体地形平面图之后,基于各个点对应的色值为山体地形平面图赋予对应的颜色,如图8所示,那么在得到山体地形模型之后,山体地形模型的各个关键点的颜色可对应进行显示,如图9a所示,还可进一步将山体地形模型中的各个面的渐变颜色也对应进行显示,如图9b所示。

在一些实施例中,在生成上述平面模型对应的山体地形模型之后,山体地形模型的各个面并没有颜色,而且就算有颜色,也是渐变的颜色,如图9b所示,所以为了固定山体地形模型的各个面的颜色,消除渐变颜色,在本实施例中还可以包括:确定上述山体地形模型中由关键点和/或平面模型的顶点组成的每一个面,根据每一个面对应的关键点和/或平面模型的顶点的色值确定每一个面的色值;根据上述山体地形模型上各个面的色值为上述山体地形模型的各个面赋予颜色,如图10所示。

可以理解的是,在山体地形模型中,有些面是直接由关键点组成,而有些面需由关键点和至少一个平面模型的顶点组成,所以在山体地形模型中确定组成一个面的关键点和/或平面模型的顶点的色值,从而确定出关键点和/或平面模型的顶点所组成的面的色值,再基于该色值为山体地形模型中对应的面赋予固定颜色。

例如,可通过计算组成一个面的关键点和/或平面模型的顶点的色值的均值,来确定出关键点和/或平面模型的顶点所组成的面的色值。

在一些实施例中,在生成上述平面模型对应的山体地形模型之后,需调整山体地形模型上各个关键点和平面模型的顶点的法线,以便于将法线调整后的山体地形模型应用于实际场景中。

在一些实施例中,由于山体地形模型是基于关键点的色值来生成的,而关键点的色值是基于一张图片所显示的图像所确定的,所以可将设置的关键点、为上述平面模型提供色值的图像,以及关键点的色值与山体地形模型的高度之间的映射关系中的至少一种参数进行变更,来快速生成各式各样的不同风格的山体地形模型,可结合批处理工具来对变更的参数进行批量输入,提高了各式各样的不同风格的山体地形模型的生成效率。

示例性地,可随机设置至少两个批次的关键点,其中,不同批次的关键点的位置不同,通过至少两个批次的关键点可以生成不同结构的山体地形平面图,并且由于至少两个批次的关键点的位置不同,所以在同一图像上的关键点的位置对应的色值也存在不同,所以不同批次的关键点的位置和高度偏移信息均不同,从而通过不同结构的山体地形平面图,以及不同位置和不同高度偏移信息的关键点,可以生成风格样式不同的山体地形模型。

示例性地,可基于相同关键点,同时输入不同图像的图片,由于不同图像在同一位置的色值不同,所以就算结构相同,但是不同图像对应的关键点的高度偏移信息不同,从而通过不同高度偏移信息的关键点,可以生成风格样式不同的山体地形模型,如图11a和图11b。

示例性地,可基于相同关键点,以及同一张图片,即说明山体地形模型的结构相同,山体地形模型的色值相同,但设定的关键点的色值与山体地形模型的高度之间的映射关系有多种,那么不同的映射关系对应的关键点的高度偏移信息不同,从而通过不同高度偏移信息的关键点,可以生成风格样式不同的山体地形模型。

在一些实施例中,为丰富山体地形模型的元素类型,以及提高虚拟场景模拟真实世界的真实性,可以将山体地形模型中的低洼处生成特定的虚拟模型,例如,湖泊模型或者盆地模型等。

具体地,在生成上述平面模型对应的山体地形模型之后,还可以包括:终端确定上述山体地形模型中处于低洼处的顶点,如图12a中的A顶点,根据上述处于低洼处的顶点确定上述处于低洼处的顶点对应的低洼面,上述低洼面为上述低洼处的临界边组成的面;为上述低洼面赋予预设颜色,并将赋予颜色后的低洼面向下偏移预设距离,以生成特定的虚拟模型,如图12b所示的湖泊模型。

其中,上述山体地形模型中的低洼为地势比四周低的一处地形,该低洼的设置范围可以通过用户操作信息来设置、基于预设的低洼设置策略来自动设置和随机设置中的至少一种设置方式来进行设置。

具体地,上述用户操作信息为用户基于用户需求在平面模型上操作,来预先配置或生成的低洼信息,该低洼信息用于指示低洼的位置和范围,而低洼的最低点为低洼处的顶点。

具体地,上述低洼设置策略可以是基于山体地形模型的地形来进行设置,例如,获取低于山体地形模型的水平面的至少一处凹状地形,根据凹状地形的最低处与水平面之间的深度距离,从至少一处凹状地形中选取出符合预设深度范围的凹状地形作为低洼,并且该凹状地形中的最低点为低洼处的顶点。

其中,上述预设颜色可根据用户想要的元素类型设定对应的颜色,例如,为了形成湖泊效果可将上述预设颜色设为蓝色,即赋予蓝色的低洼面相当于低洼处的水体,其中,上述预设距离可根据用户需求进行设定,一般不低于处于低洼处的顶点所对应的位置。

在一些实施例中,上述根据上述处于低洼处的顶点确定上述处于低洼处的顶点对应的低洼面,可以包括:终端根据上述山体地形模型中处于低洼处的顶点,确定上述山体地形模型中与上述顶点连接的地形线条,并确定每一上述地形线条的另一个端点连接形成的环边,如图12a中所示,该环边为上述低洼处的临界边,将上述环边所围成的平面确定为上述处于低洼处的顶点对应的低洼面。

由以上内容可以看出,通过获取待生成山体地形的平面模型,在上述平面模型上设置关键点,从而可通过该关键点来构建山体地形,即根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,得到网格状的山体地形平面图,其中,上述山体地形平面图中每一关键点具有同一法线方向法线。再获取用于为上述平面模型提供色值的图像,从而根据上述图像上与上述关键点对应的像素点的色值,确定上述关键点的色值,以根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息,并控制上述关键点根据上述高度偏移信息沿着上述法线偏移,生成上述平面模型对应的山体地形模型,从而通过设计关键点间连线的方式,不仅可以得到山体地形模型的结构,避免了人工设计山体地形模型所花费的时间,而且还可基于关键点的色值自动生成对应结构的山体地形模型,减少了人工构建山体地形模型所花费的时间,进而整体上提高了山体地形模型的生成效率。

为了更好地实施以上方法,本申请实施例还提供一种山体地形生成装置,该山体地形生成装置具体可以集成在电子设备中,比如,计算机设备,该计算机设备可以为终端、服务器等设备。

其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。

比如,在本实施例中,将以山体地形生成装置具体集成在终端为例,对本申请实施例的方法进行详细说明,本实施例提供了一种山体地形生成装置,如图13所示,该山体地形生成装置可以包括:

模型获取模块131,用于获取待生成山体地形的平面模型,在平面模型上设置关键点;

连线模块132,用于根据关键点在平面模型上的位置,在关键点和平面模型的四个顶点之间,以及关键点之间进行连线,得到网格状的山体地形平面图,其中,山体地形平面图中每一关键点具有同一法线方向法线;

图像获取模块133,用于获取用于为平面模型提供色值的图像,根据图像上与关键点对应的像素点的色值,确定关键点的色值;

信息确定模块134,用于根据关键点的色值确定关键点在上述法线方向上的高度偏移信息;

生成模块135,用于控制关键点根据高度偏移信息沿着法线偏移,生成上述平面模型对应的山体地形模型。

在一些实施例中,上述连线模块132具体用于:

根据上述关键点在上述平面模型上的位置,确定分布在边缘的边缘关键点;

将每一边缘关键点均与上述平面模型的四个顶点连接,并将相邻的边缘关键点之间进行连线;

根据上述关键点中的非边缘关键点与其周围的关键点之间的距离,确定每一非边缘关键点对应的满足距离条件的关键点,并将每一非边缘关键点与满足距离条件的关键点进行连线。

在一些实施例中,上述连线模块132具体还用于:

根据上述非边缘关键点与其周围的关键点之间的距离,将与上述非边缘关键点之间没有连线的,且距离最近的预设数量的关键点确定为满足上述距离条件的关键点。

在一些实施例中,上述信息确定模块134具体用于:

根据预设的映射关系确定上述关键点的色值对应的高度偏移信息,上述映射关系为关键点的色值与山体地形模型的高度之间的映射关系。

在一些实施例中,上述山体地形生成装置还包括颜色确定模块和颜色赋予模块;

上述颜色确定模块,用于确定上述山体地形模型中由关键点和/或平面模型的顶点组成的每一个面,根据每一个面对应的关键点和/或平面模型的顶点的色值确定每一个面的色值;

上述颜色赋予模块,用于根据上述山体地形模型上各个面的色值为上述山体地形模型的各个面赋予颜色。

在一些实施例中,上述山体地形生成装置还包括低洼面确定模块和偏移模块;

上述低洼面确定模块,用于确定上述山体地形模型中处于低洼处的顶点,根据上述处于低洼处的顶点确定上述处于低洼处的顶点对应的低洼面,上述低洼面为上述低洼处的临界边组成的面;

上述偏移模块,用于为上述低洼面赋予预设颜色,并将赋予颜色后的低洼面向下偏移预设距离。

在一些实施例中,上述低洼面确定模块具体用于:

根据上述山体地形模型中处于低洼处的顶点,确定上述山体地形模型中与上述顶点连接的地形线条;

确定每一上述地形线条的另一个端点连接形成的环边,将上述环边所围成的平面确定为上述处于低洼处的顶点对应的低洼面。

由上可知,本实施例的山体地形生成装置通过模型获取模块131获取待生成山体地形的平面模型,在上述平面模型上设置关键点,从而可通过该关键点来构建山体地形,即通过连线模块132根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,得到网格状的山体地形平面图,其中,上述山体地形平面图中每一关键点具有同一法线方向法线。再通过图像获取模块133获取用于为上述平面模型提供色值的图像,从而根据上述图像上与上述关键点对应的像素点的色值,确定上述关键点的色值,以通过信息确定模块134根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息,并通过生成模块135控制上述关键点根据上述高度偏移信息沿着上述法线偏移,生成上述平面模型对应的山体地形模型,从而通过设计关键点间连线的方式,不仅可以得到山体地形模型的结构,避免了人工设计山体地形模型所花费的时间,而且还可基于关键点的色值自动生成对应结构的山体地形模型,减少了人工构建山体地形模型所花费的时间,进而整体上提高了山体地形模型的生成效率。

相应的,本申请实施例还提供一种电子设备,该电子设备可以为终端,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,PersonalComputer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图14所示,图14为本申请实施例提供的电子设备的结构示意图。该电子设备140包括有一个或者一个以上处理核心的处理器141、有一个或一个以上计算机可读存储介质的存储器142及存储在存储器142上并可在处理器上运行的计算机程序。其中,处理器141与存储器142电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

处理器141是电子设备140的控制中心,利用各种接口和线路连接整个电子设备140的各个部分,通过运行或加载存储在存储器142内的软件程序和/或模块,以及调用存储在存储器142内的数据,执行电子设备140的各种功能和处理数据,从而对电子设备140进行整体监控。

在本申请实施例中,电子设备140中的处理器141会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器142中,并由处理器141来运行存储在存储器142中的应用程序,从而实现各种功能:

获取待生成山体地形的平面模型,在上述平面模型上设置关键点;

根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,得到网格状的山体地形平面图,其中,上述山体地形平面图中每一关键点具有同一法线方向法线;

获取用于为上述平面模型提供色值的图像,根据上述图像上与上述关键点对应的像素点的色值,确定上述关键点的色值;

根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息;

控制上述关键点根据上述高度偏移信息沿着上述法线偏移,生成上述平面模型对应的山体地形模型。

在一些实施例中,上述根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,包括:

根据上述关键点在上述平面模型上的位置,确定分布在边缘的边缘关键点;

将每一边缘关键点均与上述平面模型的四个顶点连接,并将相邻的边缘关键点之间进行连线;

根据上述关键点中的非边缘关键点与其周围的关键点之间的距离,确定每一非边缘关键点对应的满足距离条件的关键点,并将每一非边缘关键点与满足距离条件的关键点进行连线。

在一些实施例中,上述根据上述关键点中的非边缘关键点与其周围的关键点之间的距离,确定每一非边缘关键点对应的满足距离条件的关键点,包括:

根据上述非边缘关键点与其周围的关键点之间的距离,将与上述非边缘关键点之间没有连线的,且距离最近的预设数量的关键点确定为满足上述距离条件的关键点。

在一些实施例中,上述根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息,包括:

根据预设的映射关系确定上述关键点的色值对应的高度偏移信息,上述映射关系为关键点的色值与山体地形模型的高度之间的映射关系。

在一些实施例中,在生成上述平面模型对应的山体地形模型之后,还包括:

确定上述山体地形模型中由关键点和/或平面模型的顶点组成的每一个面,根据每一个面对应的关键点和/或平面模型的顶点的色值确定每一个面的色值;

根据上述山体地形模型上各个面的色值为上述山体地形模型的各个面赋予颜色。

在一些实施例中,在生成上述平面模型对应的山体地形模型之后,还包括:

确定上述山体地形模型中处于低洼处的顶点,根据上述处于低洼处的顶点确定上述处于低洼处的顶点对应的低洼面,上述低洼面为上述低洼处的临界边组成的面;

为上述低洼面赋予预设颜色,并将赋予颜色后的低洼面向下偏移预设距离。

在一些实施例中,上述根据上述处于低洼处的顶点确定上述处于低洼处的顶点对应的低洼面,包括:

根据上述山体地形模型中处于低洼处的顶点,确定上述山体地形模型中与上述顶点连接的地形线条;

确定每一上述地形线条的另一个端点连接形成的环边,将上述环边所围成的平面确定为上述处于低洼处的顶点对应的低洼面。

由此,本实施例提供的电子设备140可以带来如下技术效果:提高山体地形模型的生成效率。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

可选的,如图14所示,电子设备140还包括:触控显示屏143、射频电路144、音频电路145、输入单元146以及电源147。其中,处理器141分别与触控显示屏143、射频电路144、音频电路145、输入单元146以及电源147电性连接。本领域技术人员可以理解,图14中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

触控显示屏143可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏143可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器141,并能接收处理器141发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器141以确定触摸事件的类型,随后处理器141根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏143而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏143也可以作为输入单元146的一部分实现输入功能。

射频电路144可用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。

音频电路145可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。音频电路145可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路145接收后转换为音频数据,再将音频数据输出处理器141处理后,经射频电路144以发送给比如另一电子设备,或者将音频数据输出至存储器142以便进一步处理。音频电路145还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。

输入单元146可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

电源147用于给电子设备140的各个部件供电。可选的,电源147可以通过电源管理系统与处理器141逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源147还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管图14中未示出,电子设备140还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种山体地形生成方法中的步骤。例如,该计算机程序可以执行如下步骤:

获取待生成山体地形的平面模型,在上述平面模型上设置关键点;

根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,得到网格状的山体地形平面图,其中,上述山体地形平面图中每一关键点具有同一法线方向法线;

获取用于为上述平面模型提供色值的图像,根据上述图像上与上述关键点对应的像素点的色值,确定上述关键点的色值;

根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息;

控制上述关键点根据上述高度偏移信息沿着上述法线偏移,生成上述平面模型对应的山体地形模型。

在一些实施例中,上述根据上述关键点在上述平面模型上的位置,在上述关键点和上述平面模型的四个顶点之间,以及上述关键点之间进行连线,包括:

根据上述关键点在上述平面模型上的位置,确定分布在边缘的边缘关键点;

将每一边缘关键点均与上述平面模型的四个顶点连接,并将相邻的边缘关键点之间进行连线;

根据上述关键点中的非边缘关键点与其周围的关键点之间的距离,确定每一非边缘关键点对应的满足距离条件的关键点,并将每一非边缘关键点与满足距离条件的关键点进行连线。

在一些实施例中,上述根据上述关键点中的非边缘关键点与其周围的关键点之间的距离,确定每一非边缘关键点对应的满足距离条件的关键点,包括:

根据上述非边缘关键点与其周围的关键点之间的距离,将与上述非边缘关键点之间没有连线的,且距离最近的预设数量的关键点确定为满足上述距离条件的关键点。

在一些实施例中,上述根据上述关键点的色值确定上述关键点在上述法线方向上的高度偏移信息,包括:

根据预设的映射关系确定上述关键点的色值对应的高度偏移信息,上述映射关系为关键点的色值与山体地形模型的高度之间的映射关系。

在一些实施例中,在生成上述平面模型对应的山体地形模型之后,还包括:

确定上述山体地形模型中由关键点和/或平面模型的顶点组成的每一个面,根据每一个面对应的关键点和/或平面模型的顶点的色值确定每一个面的色值;

根据上述山体地形模型上各个面的色值为上述山体地形模型的各个面赋予颜色。

在一些实施例中,在生成上述平面模型对应的山体地形模型之后,还包括:

确定上述山体地形模型中处于低洼处的顶点,根据上述处于低洼处的顶点确定上述处于低洼处的顶点对应的低洼面,上述低洼面为上述低洼处的临界边组成的面;

为上述低洼面赋予预设颜色,并将赋予颜色后的低洼面向下偏移预设距离。

在一些实施例中,上述根据上述处于低洼处的顶点确定上述处于低洼处的顶点对应的低洼面,包括:

根据上述山体地形模型中处于低洼处的顶点,确定上述山体地形模型中与上述顶点连接的地形线条;

确定每一上述地形线条的另一个端点连接形成的环边,将上述环边所围成的平面确定为上述处于低洼处的顶点对应的低洼面。

可见,计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种山体地形生成方法中的步骤,从而带来如下技术效果:提高山体地形模型的生成效率。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种山体地形生成方法中的步骤,因此,可以实现本申请实施例所提供的任一种山体地形生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种山体地形生成方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

技术分类

06120115687628