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

一种球体渲染方法、装置、计算机设备和存储介质

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


一种球体渲染方法、装置、计算机设备和存储介质

技术领域

本发明涉及渲染技术领域,具体涉及一种球体渲染方法、装置、计算机设备和存储介质。

背景技术

在一些游戏或电影的场景中,星球、灯球等球体是场景中经常出现的气氛元素。目前在制作球体时,一般都是使用经纬球体模型进行UV平展,将长方形的贴图平铺在球体模型上。

但是,使用这种直接平展的方案,在渲染后的球体上,会出现上下极点的UV严重拉伸,影响渲染后球体的显示效果。

发明内容

本发明实施例提供一种球体渲染方法、装置、计算机设备和存储介质,可以避免在渲染球体时会产生的球体极点处的UV拉伸的问题,提升了球体的渲染效果,改善用户的视觉体验。

本发明实施例提供一种球体渲染方法,包括:

获取待渲染的球体模型以及球体表面遮罩图;

根据所述球体模型的法线朝向信息,确定所述球体模型中的球体极点;

基于所述球体极点,确定所述球体模型的极点投射区域以及非极点贴图区域;

通过物体投射方式,将所述球体表面遮罩图向所述极点投射区域进行投射,以及,通过UV贴图展平方式,将所述球体表面遮罩图平铺到所述非极点贴图区域,得到渲染后的球体模型。

相应的,本发明实施例还提供一种球体渲染装置,包括:

模型获取单元,用于获取待渲染的球体模型以及球体表面遮罩图;

极点确定单元,用于根据所述球体模型的法线朝向信息,确定所述球体模型中的球体极点;

区域确定单元,用于基于所述球体极点,确定所述球体模型的极点投射区域以及非极点贴图区域;

模型渲染单元,用于通过物体投射方式,将所述球体表面遮罩图向所述极点投射区域进行投射,以及,通过UV贴图展平方式,将所述球体表面遮罩图平铺到所述非极点贴图区域,得到渲染后的球体模型。

相应的,本发明实施例还提供一种计算机设备,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行本发明实施例所提供的任一种球体渲染方法中的步骤。

相应的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种球体渲染方法中的步骤。

此外,本发明实施例还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本发明实施例所提供的任一种球体渲染方法中的步骤。

采用本发明实施例的方案,可以获取待渲染的球体模型以及球体表面遮罩图,根据该球体模型的法线朝向信息,确定该球体模型中的球体极点,基于该球体极点,确定该球体模型的极点投射区域以及非极点贴图区域,通过物体投射方式,将该球体表面遮罩图向该极点投射区域进行投射,以及,通过UV贴图展平方式,将该球体表面遮罩图平铺到该非极点贴图区域,得到渲染后的球体模型;由于在本发明实施例中,对于使用UV贴图展平方式进行平铺渲染会导致UV拉伸的极点投射区域采用了投射的方式进行渲染,因此,可以避免在渲染球体时会产生的球体极点处的UV拉伸的问题,提升了球体的渲染效果,改善用户的视觉体验。

附图说明

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

图1是本发明实施例提供的球体渲染方法的场景示意图;

图2是本发明实施例提供的球体渲染方法的流程图;

图3是本发明实施例提供的球体模型的示意图;

图4是本发明实施例提供的发生UV拉伸问题的渲染后的球体模型的示意图;

图5是本发明实施例提供的颜色通道分离后的球体模型的示意图;

图6是本发明实施例提供的在B通道下的球体模型的示意图;

图7是本发明实施例提供的调整初始极点区域后的球体模型的示意图;

图8是本发明实施例提供的固态属性的球体生成过程示意图

图9是本发明实施例提供的气态属性的球体生成过程示意图;

图10是本发明实施例提供的纯液态属性的球体生成过程示意图;

图11是本发明实施例提供的固态属性和液态属性混合的球体生成过程示意图;

图12是本发明实施例提供的熔岩属性的球体生成过程示意图;

图13是本发明实施例提供的球体渲染方法的另一流程图;

图14是本发明实施例提供的球体渲染方法的技术实现示意图;

图15是本发明实施例提供的球体渲染装置的结构示意图;

图16是本发明实施例提供的球体渲染装置的另一结构示意图;

图17是本发明实施例提供的计算机设备的结构示意图。

具体实施方式

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

本发明实施例提供一种球体渲染方法、装置、计算机设备和计算机可读存储介质。具体地,本发明实施例提供适用于球体渲染装置的球体渲染方法,该球体渲染装置可以集成在计算机设备中。

该计算机设备可以为终端等设备,包括但不限于移动终端和固定终端,例如移动终端包括但不限于智能手机、智能手表、平板电脑、笔记本电脑、智能车载等,其中,固定终端包括但不限于台式电脑、智能电视等。

该计算机设备还可以为服务器等设备,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。

本发明实施例的球体渲染方法,可以通过渲染引擎实现。具体的,渲染引擎可以设置在服务器中,也可以设置在终端中。

下面以终端和服务器共同实现该球体渲染方法为例,对该方法进行说明。

