生成球体模型的方法及装置与流程

文档序号:20033864发布日期:2020-02-28 10:48阅读:451来源:国知局
生成球体模型的方法及装置与流程

本发明涉及游戏技术领域,具体而言,涉及一种生成球体模型的方法及装置。



背景技术:

由于移动设备的性能相对于电脑而言,运行效率十分有限,如果无法有效节省性能开销,则会使移动设备的运行状态收到影响,具体后果可能会产生卡顿、应用崩溃等。而在移动设备上实现一个星球效果,则会面临一个呈现效果优劣与设备性能开销高低的取舍问题。在移动设备上,现有的运行效率较高的星球效果实现方法为如下几种:使用一张纹理贴图对应得到一个球体模型;使用一张纹理贴图和一张法线或高度贴图对应得到一个球体模型;使用两张以上的纹理贴图和两张以上的法线或高度贴图结合,对应得到一个球体模型。

以上方案在现阶段移动设备上的运行效率已经得到过验证,但是其效果对比如下:第一种效果最差,只有颜色纹理,没有任何高度和阴影细节。第二种效果一般,有颜色纹理和高度阴影细节,但是细节程度取决于使用的贴图精度,精度越高则性能开销越高。第三种效果相对前两种更好,可以拥有更多的颜色纹理和高度阴影细节,但是因为使用了额外的贴图,如果提高贴图精度则性能开销会成倍增长。

传统星球模型的生成方法都只能针对一个星球的效果实现,如需要制作多种多样的星球,就需要更换更多的贴图,而随着贴图的增多,移动设备中程序应用的包体大小和运行效率就会更差,随着移动设备用户对画面效果的需求日益提高,现有的低质量的星球模型的生成方案已难以满足高画面效果的移动设备应用开发需求。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种生成球体模型的方法及装置,以至少解决由于现有的移动设备在生成星球模型时效率较低,导致移动设备中的星球展示效果与运行效率无法兼容的技术问题。

根据本发明实施例的一个方面,提供了一种生成球体模型的方法,包括:获取预先确定的地貌细节图和随机数;依据上述随机数随机指定目标球体模型的地貌细节分布值;基于上述地貌细节图和上述地貌细节分布值生成多个上述目标球体模型,其中,多个目标球体模型的地貌细节不同。

根据本发明实施例的另一方面,还提供了一种生成球体模型的装置,包括:获取模块,用于获取预先确定的地貌细节图和随机数;指定模块,用于依据上述随机数随机指定目标球体模型的地貌细节分布值;生成模块,用于基于上述地貌细节图和上述地貌细节分布值生成多个上述目标球体模型,其中,多个目标球体模型的地貌细节不同。

根据本发明实施例的另一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行任意一项上述的生成球体模型的方法。

根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行任意一项上述的生成球体模型的方法。

在本发明实施例中,通过获取预先确定的地貌细节图和随机数;依据上述随机数随机指定目标球体模型的地貌细节分布值;基于上述地貌细节图和上述地貌细节分布值生成多个上述目标球体模型,其中,多个目标球体模型的地貌细节不同,达到了提高移动设备生成星球模型时的生成效率的目的,从而实现了兼容移动设备中的星球展示效果与运行效率的技术效果,进而解决了由于现有的移动设备在生成星球模型时效率较低,导致移动设备中的星球展示效果与运行效率无法兼容的技术问题。

附图说明

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

图1是根据本发明实施例的一种生成球体模型的方法的流程图;

图2是根据本发明实施例的一种可选的生成球体模型的方法的流程图;

图3是根据本发明实施例的一种可选的生成球体模型的方法的流程图;

图4是根据本发明实施例的一种生成球体模型的装置的结构示意图。

具体实施方式

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

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

实施例1

根据本发明实施例,提供了一种生成球体模型的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种生成球体模型的方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,获取预先确定的地貌细节图和随机数;

步骤s104,依据上述随机数随机指定目标球体模型的地貌细节分布值;

步骤s106,基于上述地貌细节图和上述地貌细节分布值生成多个上述目标球体模型,其中,多个目标球体模型的地貌细节不同。

在本发明实施例中,通过获取预先确定的地貌细节图和随机数;依据上述随机数随机指定目标球体模型的地貌细节分布值;基于上述地貌细节图和上述地貌细节分布值生成多个上述目标球体模型,其中,多个目标球体模型的地貌细节不同,达到了提高移动设备生成星球模型时的生成效率的目的,从而实现了兼容移动设备中的星球展示效果与运行效率的技术效果,进而解决了由于现有的移动设备在生成星球模型时效率较低,导致移动设备中的星球展示效果与运行效率无法兼容的技术问题。