如图1所示,本发明实施例提供的球体渲染系统包括终端10和服务器20等;终端10与服务器20之间通过网络连接,比如,通过有线或无线网络连接等,其中,服务器20可以作为存储有待渲染的球体模型和/或球体表面遮罩图的计算机设备存在。

其中,服务器20可以将待渲染的球体模型以及球体表面遮罩图发送给终端10。

终端10中可以设置有渲染引擎,可以用于获取待渲染的球体模型以及球体表面遮罩图,根据球体模型的法线朝向信息,确定球体模型中的球体极点,基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域,通过物体投射方式,将球体表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将球体表面遮罩图平铺到非极点贴图区域,得到渲染后的球体模型。

可选的,终端10还可以获取球体模型对应的球体属性,若球体属性为纯固态属性,获取第一纹理贴图和第一颜色贴图,将第一纹理贴图的纹理融合到第一颜色贴图中,得到球体表面遮罩图,若球体属性为纯气态属性,获取第二纹理贴图、第二颜色贴图和向量纹理贴图,将第二纹理贴图的纹理融合到第二颜色贴图中得到彩色纹理贴图,将彩色纹理贴图和向量纹理贴图进行融合,得到球体表面遮罩图,若球体属性中包括液态属性,获取高度贴图,基于高度贴图生成球体表面遮罩图。

可以理解的是,在一些实施例中,待渲染的球体模型以及球体表面遮罩图可以存储在终端10中。或者,终端10执行的球体渲染的步骤也可以由服务器20执行,服务器20得到渲染后的球体模型,可以将渲染后的球体模型发送给终端10,本发明实施例对此不做限定。

在另一些实施例中,服务器20执行的生成球体表面遮罩图的步骤也可以由终端10执行,本发明实施例对此不做限定。

以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。

本发明实施例将从球体渲染装置的角度进行描述,该球体渲染装置具体可以集成在服务器或终端中。

如图2所示,本实施例的球体渲染方法的具体流程可以如下:

201、获取待渲染的球体模型以及球体表面遮罩图。

一般的,在游戏、电影等场景下,如果要表现出球体这一元素,可以是预先构建球体模型,在需要显示球体时对该模型进行渲染,以实现球体的效果。

球体模型可以是3D模型的形式,3D模型为物体表面在三个维度的数学表现。

具体的,球体表面遮罩图为可以表现出球体自身特性的贴图。比如,球体表面遮罩图可以表现球体的材质属性(例如球体可以是固态的球体,或者是气态的球体等等)。再比如,如果要通过球体模型表现星球这一元素,则球体表面遮罩图还可以表现出星球的大气层、云层和地表之间的空间关系等等。

202、根据球体模型的法线朝向信息,确定球体模型中的球体极点。

在本发明实施例中,球体模型中可以包括预设的法线信息。比如,开发人员可以通过在普通的球体模型上添加法线,使得添加了法线后的球体模型(即球体模型)具有经纬度的特点。

如图3所示,可以通过法线与球体模型的组合,表现出一个具有经纬线的球体模型。

其中,法线朝向信息为球体模型中各个法线的朝向信息,即任一法线在绣球模型上任一位置的指向信息。

具体的,球体极点可以是球体上任一个圆的轴的两端或者两端之一。比如,球体极点可以为球体模型上若干条法线汇合或者分散得到的点。球体模型中的球体极点的数量和球体极点在球体模型中的位置可以由开发人员根据物理知识及显示需求进行设置,本发明实施例对此不作限定。

以地球为例,地球的经纬度具有经线由南北极点分别向四周发散等特性,因此,球体模型中的法线可以体现出若干条法线从同一点出发指向不同方向的特点,此时,可以根据各个法线的法线朝向,确定球体模型中的球体极点。

203、基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域。

其中,极点投射区域为球体模型中极点以及极点附近的一部分区域构成的区域。非极点贴图区域为球体模型中除极点投射区域之外的区域。

需要说明的是,极点投射区域的形状和尺寸可以是任意的,开发人员可以根据实际需求自行进行设定。

在实际应用过程中,如果直接使用球体模型的UV进行平展贴图,由于球体极点附近区域通过法线构建的经线和纬线较为密集,容易在球体极点处出现UV拉伸的问题。

如图4所示,即为出现了UV拉伸问题的渲染后的球体模型的示意图。

在本发明实施例中,申请人为了避免渲染后的球体模型出现UV拉伸问题,对极点投射区域以及非极点贴图区域采用不同的渲染方式,以避免UV拉伸问题的出现。

具体的,在确定极点投射区域和非极点贴图区域时,可以对球体模型进行初步的分割,进一步对分割后的区域进行调整,得到极点投射区域和非极点贴图区域。步骤“基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域”,具体可以包括:

对球体模型进行颜色通道分离,得到一颜色通道下的球体模型中各球体极点对应的初始极点区域;

将各初始极点区域的颜色调整为目标颜色,修改球体模型中目标颜色的颜色位置,得到球体模型的极点投射区域;