需要说明的是,本申请实施例可以但不限于应用在移动设备中,在本申请实施例中可以通过一张地貌细节图和随机数生成不重复地形的星球模型,所有星球模型可以共用一张贴图,从而大幅度降低移动设备中程序的包体大小和读取贴图的性能消耗。可以解决由于现有的移动设备在生成星球模型时效率较低,导致移动设备中的星球展示效果与运行效率无法兼容的技术问题,从而在移动设备性能不够的情况下达到地面细节的多样性,生成大量形态各异的星球模型。

在一种可选的实施例中,通过一张细节图和两张高度图及随机数决定随机的星球地表细节分布,并可以自定义随机地表的分辨率,从而达到多个星球使用同样贴图而外观不重复。通过对高度图的uv纹理贴图坐标的缩放,可以理解为对一张图按uv坐标方向重复绘制,然后整体缩放其大小达到控制地表分辨率的功能。

在本申请实施例中,通过预先确定的随机数随机指定目标球体模型的地貌细节分布值,随机生成目标球体模型的地表,有效节省了制作新的星球替换颜色纹理、法线或高度图而产生的额外贴图消耗。相比传统的生成方法,本申请方案通过调整合适的生成地形分辨率,使用同样精度的贴图可以在效果上有显著的提升。

在一种可选的实施例中,在获取预先确定的地貌细节图和随机数之前,上述方法还包括:

步骤s202,获取预先确定的地貌高度图;

步骤s204,依据上述地貌高度图确定上述目标球体模型的地貌高度分布值;

步骤s206,依据上述地貌高度分布值确定上述随机数。

可选的,上述地貌高度图用于生成星球地表高度分布,影响海平面、高原、洼地等,具体的,通过读取两张高度图的地貌高度分布值,用数学运算(加减乘除等)叠加后,应用到目标球体模型的地形高度上。

在上述可选的实施例中,通过依据上述地貌高度图读取得到目标球体模型的地貌高度分布值,再依据目标球体模型的地貌高度分布值使用地貌细节图,例如,低洼地带使用植被细节,中等高度使用泥土细节,高处地带使用山脉细节。

可选的,上述地貌细节图用于生成星球地貌细节,如植被、荒漠、山脉、雪地、熔岩等。

需要说明的是,地貌高度图和地貌细节图都是由美术绘制,绘制时并不存在先后顺序,但是使用时是先计算地貌高度分布值,再基于地貌高度分布值和地貌细节图绘制目标球体模型的地表细节。

在一种可选的实施例中,上述地貌高度图包括:第一高度贴图和第二高度贴图,图2是根据本发明实施例的一种可选的生成球体模型的方法的流程图,如图2所示,通过以下方式确定上述随机数:

步骤s302,获取第一高度贴图中的第一数值和第二高度贴图中的第二数值;

步骤s304,通过对上述第一数值和上述第二数值进行叠加得到上述随机数。

在一种可选的实施例中,通过以下至少之一的运算方式对第一数值和第二数值进行叠加:相加、相减、相乘、相除、同比取最大值、同比取最小值。

一种可选的实施例,地貌高度图的通道信息分为黑白两色,黑色可以理解为数值0,白色为1。第一高度贴图和第二高度贴图的叠加方法可以有很多种:比如相加、相减、同比取最大、同比取最小等方式,可选的,地貌高度分布值使用的是叠加后的0至1的值,海平面为人工自定义的一个值范围,例如,0.5,如果高于0.5的值即为海平面以上,反之则在海平面之下。

通过对第一高度贴图和第二高度贴图进行叠加,可以得到更随机化的多变的高度信息,相比较只使用一张图而言,增加很多可变因素,最终通过控制这些可变因素来做出差异化,使得每次都能得到不一样的目标球体模型。

在一种可选的实施例中,基于上述地貌细节图和上述地貌细节分布值生成多个上述目标球体模型,包括:

步骤s402,依据上述地貌细节图和上述地貌细节分布值生成上述目标球体模型的地貌,其中,上述地貌包括以下至少之一:植被、荒漠、山脉、雪地、熔岩。

在一种可选的实施例中,图3是根据本发明实施例的一种可选的生成球体模型的方法的流程图,如图3所示,基于上述地貌细节图和上述地貌细节分布值生成多个上述目标球体模型之后,上述方法还包括:

步骤s502,获取上述目标球体模型的大气圈模型的大气参数;

步骤s504,依据上述大气参数确定上述大气圈模型的展示状态信息。

本申请实施例中通过模拟真实大气的折射和散射效果,拥有区别于常规的贴图制作的大气的更好的效果,并且可以根据用户观察行星的角度和高度产生真实的大气效果变化。

并且,在本申请实施例中,基于物理计算的大气层,可以更真实的模拟从外太空观察带有大气的行星效果,在不同的观察角度产生不同的折射和散射变化,并且根据大气变化影响星球表面的呈现效果。而传统的贴图制作方法,只能使用固定的贴图模拟大气效果,其效果差强人意而且无法做到随观察角度变化而变化。