将球体模型中极点投射区域以外的区域作为非极点贴图区域。

其中,通过颜色通道分离的过程,可以将球体模型的信息拆分为R通道信息、G通道信息和B通道信息。可选的,法线朝向信息中可以包括法线的前后、左右和上下朝向信息,通过颜色通道分离,可以将法线的前后、左右和上下朝向信息分别拆分到R通道、G通道和B通道中。

例如,颜色通道分离后的球体模型可以如图5所示。以球体模型包括上下极点且上下朝向信息被分离在B通道中为例,可以提取B通道信息,得到被划分为如图6所示的在B通道下的球体模型。

其中初始极点区域可以如图6除黑色区域之外的区域所示。

为了便于同时对多个初始极点区域进行控制,可以将各个初始极点区域的颜色调整为目标颜色。例如,可以通过绝对值处理,将初始极点区域的颜色均设置为白色。

可以理解的是,修改目标颜色的颜色位置,也就是修改了初始极点区域的位置。通过对目标颜色的颜色位置的调整,可以相应的调整初始极点区域的位置。调整后的初始极点区域,即为球体模型的极点投射区域。

例如,通过修改目标颜色的颜色位置,可以将初始极点区域从如图6所示调整为如图7所示的区域。

204、通过物体投射方式,将球体表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将球体表面遮罩图平铺到非极点贴图区域,得到渲染后的球体模型。

具体的,对于极点投射区域,可以通过物体投射方式,将球体表面遮罩图的部分内容投影到极点投射区域中。

其中,物体投射指的是以特定的物体形状,将贴图的纹理投射到模型上的方式。例如,在投射时可以采用平面投影或者球形投影等方式,将球体表面遮罩图的纹理投射到极点投射区域中。

例如,以平面投影方式为例,可以是将球体表面遮罩图沿模型空间的x、y或z轴直接投影到物体(即球体模型的极点投射区域)。

其中,UV贴图展平指的是将球体表面遮罩图(即贴图)根据球体模型的UV,将球体表面遮罩图的像素与球体模型的UV对应起来。一般的,根据球体表面遮罩图的UV可以将图像上每一个点精确对应到模型物体的表面,在点与点之间的间隙位置可以由软件进行图像光滑插值处理。

在本发明实施例中,由于采用的是投射的方式,因此,极点投射区域显示的投影内容,与极点投射区域的UV无关,不会产生UV极点拉伸的问题。

相关技术中,由于在渲染球体时需要采用UV贴图平展,所以渲染得到的球体近看精度很低,难以达到高品质美术效果,如果要制作大量的球体,就要制作大量的球体贴图,人力成本和游戏包体就会爆炸。

因此,在本发明实施例中,可以通过少量的贴图资源,使用球体系统混合方式来实现无数种球体的效果。具体的,可以根据不同球体的属性对不同类型的贴图进行处理,得到球体对应的球体表面遮罩图。也就是说,步骤“获取待渲染的球体模型以及球体表面遮罩图”之前,本发明实施例提供的球体渲染方法还可以包括:

获取球体模型对应的球体属性;

若球体属性为纯固态属性,获取第一纹理贴图和第一颜色贴图,将第一纹理贴图的纹理融合到第一颜色贴图中,得到球体表面遮罩图;

若球体属性为纯气态属性,获取第二纹理贴图、第二颜色贴图和向量纹理贴图,将第二纹理贴图的纹理融合到第二颜色贴图中得到彩色纹理贴图;

将彩色纹理贴图和向量纹理贴图进行融合,得到球体表面遮罩图;

若球体属性中包括液态属性,获取高度贴图,基于高度贴图生成球体表面遮罩图。

其中,球体属性指的是球体可以是纯固态的球体、纯液态的球体、纯气态的球体、固态和液态混合构成的球体等球体自身具有的物理状态属性。

以游戏为例,科幻游戏中星球是场景不可缺少的气氛元素,宇宙里面有数量庞大的人类未知星球,想要表现出上万上亿颗星球,这些星球的资源制作和对游戏的性能开销成了要攻克的主要问题,在游戏里面为了能给玩家带来有冲击感的视觉效果,观看星球要有足够近的距离,能清晰的看见大气层、云层和地表之间的空间关系,游戏想要实现这种效果是很困难的,需要耗费大量的计算资源。

因此,在本发明实施例中可以将星球视为一种球体,基于球体模型和少量的贴图资源,生成大量物理属性、外观存在差异的星球。

再例如,各类灯球、圆形水果等均可以视为球体进行渲染得到。

其中,在生成纯固态属性的球体时,可以将纹理图中的纹理融合到颜色贴图中。例如,如图8所示,纯固态属性的球体只要做出球体表面四方连续的材质纹理黑白图,把黑白图合成到颜色贴图的RGB中,配合球体系统可生成无数种固态球体。

可选的,第一纹理贴图可以是黑白纹理图,或者,也可以是任意颜色的纹理图,本发明实施例对此不作限定。第一纹理贴图中的纹理可以是美术人员绘制的,也可以是基于噪波原理随机生成的。

其中,在生成纯气态属性的球体时,可以将纹理图中的纹理融合到颜色贴图中,得到彩色纹理贴图后,再通过向量纹理贴图,表现出气态球体表面的气体流动效果。

具体的,向量纹理贴图可以是记录了向量场信息的纹理贴图。例如,向量纹理贴图可以是FlowMap贴图。

例如,如图9所示,气态球体资源可以基于第二纹理贴图和第二颜色贴图做成一张带颜色的纹理图(即彩色纹理贴图),再在带颜色的纹理图的基础上融合一张FlowMap贴图,可以让气态产生流程效果。

可选的,第二纹理贴图可以是黑白纹理图,或者,也可以是任意颜色的纹理图,本发明实施例对此不作限定。第二纹理贴图中的纹理可以是美术人员绘制的,也可以是基于噪波原理随机生成的。

需要说明的是,第一纹理贴图和第二纹理贴图可以相同,也可以不同;第一颜色贴图和第二颜色贴图的颜色可以相同,也可以不同。

在本发明实施例中,球体可以是纯液态属性,高度贴图中可以包括至少两个颜色不同的贴图区域,各贴图区域的颜色值基于贴图区域的高度值得到。不同高度值的颜色值不同,可以表现出水的不同深度。

例如,纯液态属性的球体可以用合适的高度图mask进行着色实现水面的深浅。例如,纯液态属性的球体的渲染过程可以如图10所示。

在另一些可选的实施例中,如果球体是由固态物质和液态物质构成的,步骤“若球体属性中包括液态属性,获取高度贴图,基于高度贴图生成球体表面遮罩图”,具体可以包括:

若球体属性包括液态属性和固态属性,获取高度贴图、第一纹理贴图和第一颜色贴图,将第一纹理贴图的纹理融合到第一颜色贴图中,得到固态贴图;

将高度贴图与固态贴图进行融合,得到球体表面遮罩图。

也就是说,固态液态混合,可以制作一张高度图,用高度图混合产生随机的mask,使用mask可以表现出固态区域和液态区域的划分,比如可以展现星球中陆地和水面的划分。例如,包含固态属性和液态属性混合的球体的生成过程可以如图11所示。

可选的,为了实现某种悬浮物在球体表面运动的效果,例如云相对陆地的运动效果,表现出来悬浮物与球体中固态区域或者液态区域之间的运动关系和空间层次,本发明实施例提供的球体渲染方法还可以包括:

获取悬浮物贴图。

具体的,悬浮物贴图为包含了悬浮物图形的图像,本发明实施例对悬浮物图形的种类、颜色、形状等均不作限制。

例如,悬浮物贴图可以是包含云朵图形的贴图图像。

相应的,步骤“将高度贴图与固态贴图进行融合,得到球体表面遮罩图”,具体可以包括:

将高度贴图、固态贴图和悬浮物贴图进行融合,得到球体表面遮罩图。

例如,如图8所示,制作一张高度图,用高度图混合产生随机的mask,使用mask可以表现出固态区域和液态区域的划分,再通过融合悬浮物贴图以添加单独的悬浮效果,可以实现悬浮物相对于球体中固态区域和/或液态区域发生运动的效果。

比如,用高度图混合产生随机的mask,使用mask可以表现出星球的陆地和水面的划分,当悬浮物贴图为云朵贴图时,可以通过融合云朵贴图,实现云朵相对于陆地和水面发生运动的效果。

在一些可选的实施例中,球体可以是熔岩属性,本发明实施例提供的球体渲染方法还可以包括:

获取熔岩颜色贴图以及熔岩发光设置参数;

对应的,步骤“将高度贴图与固态贴图进行融合,得到球体表面遮罩图”,包括:

将高度贴图、固态贴图和熔岩颜色贴图进行融合,得到初始球体表面遮罩图;

根据熔岩发光设置参数,对初始球体表面遮罩图进行发光效果设置,得到球体表面遮罩图。

具体的,熔岩发光设置参数可以包含但不限于熔岩发光的亮度、颜色、发光时长、发光范围等参数设置信息。

如图12所示,熔岩球体,其实就是固态球体和液态球体的混合,通过给液态效果(即通过高度贴图得到的效果)增加自发光效果,让流动的液态有自发光效果,即实现了熔岩球体的岩浆效果。

在实际应用过程中,球体表面可以设置有点状的灯光效果来表现一定的含义。比如,具有文明的星球表面常常会有灯光等效果,可以通过将灯光聚集在一起表现为城市等;或者,在球体表面可以设置有点状灯光效果以提示观看者该球体的特殊性等。为了表现出球体表面的点状灯光,本发明实施例提供的球体渲染方法还可以包括:

获取点状灯光特效贴图;

将点状灯光特效贴图与球体表面遮罩图进行融合,得到具有点状灯光效果的球体表面遮罩图。