通过使用可动态调节的随机地表分辨率,使目标球体模型可以根据观察者的距离保证合格的画面效果时同样保证最低的设备性能消耗。无需考虑因为贴图过大而消耗过高或者贴图过小画面不够精致的问题。

在一种可选的实施例中,上述大气参数包括:大气厚度信息;获取上述目标球体模型的大气圈模型的大气参数,包括:

步骤s602,获取上述目标球体模型的中心位置信息;

步骤s604,基于上述中心位置信息确定上述目标球体模型的地表半径信息和大气半径信息;

步骤s606,依据上述地表半径信息和上述大气半径信息,确定上述大气圈模型的大气厚度信息。

在本申请实施例中,通过获得目标球体模型的中心位置信息(可选的,该目标球体模型的中心位置可以在制作目标球体模型的时指定,通常而言为三维坐标系的(0,0,0)的位置),并计算对应地表半径和大气半径长度,通过将大气半径减去地表半径可最终获得大气厚度,其中,地表半径等于地表上任意一点的位置减去目标球体模型的中心位置所得的向量的模。

其中,目标球体模型的大气最外圈任意一点减去目标球体模型的中心位置可以得到向量a的模,向量a的模减去地表半径即是大气相对于地表的厚度。

本申请实施例通过真实物理原理计算的大气各项系数用于调整大气圈的状态,无需任何贴图,并且效果自然合理。

在一种可选的实施例中,上述大气参数还包括:除上述大气厚度信息之外的其他大气参数;在确定上述大气圈模型的大气厚度信息之后,上述方法还包括:

步骤s702,获取上述目标球体模型的地表面与目标对象的相对距离,以及上述目标球体模型与目标光源的相对方向,其中,上述大气圈模型朝向上述目标对象;

步骤s704,依据上述相对距离和上述相对方向确定上述其他大气参数,上述其他大气参数包括以下至少之一:大气密度信息、大气高度信息、大气亮度信息、大气颜色信息、大气透明度信息。

可选的,上述目标对象为摄像机,或者摄像人员(观察目标球体模型的人员),通过计算出摄像机到星球地表的距离和目标球体模型与目标光源的相对方向,可以依据上述相对距离和上述相对方向确定上述其他大气参数。并且,大气环模型永远朝向摄像机。

作为一种可选的实施例,上述相对距离的计算过程为:获取观察摄像机的位置p0,获取星球地表任意一点的位置p1,再将两者相减(p0-p1或者p1-p0)得到向量,该向量的模便是摄像机与星球地表的相对距离。

可选的,在得到相对距离和相对方向之后,再通过预设参数(大气密度、高度、颜色等)和相关计算,获得最终应该显示的大气模型顶点信息和其他大气参数(浓度、亮度等)。

实施例2

根据本发明实施例,还提供了一种用于实施上述生成球体模型的方法的装置实施例,图4是根据本发明实施例的一种生成球体模型的装置的结构示意图,如图4所示,上述生成球体模型的装置,包括:获取模块40、指定模块42和生成模块44,其中:

获取模块40,用于获取预先确定的地貌细节图和随机数;指定模块42,用于依据上述随机数随机指定目标球体模型的地貌细节分布值;生成模块44,用于基于上述地貌细节图和上述地貌细节分布值生成多个上述目标球体模型,其中,多个目标球体模型的地貌细节不同。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。

此处需要说明的是,上述获取模块40、指定模块42和生成模块44对应于实施例1中的步骤s102至步骤s106,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。

需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。

上述的生成球体模型的装置还可以包括处理器和存储器,上述获取模块40、指定模块42和生成模块44等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

根据本申请实施例,还提供了一种存储介质实施例。可选地,在本实施例中,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行上述任意一种生成球体模型的方法。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述存储介质包括存储的程序。

可选地,在程序运行时控制存储介质所在设备执行以下功能:获取预先确定的地貌细节图和随机数;依据上述随机数随机指定目标球体模型的地貌细节分布值;基于上述地貌细节图和上述地貌细节分布值生成多个上述目标球体模型,其中,多个目标球体模型的地貌细节不同。

根据本申请实施例,还提供了一种处理器实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种生成球体模型的方法。

本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取预先确定的地貌细节图和随机数;依据上述随机数随机指定目标球体模型的地貌细节分布值;基于上述地貌细节图和上述地貌细节分布值生成多个上述目标球体模型,其中,多个目标球体模型的地貌细节不同。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取预先确定的地貌细节图和随机数;依据上述随机数随机指定目标球体模型的地貌细节分布值;基于上述地貌细节图和上述地貌细节分布值生成多个上述目标球体模型,其中,多个目标球体模型的地貌细节不同。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

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

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1