在本发明实施例中,只需要少量的材质贴图资源加上高度图生成的随机mask可以做成无数的球体效果,极大程度上减少了包体的大小和游戏运行时候的内存占用量。可以无视角的近距离观看球体,感觉不到球体的精度不足。对球体比较多的游戏美术开发人员工作量大大降低,如果有大量的球体,不需要制作相应数量的球体贴图,节约了人力和研发成本。配合球体系统数值,加上随机机制,可以随机生成想要的球体种类。

由上可知,本发明实施例可以获取待渲染的球体模型以及球体表面遮罩图,根据球体模型的法线朝向信息,确定球体模型中的球体极点,基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域,通过物体投射方式,将球体表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将球体表面遮罩图平铺到非极点贴图区域,得到渲染后的球体模型;由于在本发明实施例中,对于使用UV贴图展平方式进行平铺渲染会导致UV拉伸的极点投射区域采用了投射的方式进行渲染,因此,可以避免在渲染球体时会产生的球体极点处的UV拉伸的问题,提升了球体的渲染效果,改善用户的视觉体验。

根据前面实施例所描述的方法,以下将举例作进一步详细说明。

在本实施例中,将结合图1的系统进行说明。

如图13所示,以基于球体模型表现星球(即将球体模型作为星球模型)为例,本实施例的球体渲染方法,具体流程可以如下:

1301、获取星球模型对应的星球属性。

其中,星球属性指的是星球可以是纯固态的星球、纯液态的星球、纯气态的星球、固态和液态混合构成的星球等等。

1302、若星球属性为纯固态属性,获取第一纹理贴图和第一颜色贴图,将第一纹理贴图的纹理融合到第一颜色贴图中,得到星球表面遮罩图。

例如,如图8所示,纯固态属性的星球只要做出星球表面四方连续的材质纹理黑白图,把黑白图合成到颜色贴图的RGB中,配合星球系统可生成无数种固态星球。

1303、若星球属性为纯气态属性,获取第二纹理贴图、第二颜色贴图和向量纹理贴图,将第二纹理贴图的纹理融合到第二颜色贴图中得到彩色纹理贴图,将彩色纹理贴图和向量纹理贴图进行融合,得到星球表面遮罩图。

例如,如图9所示,气态星球资源可以做成一张带颜色的纹理图加一张FlowMap贴图,可以让气态产生流程效果。

1304、若星球属性为纯液态属性,获取高度贴图,根据高度贴图生成星球表面遮罩图。

在一些可选的实施例中,星球可以是纯液态属性,纯液态可以用合适的高度图mask着色实现水面的深浅。

只需要制作少量的贴图资源,使用星球系统混合方式来实现无数种星球的效果。使用智能纹理加混合可以表现出很高清而且没有重复感,近看星球的精度不会出现过低而失真。可以很容易的实现星球表面气体和液体的动态效果。

1305、若星球属性为液态属性和固态属性混合,获取高度贴图、云朵贴图、第一纹理贴图和第一颜色贴图,将第一纹理贴图的纹理融合到第一颜色贴图中,得到固态贴图,将高度贴图、固态贴图和云朵贴图进行融合,得到星球表面遮罩图。

固态液态混合,可以制作一张高度图,用高度图混合产生随机的mask,使用mask可以表现出陆地和水面的划分,再添加单独的星球云的效果,可以实现云相对陆地的运动效果。

1306、若星球属性为熔岩属性,获取高度贴图、熔岩颜色贴图、第一纹理贴图、第一颜色贴图以及熔岩发光设置参数,将第一纹理贴图的纹理融合到第一颜色贴图中,得到固态贴图,将高度贴图、固态贴图和熔岩颜色贴图进行融合,得到初始星球表面遮罩图,根据熔岩发光设置参数,对初始星球表面遮罩图进行发光效果设置,得到星球表面遮罩图。

如图10所示,熔岩星球,其实就是固态星球和液态的混合,只是给液态多加了一个自发光效果,让流动的熔岩有自发光效果。

有丰富的自发光系统,能表现出熔岩星球发光和内地星球背面的城市灯光。有可控的星球大气控制,可以根据星球种类表现出合适的大气效果。

如图14所示,星球系统可以使用少量的材质之间的混合来实现千变万化的星球效果,加上高度图mask的混合和随机变化,可以做出效果不同的液态和固态混合的内地星球。

1307、获取待渲染的星球模型以及星球表面遮罩图。

星球模型可以是3D模型的形式,3D模型为物体表面在三个维度的数学表现。

具体的,星球表面遮罩图为可以表现出星球自身特性的贴图。比如,星球表面遮罩图可以表现星球的属性(例如星球是固态的星球或者是气态的星球等等),星球表面遮罩图还可以表现出星球的大气层、云层和地表之间的空间关系等等。

1308、根据星球模型的法线朝向信息,确定星球模型中的星球极点。

具体的,星球极点可以为星球模型上若干条法线汇合或者分散的点。星球模型中的星球极点的数量和星球极点在星球模型中的位置可以由开发人员根据物理知识及显示需求进行设置,本发明实施例对此不作限定。

1309、基于星球极点,确定星球模型的极点投射区域以及非极点贴图区域。

其中,极点投射区域为星球模型中极点以及极点附近的一部分区域构成的区域。非极点贴图区域为星球模型中除极点投射区域之外的区域。

需要说明的是,极点投射区域的形状和尺寸可以是任意的,开发人员可以根据实际需求自行进行设定。

在实际应用过程中,如果直接使用星球模型的UV进行平展贴图,由于星球极点附近区域通过法线构建的经线和纬线较为密集,容易在星球极点处出现UV拉伸的问题。

因此,在本发明实施例中,可以对极点投射区域以及非极点贴图区域采用不同的渲染方式,以避免UV拉伸问题的出现。

1310、通过物体投射方式,将星球表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将星球表面遮罩图平铺到非极点贴图区域,得到渲染后的星球模型。

传统的制作方式缺陷比较多,星球使用是经纬球的UV,会出现上下极点的UV严重拉伸。使用对星球极点的uv映射,解决了星球极点贴图拉伸问题。

具体的,对于极点投射区域,可以通过物体投射方式,将星球表面遮罩图的部分内容投影到极点投射区域中。由于采用的是投射的方式,因此,几点投射区域显示的投影内容,与极点投射区域的UV无关,不会产生UV极点拉伸的问题。

由上可知,本发明实施例可以获取待渲染的星球模型以及星球表面遮罩图,根据星球模型的法线朝向信息,确定星球模型中的星球极点,基于星球极点,确定星球模型的极点投射区域以及非极点贴图区域,通过物体投射方式,将星球表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将星球表面遮罩图平铺到非极点贴图区域,得到渲染后的星球模型;由于在本发明实施例中,对于使用UV贴图展平方式进行平铺渲染会导致UV拉伸的极点投射区域采用了投射的方式进行渲染,因此,可以避免在渲染星球时会产生的星球极点处的UV拉伸的问题,提升了星球的渲染效果,改善用户的视觉体验。

为了更好地实施以上方法,相应的,本发明实施例还提供一种球体渲染装置。

参考图15,该装置可以包括:

模型获取单元1501,可以用于获取待渲染的球体模型以及球体表面遮罩图;

极点确定单元1502,可以用于根据球体模型的法线朝向信息,确定球体模型中的球体极点;

区域确定单元1503,可以用于基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域;

模型渲染单元1504,可以用于通过物体投射方式,将球体表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将球体表面遮罩图平铺到非极点贴图区域,得到渲染后的球体模型。

在一些可选的实施例中,区域确定单元1503,可以用于对球体模型进行颜色通道分离,得到一颜色通道下的球体模型中各球体极点对应的初始极点区域;

将各初始极点区域的颜色调整为目标颜色,修改球体模型中目标颜色的颜色位置,得到球体模型的极点投射区域;

将球体模型中极点投射区域以外的区域作为非极点贴图区域。

在一些可选的实施例中,如图16所示,本发明实施例提供的球体渲染装置还可以包括遮罩图生成单元1505,遮罩图生成单元1505可以包括球体属性获取单元、第一遮罩图生成子单元、第二遮罩图生成子单元和第三遮罩图生成子单元;

球体属性获取单元,可以用于获取球体模型对应的球体属性;

第一遮罩图生成子单元,可以用于若球体属性为纯固态属性,获取第一纹理贴图和第一颜色贴图,将第一纹理贴图的纹理融合到第一颜色贴图中,得到球体表面遮罩图;

第二遮罩图生成子单元,可以用于若球体属性为纯气态属性,获取第二纹理贴图、第二颜色贴图和向量纹理贴图,将第二纹理贴图的纹理融合到第二颜色贴图中得到彩色纹理贴图;

将彩色纹理贴图和向量纹理贴图进行融合,得到球体表面遮罩图;

第三遮罩图生成子单元,可以用于若球体属性中可以包括液态属性,获取高度贴图,基于高度贴图生成球体表面遮罩图。

在一些可选的实施例中,第三遮罩图生成子单元,可以用于若球体属性可以包括液态属性和固态属性,获取高度贴图、第一纹理贴图和第一颜色贴图,将第一纹理贴图的纹理融合到第一颜色贴图中,得到固态贴图;

将高度贴图与固态贴图进行融合,得到球体表面遮罩图。

在一些可选的实施例中,本发明实施例提供的球体渲染装置还可以包括悬浮物贴图获取单元,可以用于获取悬浮物贴图;

第三遮罩图生成子单元,可以用于将高度贴图、固态贴图和悬浮物贴图进行融合,得到球体表面遮罩图。

在一些可选的实施例中,本发明实施例提供的球体渲染装置还可以包括熔岩信息获取单元,可以用于获取熔岩颜色贴图以及熔岩发光设置参数;

第三遮罩图生成子单元,可以用于将高度贴图、固态贴图和熔岩颜色贴图进行融合,得到初始球体表面遮罩图;

根据熔岩发光设置参数,对初始球体表面遮罩图进行发光效果设置,得到球体表面遮罩图。

在一些可选的实施例中,高度贴图中可以包括至少两个颜色不同的贴图区域,各贴图区域的颜色值基于贴图区域的高度值得到。

在一些可选的实施例中,本发明实施例提供的球体渲染装置还可以包括灯光特效添加单元,可以用于获取点状灯光特效贴图;

将点状灯光特效贴图与球体表面遮罩图进行融合,得到具有点状灯光效果的球体表面遮罩图。

由上可知,通过球体渲染装置,可以获取待渲染的球体模型以及球体表面遮罩图,根据球体模型的法线朝向信息,确定球体模型中的球体极点,基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域,通过物体投射方式,将球体表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将球体表面遮罩图平铺到非极点贴图区域,得到渲染后的球体模型;由于在本发明实施例中,对于使用UV贴图展平方式进行平铺渲染会导致UV拉伸的极点投射区域采用了投射的方式进行渲染,因此,可以避免在渲染球体时会产生的球体极点处的UV拉伸的问题,提升了球体的渲染效果,改善用户的视觉体验。

此外,相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端。如图17所示,图17为本申请实施例提供的计算机设备的结构示意图。该计算机设备1700包括有一个或者一个以上处理核心的处理器1701、有一个或一个以上计算机可读存储介质的存储器1702及存储在存储器1702上并可在处理器上运行的计算机程序。其中,处理器1701与存储器1702电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

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

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

获取待渲染的球体模型以及球体表面遮罩图;

根据球体模型的法线朝向信息,确定球体模型中的球体极点;

基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域;

通过物体投射方式,将球体表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将球体表面遮罩图平铺到非极点贴图区域,得到渲染后的球体模型。

在一些可选的实施例中,基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域,可以包括:

对球体模型进行颜色通道分离,得到一颜色通道下的球体模型中各球体极点对应的初始极点区域;

将各初始极点区域的颜色调整为目标颜色,修改球体模型中目标颜色的颜色位置,得到球体模型的极点投射区域;

将球体模型中极点投射区域以外的区域作为非极点贴图区域。

在一些可选的实施例中,获取待渲染的球体模型以及球体表面遮罩图之前,本发明实施例提供的球体渲染方法还可以包括:

获取球体模型对应的球体属性;

若球体属性为纯固态属性,获取第一纹理贴图和第一颜色贴图,将第一纹理贴图的纹理融合到第一颜色贴图中,得到球体表面遮罩图;

若球体属性为纯气态属性,获取第二纹理贴图、第二颜色贴图和向量纹理贴图,将第二纹理贴图的纹理融合到第二颜色贴图中得到彩色纹理贴图;

将彩色纹理贴图和向量纹理贴图进行融合,得到球体表面遮罩图;

若球体属性中可以包括液态属性,获取高度贴图,基于高度贴图生成球体表面遮罩图。

在一些可选的实施例中,若球体属性中可以包括液态属性,获取高度贴图,基于高度贴图生成球体表面遮罩图,可以包括:

若球体属性可以包括液态属性和固态属性,获取高度贴图、第一纹理贴图和第一颜色贴图,将第一纹理贴图的纹理融合到第一颜色贴图中,得到固态贴图;

将高度贴图与固态贴图进行融合,得到球体表面遮罩图。

在一些可选的实施例中,本发明实施例提供的球体渲染方法还可以包括:

获取悬浮物贴图;

将高度贴图与固态贴图进行融合,得到球体表面遮罩图,可以包括:

将高度贴图、固态贴图和悬浮物贴图进行融合,得到球体表面遮罩图。

在一些可选的实施例中,本发明实施例提供的球体渲染方法还可以包括:

获取熔岩颜色贴图以及熔岩发光设置参数;

将高度贴图与固态贴图进行融合,得到球体表面遮罩图,可以包括:

将高度贴图、固态贴图和熔岩颜色贴图进行融合,得到初始球体表面遮罩图;

根据熔岩发光设置参数,对初始球体表面遮罩图进行发光效果设置,得到球体表面遮罩图。

在一些可选的实施例中,高度贴图中可以包括至少两个颜色不同的贴图区域,各贴图区域的颜色值基于贴图区域的高度值得到。

在一些可选的实施例中,本发明实施例提供的球体渲染方法还可以包括:

获取点状灯光特效贴图;

将点状灯光特效贴图与球体表面遮罩图进行融合,得到具有点状灯光效果的球体表面遮罩图。

本方案可以获取待渲染的球体模型以及球体表面遮罩图,根据球体模型的法线朝向信息,确定球体模型中的球体极点,基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域,通过物体投射方式,将球体表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将球体表面遮罩图平铺到非极点贴图区域,得到渲染后的球体模型;由于在本发明实施例中,对于使用UV贴图展平方式进行平铺渲染会导致UV拉伸的极点投射区域采用了投射的方式进行渲染,因此,可以避免在渲染球体时会产生的球体极点处的UV拉伸的问题,提升了球体的渲染效果,改善用户的视觉体验。

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

可选的,如图17所示,计算机设备1700还包括:触控显示屏1703、射频电路1704、音频电路1705、输入单元1706以及电源1707。其中,处理器1701分别与触控显示屏1703、射频电路1704、音频电路1705、输入单元1706以及电源1707电性连接。本领域技术人员可以理解,图17中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

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

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

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

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

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

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

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

由上可知,本实施例提供的计算机设备,获取待渲染的球体模型以及球体表面遮罩图,根据球体模型的法线朝向信息,确定球体模型中的球体极点,基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域,通过物体投射方式,将球体表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将球体表面遮罩图平铺到非极点贴图区域,得到渲染后的球体模型;由于在本发明实施例中,对于使用UV贴图展平方式进行平铺渲染会导致UV拉伸的极点投射区域采用了投射的方式进行渲染,因此,可以避免在渲染球体时会产生的球体极点处的UV拉伸的问题,提升了球体的渲染效果,改善用户的视觉体验。

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

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

获取待渲染的球体模型以及球体表面遮罩图;

根据球体模型的法线朝向信息,确定球体模型中的球体极点;

基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域;

通过物体投射方式,将球体表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将球体表面遮罩图平铺到非极点贴图区域,得到渲染后的球体模型。

在一些可选的实施例中,基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域,可以包括:

对球体模型进行颜色通道分离,得到一颜色通道下的球体模型中各球体极点对应的初始极点区域;

将各初始极点区域的颜色调整为目标颜色,修改球体模型中目标颜色的颜色位置,得到球体模型的极点投射区域;

将球体模型中极点投射区域以外的区域作为非极点贴图区域。

在一些可选的实施例中,获取待渲染的球体模型以及球体表面遮罩图之前,本发明实施例提供的球体渲染方法还可以包括:

获取球体模型对应的球体属性;

若球体属性为纯固态属性,获取第一纹理贴图和第一颜色贴图,将第一纹理贴图的纹理融合到第一颜色贴图中,得到球体表面遮罩图;

若球体属性为纯气态属性,获取第二纹理贴图、第二颜色贴图和向量纹理贴图,将第二纹理贴图的纹理融合到第二颜色贴图中得到彩色纹理贴图;

将彩色纹理贴图和向量纹理贴图进行融合,得到球体表面遮罩图;

若球体属性中可以包括液态属性,获取高度贴图,基于高度贴图生成球体表面遮罩图。

在一些可选的实施例中,若球体属性中可以包括液态属性,获取高度贴图,基于高度贴图生成球体表面遮罩图,可以包括:

若球体属性可以包括液态属性和固态属性,获取高度贴图、第一纹理贴图和第一颜色贴图,将第一纹理贴图的纹理融合到第一颜色贴图中,得到固态贴图;

将高度贴图与固态贴图进行融合,得到球体表面遮罩图。

在一些可选的实施例中,本发明实施例提供的球体渲染方法还可以包括:

获取悬浮物贴图;

将高度贴图与固态贴图进行融合,得到球体表面遮罩图,可以包括:

将高度贴图、固态贴图和悬浮物贴图进行融合,得到球体表面遮罩图。

在一些可选的实施例中,本发明实施例提供的球体渲染方法还可以包括:

获取熔岩颜色贴图以及熔岩发光设置参数;

将高度贴图与固态贴图进行融合,得到球体表面遮罩图,可以包括:

将高度贴图、固态贴图和熔岩颜色贴图进行融合,得到初始球体表面遮罩图;

根据熔岩发光设置参数,对初始球体表面遮罩图进行发光效果设置,得到球体表面遮罩图。

在一些可选的实施例中,高度贴图中可以包括至少两个颜色不同的贴图区域,各贴图区域的颜色值基于贴图区域的高度值得到。

在一些可选的实施例中,本发明实施例提供的球体渲染方法还可以包括:

获取点状灯光特效贴图;

将点状灯光特效贴图与球体表面遮罩图进行融合,得到具有点状灯光效果的球体表面遮罩图。

本方案可以获取待渲染的球体模型以及球体表面遮罩图,根据球体模型的法线朝向信息,确定球体模型中的球体极点,基于球体极点,确定球体模型的极点投射区域以及非极点贴图区域,通过物体投射方式,将球体表面遮罩图向极点投射区域进行投射,以及,通过UV贴图展平方式,将球体表面遮罩图平铺到非极点贴图区域,得到渲染后的球体模型;由于在本发明实施例中,对于使用UV贴图展平方式进行平铺渲染会导致UV拉伸的极点投射区域采用了投射的方式进行渲染,因此,可以避免在渲染球体时会产生的球体极点处的UV拉伸的问题,提升了球体的渲染效果,改善用户的视觉体验。

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

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

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

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

相关技术
  • 渲染立体图形线框的方法、装置、计算机设备和存储介质
  • 页面渲染方法、装置、计算机设备及存储介质
  • 一种页面渲染方法、装置、设备和存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种元数据存储方法、装置、设备及计算机可读存储介质
  • 一种球体渲染方法、装置、电子设备和可读存储介质
  • 渲染方法、渲染装置、计算机可读存储介质和电子设备
技术分类

06120115914736