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

游戏模型的特效渲染方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 19:23:34


游戏模型的特效渲染方法、装置、计算机设备和存储介质

技术领域

本发明涉及渲染技术领域,具体涉及游戏模型的特效渲染方法、装置、计算机设备和存储介质。

背景技术

在游戏类的应用程序中,游戏玩家一般可以操作游戏角色对游戏中的某些元素例如人物、植物等施放游戏技能,而被施放技能的游戏元素常常会显示出与未被施放技能时不同的渲染效果。

在实时渲染中,如果要实现游戏元素在被施放技能时不同的渲染效果,游戏美术人员通常会在游戏元素原本的模型上增加更多的几何体细节或者更多的纹理细节得到一个新的模型,以实现为游戏元素增加游戏技能的特效表现。在游戏元素被施放技能时,终端会渲染新的模型代替原本的模型进行显示。但如果给模型增加更多的细节,对游戏美术人员的人力资源需求会增大,且模型数量的增加,也会需要终端提供更多的存储资源等。

发明内容

本发明实施例提供游戏模型的特效渲染方法、装置、计算机设备和存储介质,可以采用多个渲染通道,当需要显示特定的目标游戏特效时,在一渲染通道渲染出的目标游戏模型上,通过另一渲染通道实时地渲染出与目标游戏特效相关的特效渲染遮罩图进行显示,减少了对人力资源以及存储资源的需求。

本发明实施例提供一种游戏模型的特效渲染方法,包括:

在图形用户界面中提供目标游戏的游戏界面;

响应针对于所述目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在所述游戏界面中渲染显示所述目标游戏中的所述目标游戏模型,其中,所渲染的所述目标游戏模型不呈现目标游戏特效;

响应针对于所述目标游戏模型的特效显示指令,确定与所述目标游戏模型对应的第二渲染通道,以及预先针对所述目标游戏模型所配置的遮罩着色器文件;

通过所述第二渲染通道运行所述遮罩着色器文件,在所述游戏界面渲染生成所述目标游戏模型对应的特效渲染遮罩图,以使所述目标游戏模型呈现所述目标游戏特效。

相应的,本发明实施例还提供一种游戏模型的特效渲染装置,包括:

游戏界面显示单元,用于在图形用户界面中提供目标游戏的游戏界面;

模型渲染单元,用于响应针对于所述目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在所述游戏界面中渲染显示所述目标游戏中的所述目标游戏模型,其中,所渲染的所述目标游戏模型不呈现目标游戏特效;

文件确定单元,用于响应针对于所述目标游戏模型的特效显示指令,确定与所述目标游戏模型对应的第二渲染通道,以及预先针对所述目标游戏模型所配置的遮罩着色器文件;

遮罩渲染单元,用于通过所述第二渲染通道运行所述遮罩着色器文件,在所述游戏界面渲染生成所述目标游戏模型对应的特效渲染遮罩图,以使所述目标游戏模型呈现所述目标游戏特效。

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

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

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

采用本发明实施例的方案,可以在图形用户界面中提供目标游戏的游戏界面,响应针对于该目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在该游戏界面中渲染显示该目标游戏中的该目标游戏模型,其中,所渲染的该目标游戏模型不呈现目标游戏特效,响应针对于该目标游戏模型的特效显示指令,确定与该目标游戏模型对应的第二渲染通道,以及预先针对该目标游戏模型所配置的遮罩着色器文件,通过该第二渲染通道运行该遮罩着色器文件,在该游戏界面渲染生成该目标游戏模型对应的特效渲染遮罩图,以使该目标游戏模型呈现该目标游戏特效;由于在本发明实施例中,将具有游戏特效的模型的渲染过程拆解为未叠加目标游戏特效的目标游戏模型的渲染以及实现目标游戏特效的特效渲染遮罩图的渲染,在游戏运行过程中,根据不同的渲染需求调用相应的渲染通道进行渲染,因此,可以无需创建新的模型,而是采用多个渲染通道,当需要显示目标游戏特效时,在第一渲染通道渲染出的目标游戏模型上,通过第二渲染通道实时地渲染出与目标游戏特效相关的特效渲染遮罩图进行显示,减少了对人力资源以及存储资源的需求。

附图说明

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

图1是本发明实施例提供的游戏模型的特效渲染方法的场景示意图;

图2是本发明实施例提供的游戏模型的特效渲染方法的流程图;

图3是本发明实施例提供的在目标游戏模型上渲染显示特效渲染遮罩图的效果示意图;

图4是本发明实施例提供的在目标游戏模型上渲染显示特效渲染遮罩图的另一效果示意图;

图5是本发明实施例提供的视线遮罩图和初始渲染遮罩图的示意图;

图6是本发明实施例提供的特效渲染遮罩图的效果示意图;

图7是本发明实施例提供的在目标游戏模型上渲染显示特效渲染遮罩图的又一效果示意图;

图8是本发明实施例提供的游戏模型的特效渲染方法的另一流程图;

图9是本发明实施例提供的游戏模型的特效渲染装置的结构示意图;

图10是本发明实施例提供的游戏模型的特效渲染装置的另一结构示意图;

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

具体实施方式

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

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

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

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

本发明实施例的游戏模型的特效渲染方法,可以由终端实现,也可以由终端和服务器共同实现。

例如,当该游戏模型的特效渲染方法运行于终端时,终端设备存储有游戏应用程序并用于呈现游戏画面中的虚拟场景。终端设备用于通过图形用户界面与用户进行交互,例如通过终端设备下载安装游戏应用程序并运行。该终端设备将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在终端设备的显示屏上,或者,通过全息投影呈现图形用户界面。例如,终端设备可以包括触控显示屏和处理器,该触控显示屏用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面、响应操作指令以及控制图形用户界面在触控显示屏上的显示。

下面以终端和服务器组成的游戏特效渲染系统实现该游戏模型的特效渲染方法为例进行说明。

如图1所示,本发明实施例提供的游戏特效渲染系统包括终端10和服务器20等;终端10与服务器20之间通过网络连接,比如,通过有线或无线网络连接等,其中,服务器20可以作为存储有遮罩着色器文件、对终端10发送的获取遮罩着色器文件的请求作出响应的计算机设备存在。

其中,终端10可以用于在图形用户界面中提供目标游戏的游戏界面,响应针对于目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在游戏界面中渲染显示目标游戏中的目标游戏模型,其中,所渲染的目标游戏模型不呈现目标游戏特效,响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,向服务器20请求第二渲染通道对应的遮罩着色器文件。

服务器20可以用于确定预先针对目标游戏模型所配置的遮罩着色器文件,将遮罩着色器文件发送给终端10。

终端10可以接收服务器20发送的遮罩着色器文件,通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图,以使目标游戏模型呈现目标游戏特效。

可以理解的是,在一些实施例中,服务器20执行的确定遮罩着色器文件的步骤也可以由终端10执行,本发明实施例对此不做限定。

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

本申请实施例提供一种游戏模型的特效渲染方法,该方法可以由终端或者由终端和服务器执行,本申请实施例以游戏分组处理方法由终端执行为例来进行说明。

如图2所示,本实施例的游戏模型的特效渲染方法的具体流程可以如下:

201、在图形用户界面中提供目标游戏的游戏界面。

在本发明实施例中,可以通过终端设备提供图形用户界面(Graphical UserInterface,GUI),GUI界面是指采用图形方式显示的计算机操作用户界面,在GUI界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。

其中,游戏界面可以是在运行游戏时显示有目标游戏的至少游戏场景的界面。

例如,游戏界面可以包括用户在登录目标游戏时目标游戏客户端显示的登录界面、目标游戏的主界面、对战界面等等。其中,目标游戏可以是动作游戏、角色扮演游戏、模拟类游戏等等。

202、响应针对于目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在游戏界面中渲染显示目标游戏中的目标游戏模型,其中,所渲染的目标游戏模型不呈现目标游戏特效。

其中,第一渲染通道用于渲染在一般的游戏虚拟场景中进行显示的目标游戏模型。

具体的,目标游戏模型可以是任意的、未添加某些特定的特效的模型。例如,目标游戏模型可以是人物角色模型、动物模型、植物模型或者无生命的物体模型等等,本发明实施例对此不做限定。

可选的,目标游戏模型可以是平面模型,也可以是3D模型。

需要说明的是,目标游戏模型自身可以包括一些特效效果,例如光晕等等。但是,这种自身的特效效果一般是固定伴随着目标游戏模型一起显示的。

相关技术中,要实现游戏模型的某种特定的特效效果,一般采取两种方法,第一种是直接改变模型对应的着色器文件,例如在游戏模型原本的效果上叠加一个菲涅尔物体自发光效果,但是这种直接对着色器文件进行修改的方案,画面表达非常简单。

菲涅尔物体自发光效果本质上就是一个简单的渐变效果,在游戏中经常用来描述游戏模型自身的状态、游戏模型被选择的状态等,对玩家缺乏视觉吸引力。而且因为菲涅尔物体自发光效果是直接在模型的材质上做修改,因此这种特效效果只能跟随模型一起显示,不能单独显示,而且没办法控制特效效果的显示层级,例如不能做到准确控制什么时候有特效效果、特效效果什么时候被遮挡等等。

第二种实现特效效果的方法,是在游戏中额外设置一套具有特效效果的模型,当游戏玩家触发显示特效效果时,把具有特效效果的模型渲染一遍叠加到原始画面上。

采用这种方案,虽然视觉效果较好,但是由于额外添加了网格信息、纹理信息、蒙皮绑定信息等,在实时渲染阶段需要消耗较多的内存,进行较为复杂的计算,增大了图形管道的工作量,提升了对内存带宽的需求。

在本发明实施例中,采用多个渲染通道的方式对同一个模型进行渲染。第一渲染通道用于渲染不呈现目标游戏特效时的目标游戏模型,第二渲染通道可以在需要显示目标游戏特效时,可以基于目标游戏模型的相关视角进行计算,得到一个特效渲染遮罩图,通过特效渲染遮罩图可以呈现出画面复杂度高但是计算复杂度低的目标游戏特效。

进一步的,本发明实施例还可以计算出若干个不同的特效渲染遮罩图,通过对特效渲染遮罩图设置在显示时的优先级,让不同的特效渲染遮罩图在正确的层级合理地呈现。

例如,通过计算得到的特效渲染遮罩图A和特效渲染遮罩图B,可以根据目标游戏特效的显示需求,设置先显示特效渲染遮罩图A,以及,在显示特效渲染遮罩图A一定时间后再在特效渲染遮罩图A上叠加显示特效渲染遮罩图B。

通过本发明实施例,可以在不额外增加游戏美术人员和图形管道工作量的工作量、无需消耗大量内存带宽的情况下实现特效效果的显示。

在本发明实施例中,通过特效渲染遮罩图可以实现例如游戏中的透视技能、扫描技能、隐身技能等游戏技能对应的特效效果。例如,基于特效渲染遮罩图,可以实现如图3或图4中的游戏人物的显示效果。

203、响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件。

其中,第二渲染通道可以用于针对目标游戏模型,渲染可以实现特定的特效(即目标游戏特效)的特效渲染遮罩图。

可选的,特效显示指令可以是目标游戏响应于游戏用户的特效显示操作生成的指令。

具体的,特效显示操作可以是游戏用户针对自己操作的游戏角色进行的操作,以使得游戏角色对应的目标游戏模型显示特效。比如,特效显示操作可以是游戏用户可以针对自己的游戏角色使用游戏中的隐身技能的操作,为了在该游戏用户的游戏界面中显示其游戏角色,可以令游戏角色对应的目标游戏模型显示隐身特效。

或者,特效显示操作也可以是游戏用户针对游戏虚拟场景中任意的游戏模型进行的操作。比如,特效显示操作可以是游戏用户针对游戏虚拟场景中其他游戏角色使用游戏中的透视技能的操作,此时,可以将其他游戏角色对应的游戏模型作为目标游戏模型,令目标游戏模型显示被施放了透视技能后的透视特效。

在另一些可选的示例中,特效显示指令也可以是目标游戏在无需游戏用户执行操作的情况下,基于游戏开发人员的设置被动生成的指令。例如,游戏开发人员可以设置目标游戏在特定的显示时间在目标游戏模型上显示目标游戏特效,则在目标游戏特效的显示时间,目标游戏可以自动生成特效显示指令。

其中,遮罩着色器文件是用于渲染特效渲染遮罩图的着色器文件。着色器文件为可以在计算机设备中运行的程序,通过着色器文件可以控制计算机设备中图形相关的硬件进行图形的绘制,例如,可以控制硬件逐像素点地计算特效渲染遮罩图在各像素点的像素值。

在一些可选的实施例中,可以在创建第二渲染通道时,指定第二渲染通道的着色器文件,也就是说,步骤“响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件”之前,本发明实施例提供的游戏模型的特效渲染方法还可以包括:

基于第一渲染通道,建立目标游戏模型对应的第二渲染通道,第二渲染通道包括遮罩着色器文件的文件指示信息。

具体的,文件指示信息可以是遮罩着色器文件的存储地址、遮罩着色器文件的文件名称等等。

可选的,第二渲染通道中除了文件指示信息,还可以包括与渲染特效渲染遮罩图相关的设置信息,比如第二渲染通道的通道名称等等。

例如,第二渲染通道可以通过如下代码进行创建:

surf name="shader\builtin\shaders\unlit_xray2.nxshader"sc name="Forwar dshadingStencilTestxRay"\>

其中,surf name="shader\builtin\shaders\unlit_xray2.nxshader"即为遮罩着色器文件的文件指示信息。

相应的,在确定遮罩着色器文件时,可以根据文件指示信息,从至少一个着色器文件中确定该目标游戏模型对应的遮罩着色器文件,也就是说,步骤“响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件”,包括:

响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道;

获取第二渲染通道中的文件指示信息;

基于文件指示信息,获取第二渲染通道对应的遮罩着色器文件。

在本发明实施例中,不同的目标游戏模型可以对应有不同的遮罩着色器文件,不同的遮罩着色器文件对应的文件指示信息不同,此时,可以根据文件指示信息,确定特效显示指令针对的目标游戏模型的遮罩着色器文件。

需要说明的是,不同的目标游戏模型也可以对应的是相同的遮罩着色器文件,例如某些特效在不同目标游戏模型上的显示效果可能相同,此时,文件指示信息可以是该遮罩着色器文件的存储地址等等。

204、通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图,以使目标游戏模型呈现目标游戏特效。

可以理解的是,在目标游戏模型上渲染显示特效渲染遮罩图,可以是特效渲染遮罩图完全遮盖目标游戏模型,也可以是遮罩目标游戏模型的一部分,或者,可以设置特效渲染遮罩图的透明度,在目标游戏模型上叠加某种透明度下的特效渲染遮罩图等等。

在本发明实施例中,为了减少游戏美术人员的设计压力,可以基于目标游戏模型的相关视角进行计算,得到一个特效渲染遮罩图,以通过计算复杂度较低的特效渲染遮罩图呈现出画面复杂度高的目标游戏特效,步骤“通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图”,具体可以包括:

通过第二渲染通道运行所述遮罩着色器文件,针对目标游戏模型生成初始渲染遮罩图,初始渲染遮罩图中包括与目标游戏模型的形状匹配的遮罩区域,遮罩区域中设置有像素值不同的像素点;

对遮罩区域中各像素点的像素值进行加权计算,得到各像素点对应的亮度值;

根据各像素点对应的亮度值以及预设的亮度分阶划分阈值,确定各像素点对应的亮度分阶;

基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图;

在目标游戏模型上叠加显示特效渲染遮罩图。

可以理解的是,初始渲染遮罩图中可以包括能够与目标游戏模型的形状匹配的遮罩区域,还可以包括并不与目标游戏模型完全匹配的遮罩区域,例如图5中的502所示的光晕区域等等。

也就是说,遮罩区域与目标游戏模型的形状可以是满足预设的匹配规则,而不一定要求遮罩区域与目标游戏模型的形状完全相同,遮罩区域可以是与目标游戏模型的整体或者部分的形状相匹配。比如,目标游戏模型的形状可以是不规则的人形轮廓,而遮罩区域可以是能够覆盖目标游戏模型的矩形区域;或者,遮罩区域可以与目标游戏模型中手部或者头部位置的区域对应,等等。

其中,亮度分阶划分阈值可以是游戏开发人员或者美术人员自行设定的数值,比如,亮度分阶划分阈值可以是100和200,则亮度值小于100的像素点可以被划分为亮度分阶1、亮度值不小于100且小于200的像素点可以被划分为亮度分阶2、亮度值不小于200的像素点可以被划分为亮度分阶3。

其中,亮度分阶用于描述各像素点对应的亮度值所属的范围。

具体的,初始渲染遮罩图可以是先通过视线向量和法线向量进行点积计算的方式获取一个与视线相关的视线遮罩图后,针对该视线遮罩图进行pow运算和smoothstep运算,可以得到更符合美术要求的视线遮罩图,即初始渲染遮罩图。具体的,可以通过如下代码实现初始渲染遮罩图的创建:

float3 normalworld=frag.NormalWS;

float3 viewDir=normalize(GetPoswSRelTocam(frag));

float Ndotv=saturate(dot(normalworld,-viewDir));

float viewMask=pow(Ndotv,3);

viewMask=smoothstep(e.3,1,vievMask);

其中,viewDir为视线向量,即游戏界面的视线方向的向量。具体的,视线方向可以为预设的用户查看方向。在制作游戏的过程中,可以设置有摄像机,其中摄像机放置的朝向即为预设的用户查看方向,根据摄像机放置的位置以及角度的不同,可以从不同的方向查看游戏的对象,在实际游戏过程中,视线方向可以理解为垂直于显示游戏画面的屏幕的方向;

normalworld为法线向量,即法线方向的向量,目标游戏模型可以包含多个像素点,每一个像素点都对应有各自的法线方向,其中法线方向是指垂直于该像素点所在的平面的方向,一般的,法线向量可以是单位向量的形式。

通过对视线向量和法线向量进行点积计算,可以得到目标游戏模型在游戏界面当前的摄像机方向下的纹理贴图的映射,即得到与视线相关的视线遮罩图。例如,视线相关的视线遮罩图可以如图5中的501所示;初始渲染遮罩图可以如图5中的502所示。

其中,pow函数可以计算某个数值x的y次幂(次方),通过pow函数,可以使得视线遮罩图相较于游戏界面具有明显的变化。smoothstep函数一般用于生成一定数值区间内的平滑过渡值,也可以称为平滑阶梯函数。在一些示例中,通过smoothstep函数,可以使得生成的初始渲染遮罩图与游戏界面中的其他区域之间的颜色过渡或者边缘过渡更加自然。

其中,对各像素点的像素值进行加权计算,可以是根据预先设置的加权计算权重,将各像素点的像素值在R、G、B通道下的分量信号进行加权计算。

比如,可以根据人眼中三种不同的感光细胞的感光强度比例分配,把RGB三个颜色通道下的值按照0.299R、0.587G和0.114B的比例设置加权计算权重,在计算亮度值(luminous)时,可以将各像素点在R、G、B通道下的值按照0.299R、0.587G和0.114B进行加权计算。

例如,加权计算可以通过如下代码实现:

float luminonce=0.299*mtl.EmissiveColor.r+0.587*mtl.EmissiveColor.g+0.114*mtl.EmissiveColor.b;

可选的,技术人员可以根据实际显示需求,设置不同的亮度分阶划分阈值,根据亮度分阶划分阈值,可以确定不同亮度值的像素点对应的亮度分阶。具体的,可以通过如下的代码确定像素点的亮度分阶:

//float ThermalThreshold=0.7;

float4 Color_Level1=float4(1.0,0.0,0.0,1.0);

float4 Color_Level2=float4(1.0,1.0,0.0,1.0);

float4 Color_Level3=float4(0.0,0.0,01.0,1.0);

其中,Color_Level1、Color_Level2、Color_Level3可以表示不同的亮度分阶。

在一些可选的示例中,可以对不同的亮度分阶设置不同的颜色分阶,此时,可以得到一个类似于热力图的颜色分阶,即,步骤“基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图”,具体可以包括:

根据各亮度分阶对应的预设颜色,确定遮罩区域中各像素点对应的目标颜色;

将各像素点的像素值分别更新为各像素点对应的目标颜色的像素值,得到特效渲染遮罩图。

例如,可以设置三个亮度分阶,对不同亮度分阶对应的像素点分别进行更新后,可以得到如图6所示的具有三种不同颜色(如图中所示的白色、深灰色、浅灰色)的特效渲染遮罩图。

具体的,可以通过如下代码实现特效渲染遮罩图:

float4 fragColor=(luminonce<0.7)?lerp(Color_Leve13,Color_Leve12,

Luminonce*2.0):lerp(Color_Level2,Color_Level1,(luminonce-0.5)*2.0);

fragColor.rgb*=0.1+0.25+0.75*pow(16.0*noiseUV.x noiseUV.y*(1.0-noiseUV.x)*(1.0-noiseUV.y),0.15);

可以理解的是,技术人员可以根据需要的效果灵活的控制亮度分阶对应的颜色。

具体的,对于亮度分阶对应的颜色可以通过如下代码进行修改:

mtl.EmissiveColor-mtl.EmissiveColor*fragColor.b+mtl.EmissiveColor*fragColor.g+mtl.Emissivecolor*fragColor.r*0.3;

通过对于亮度分阶颜色的设置,可以使特效效果具体落地时能够具有更多的表现可能性,且能够适用于更多游戏美术风格的项目。

在另一些可选的示例中,也可以只用亮度分阶后的遮罩区域的亮度信息做画面表达,也就是说,步骤“基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图”,具体可以包括:

基于各亮度分阶以及各亮度分阶对应的亮度分阶划分阈值,计算各亮度分阶对应的灰度值;

根据各灰度值,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图。

其中,灰度值可以表示各亮度分阶的亮度信息。具体的,灰度值可以是根据每个亮度分阶对应的亮度分阶划分时的最大亮度值和最小亮度值计算平均值得到的等等。

在一些可选的实施例中,为了使特效效果具有动态的视觉效果,可以构造噪波图,将噪波图与遮罩图进行混合,此时,步骤“基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图”,具体可以包括:

基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到更新后的初始特效渲染遮罩图;

获取噪波贴图;

基于噪波贴图的噪波UV信息,将噪波贴图中的纹理融合到更新后的初始特效渲染遮罩图中,得到特效渲染遮罩图。

在本发明实施例中,由于噪波贴图中具有不规则的噪声的纹理,因此,在将噪波贴图融合到更新后的初始特效渲染遮罩图中后,可以将更新后的初始特效渲染遮罩图中亮度分阶处理得更加自然。

其中,纹理,是表现物体表面的细节信息,包括纹路、颜色或图案等信息。第一噪波贴图的纹理可以是一种或多种细节信息。

具体的,噪波贴图的数量可以为一张,也可以为多张,本发明实施例对此不做限定。例如,可以只有一张噪波贴图,只对更新后的初始特效渲染遮罩图进行一次纹理的融合;或者,也可以有两张噪波贴图,包括噪波贴图1和噪波贴图2,先将噪波贴图1的纹理融合到更新后的初始特效渲染遮罩图中,得到初次融合后的初始特效渲染遮罩图;再将噪波贴图2的纹理融合到初始特效渲染遮罩图中,得到特效渲染遮罩图。

可选的,噪波贴图与更新后的初始特效渲染遮罩图的融合,可以通过如下代码实现:

float2 noiseUV=frag.uve*0.3;

float ElapseTime=GetGlobalElapseTime(_FrameTimeIndex,_FrameTime);

float Panspeed=(ElapseTime*0.4);//DisPanspeed

float PanSpeedA=(Panspeed*-0.1);

float2 Tilinguv=(noiseuv*4.0);//DisTiling

float2 FlowUVA=(float2(PanspeedA,PanSpeedA)+TilingUV);

float4 NoiseTexA=NoiseTex.Sample(Bisampler,FlowUVA);

float PanspeedB=(Panspeed*0.1);

float2 FlowUVB=(float2(PanspeedB,PanspeedB)+Tilinguv);

float4 NoiseTexB=NoiseTex.Sample(Bisampler,FlowUVB);

float PanningTex=pow(NoiseTexA.r*NoiseTexB.g,1.1);//DisMaskPower

float BorderDissolve=lerp(0.05,-0.6667,0.1);//DisBorderLevelDisAmount

float FinalMask=PanningTex+BorderDissolve;

与相关技术中的解决方案相比,本发明实施例不需要额外的美术投入、渲染速度快并且画面效果真实丰富,易于实现并且所占用内存低,优化了游戏开发效率、降低开发成本、提高游戏运行效率。

可以理解的是,同一目标游戏模型的第二渲染通道可以对应有至少两个遮罩着色器文件,不同的遮罩着色器文件可以实现不同的渲染效果。例如,第二渲染通道可以包括第一遮罩着色器文件和第二遮罩着色器文件,其中,第一遮罩着色器文件可以实现透视效果,第二遮罩着色器文件可以实现骨骼效果,此时,如图7所示,在透视效果上还可以具有骨骼效果,透视效果和骨骼效果可以是通过不同的遮罩着色器文件实现的。

为了保证特效显示的正确性,可以在遮罩着色器文件中设置不同的显示优先级,步骤“通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图”,包括:

通过第二渲染通道运行各遮罩着色器文件,生成至少一个特效渲染遮罩图;

确定各遮罩着色器文件对应的遮罩显示优先级,在目标游戏模型上,基于遮罩显示优先级叠加显示各特效渲染遮罩图。

例如,可以设置第一遮罩着色器文件的遮罩显示优先级大于目标游戏模型,但是小于第二遮罩着色器文件,此时,特效渲染遮罩图渲染显示的效果为目标游戏模型上叠加有透视效果的特效渲染遮罩图,在透视效果的特效渲染遮罩图之上,还叠加有骨骼效果的特效渲染遮罩图。

例如,可以通过如下的代码使得透视效果可以在画面最上层显示:

具体的,可以在第二渲染通道的透视效果对应的各个遮罩着色器文件内分别指定深度状态(AlwaysTrue)和混合模式(BlendAdd)。通过对于深度状态和混合模式的设置,可以控制模型间以及模型内的渲染顺序,进而控制模型间和模型内的遮挡关系,达到通过游戏特性控制渲染结果的效果。

最后在游戏实时运行时,当玩家释放扫描、透视、隐身等游戏技能时,游戏程序可以控制打开对应材质的多通道特性,并且指定第二渲染通道的着色器,为需要遮挡扫描透视效果的模型设置模板测试的遮罩。

import world;scn=world.get_active_scene()

m=scn.get_mode1("xxx")

m.toggle multipass_feature("XRAY2",True)

m.set_stencil_switch_state("xRayMask",True)

其中,模板测试是一种可以以一定标准丢弃片元的方法,具体的膜版测试的过程可以设置在片元着色器处理和透明度测试之后、深度测试之前。

由上可知,本发明实施例可以在图形用户界面中提供目标游戏的游戏界面,响应针对于目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在游戏界面中渲染显示目标游戏中的目标游戏模型,其中,所渲染的目标游戏模型不呈现目标游戏特效,响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件,通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图,以使目标游戏模型呈现该目标游戏特效;由于在本发明实施例中,将具有游戏特效的模型的渲染过程拆解为未叠加目标游戏特效的目标游戏模型的渲染以及实现目标游戏特效的特效渲染遮罩图的渲染,在游戏运行过程中,根据不同的渲染需求调用相应的渲染通道进行渲染,因此,可以无需创建新的模型,采用多个渲染通道,当需要显示目标游戏特效时,在第一渲染通道渲染出的目标游戏模型上,通过第二渲染通道实时地渲染出与目标游戏特效相关的特效渲染遮罩图进行显示,减少了对人力资源以及存储资源的需求。

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

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

如图8所示,本实施例的游戏模型的特效渲染方法,具体流程可以如下:

801、在图形用户界面中提供目标游戏的游戏界面,响应针对于目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在游戏界面中渲染显示目标游戏中的目标游戏模型。

其中,第一渲染通道用于渲染在一般的游戏虚拟场景中进行显示的目标游戏模型。

具体的,目标游戏模型可以是任意的、未添加某些特定的特效的模型。例如,目标游戏模型可以是人物角色模型、动物模型、植物模型或者物体模型等等,本发明实施例对此不做限定。

802、响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件。

其中,第二渲染通道用于针对目标游戏模型,渲染可以实现特定的特效的特效渲染遮罩图。

在本发明实施例中,特效渲染遮罩图可以实现例如游戏中的透视技能、扫描技能、隐身技能等游戏技能对应的特效效果。例如,基于特效渲染遮罩图,可以实现如图3或图4中的游戏人物的显示效果。

803、通过第二渲染通道运行遮罩着色器文件,针对目标游戏模型生成初始渲染遮罩图。

其中,初始渲染遮罩图中包括与目标游戏模型的形状匹配的遮罩区域,遮罩区域中设置有像素值不同的像素点。

具体的,初始渲染遮罩图可以是通过点积视线向量和法线向量的方式获取的一个视线相关的大致遮罩图后,再通过pow运算和smoothstep运算,可以使大致的遮罩更符合美术要求。

804、对遮罩区域中各像素点的像素值进行加权计算,得到各像素点对应的亮度值。

比如,可以根据人眼中三种不同的感光细胞的感光强度比例,把RGB三个颜色通道下的值按照0.299R、0.587G和0.114B的比例设置加权计算的权重。在计算亮度值(luminous)时,可以将各像素点在R、G、B通道下的像素值分别按照0.299R、0.587G和0.114B进行加权计算。

805、根据各像素点对应的亮度值以及预设的亮度分阶划分阈值,确定各像素点对应的亮度分阶。

806、根据各亮度分阶对应的预设颜色,确定遮罩区域中各像素点对应的目标颜色,将各像素点的像素值分别更新为各像素点对应的目标颜色的像素值,得到更新后的初始特效渲染遮罩图。

可以对不同的亮度分阶设置不同的颜色分阶,此时,可以得到一个类似于热力图的颜色分阶。技术人员可以根据逍遥的效果灵活的控制亮度分阶对应的颜色。

通过对于亮度分阶颜色的设置,可以使目标游戏特效在具体显示时能够具有更多的表现可能性,且多样的亮度分阶颜色,可以使得本发明实施例提供的游戏模型的特效渲染方法能够适用于更多具有不同游戏美术风格的游戏。

807、获取噪波贴图,基于噪波贴图的噪波UV信息,将噪波贴图中的纹理融合到更新后的初始特效渲染遮罩图中,得到特效渲染遮罩图。

为了使目标游戏特效具有动态的视觉效果,可以构造噪波图,将噪波图与遮罩图进行混合。具体的,噪波贴图的数量可以为一张,也可以为多张。

808、在目标游戏模型上叠加显示特效渲染遮罩图,以使目标游戏模型呈现目标游戏特效。

可以理解的是,在目标游戏模型上渲染显示特效渲染遮罩图,可以是特效渲染遮罩图完全遮盖目标游戏模型,也可以是遮罩目标游戏模型的一部分,或者,可以设置特效渲染遮罩图的透明度,在目标游戏模型上叠加某种透明度下的特效渲染遮罩图等等。

例如,不同的特效渲染遮罩图可以设置有不同的透明度。

具体的,可以在第二渲染通道的透视效果对应的遮罩着色器文件内指定深度状态(AlwaysTrue)和混合模式(BlendAdd)。

通过对深度状态和混合模式的设置,可以控制不同的游戏模型之间的特效渲染遮罩图以及单个游戏模型内部的特效渲染遮罩图的渲染顺序,进而控制游戏模型间和模型内不同特效渲染遮罩图的遮挡关系,达到通过特效渲染遮罩图控制渲染结果的效果。

最后在游戏实时运行时,当玩家释放扫描技能时用脚本控制打开对应材质的多通道特性,并且指定第二渲染通道的着色器,为需要遮挡扫描透视效果的模型设置模板测试的特效渲染遮罩图。

由上可知,本发明实施例可以将具有游戏特效的模型的渲染过程拆解为未叠加目标游戏特效的目标游戏模型的渲染以及实现目标游戏特效的特效渲染遮罩图的渲染,在游戏运行过程中,根据不同的渲染需求调用相应的渲染通道进行渲染,因此,可以无需创建新的模型,采用多个渲染通道,当需要显示目标游戏特效时,在第一渲染通道渲染出的目标游戏模型上,通过第二渲染通道实时地渲染出与目标游戏特效相关的特效渲染遮罩图进行显示,减少了对人力资源以及存储资源的需求。

为了更好地实施以上方法,相应的,本发明实施例还提供一种游戏模型的特效渲染装置。

参考图9,该装置包括:

游戏界面显示单元901,用于在图形用户界面中提供目标游戏的游戏界面;

模型渲染单元902,用于响应针对于目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在游戏界面中渲染显示目标游戏中的目标游戏模型,其中,所渲染的目标游戏模型不呈现目标游戏特效;

文件确定单元903,用于响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件;

遮罩渲染单元904,用于通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图,以使目标游戏模型呈现目标游戏特效。

在一些可选的实施例中,遮罩渲染单元904,可以用于通过第二渲染通道运行遮罩着色器文件,针对目标游戏模型生成初始渲染遮罩图,初始渲染遮罩图中可以包括与目标游戏模型的形状匹配的遮罩区域,遮罩区域中设置有像素值不同的像素点;

对遮罩区域中各像素点的像素值进行加权计算,得到各像素点对应的亮度值;

根据各像素点对应的亮度值以及预设的亮度分阶划分阈值,确定各像素点对应的亮度分阶;

基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图;

在目标游戏模型上叠加显示特效渲染遮罩图。

在一些可选的实施例中,遮罩渲染单元904,可以用于根据各亮度分阶对应的预设颜色,确定遮罩区域中各像素点对应的目标颜色;

将各像素点的像素值分别更新为各像素点对应的目标颜色的像素值,得到特效渲染遮罩图。

在一些可选的实施例中,遮罩渲染单元904,可以用于基于各亮度分阶以及各亮度分阶对应的亮度分阶划分阈值,计算各亮度分阶对应的灰度值;

根据各灰度值,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图。

在一些可选的实施例中,遮罩渲染单元904,可以用于基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到更新后的初始特效渲染遮罩图;

获取噪波贴图;

基于噪波贴图的噪波UV信息,将噪波贴图中的纹理融合到更新后的初始特效渲染遮罩图中,得到特效渲染遮罩图。

在一些可选的实施例中,第二渲染通道对应有至少两个遮罩着色器文件,遮罩渲染单元904,可以用于通过第二渲染通道运行各遮罩着色器文件,生成至少一个特效渲染遮罩图;

确定各遮罩着色器文件对应的遮罩显示优先级,在目标游戏模型上,基于遮罩显示优先级叠加显示各特效渲染遮罩图。

在一些可选的实施例中,如图10所示,本发明实施例提供的游戏模型的特效渲染装置,还可以包括第二渲染通道建立单元905,第二渲染通道建立单元905可以用于基于第一渲染通道,建立目标游戏模型对应的第二渲染通道,第二渲染通道可以包括遮罩着色器文件的指示信息;

文件确定单元903,可以用于响应针对于所述目标游戏模型的特效显示指令,确定与所述目标游戏模型对应的第二渲染通道;

获取所述第二渲染通道中的所述文件指示信息;

基于文件指示信息,获取第二渲染通道对应的遮罩着色器文件。

由上可知,通过游戏模型的特效渲染装置,可以将具有游戏特效的模型的渲染过程拆解为未叠加目标游戏特效的目标游戏模型的渲染以及实现目标游戏特效的特效渲染遮罩图的渲染,在游戏运行过程中,根据不同的渲染需求调用相应的渲染通道进行渲染,因此,可以无需创建新的模型,采用多个渲染通道,当需要显示目标游戏特效时,在第一渲染通道渲染出的目标游戏模型上,通过第二渲染通道实时地渲染出与目标游戏特效相关的特效渲染遮罩图进行显示,减少了对人力资源以及存储资源的需求。

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

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

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

在图形用户界面中提供目标游戏的游戏界面;

响应针对于目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在游戏界面中渲染显示目标游戏中的目标游戏模型,其中,所渲染的目标游戏模型不呈现目标游戏特效;

响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件;

通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图,以使目标游戏模型呈现目标游戏特效。

在一些实施例中,通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图,包括:

通过第二渲染通道运行遮罩着色器文件,针对目标游戏模型生成初始渲染遮罩图,初始渲染遮罩图中包括与目标游戏模型的形状匹配的遮罩区域,遮罩区域中设置有像素值不同的像素点;

对遮罩区域中各像素点的像素值进行加权计算,得到各像素点对应的亮度值;

根据各像素点对应的亮度值以及预设的亮度分阶划分阈值,确定各像素点对应的亮度分阶;

基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图;

在目标游戏模型上叠加显示特效渲染遮罩图。

在一些实施例中,基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图,包括:

根据各亮度分阶对应的预设颜色,确定遮罩区域中各像素点对应的目标颜色;

将各像素点的像素值分别更新为各像素点对应的目标颜色的像素值,得到特效渲染遮罩图。

在一些实施例中,基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图,包括:

基于各亮度分阶以及各亮度分阶对应的亮度分阶划分阈值,计算各亮度分阶对应的灰度值;

根据各灰度值,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图。

在一些实施例中,基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图,包括:

基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到更新后的初始特效渲染遮罩图;

获取噪波贴图;

基于噪波贴图的噪波UV信息,将噪波贴图中的纹理融合到更新后的初始特效渲染遮罩图中,得到特效渲染遮罩图。

在一些实施例中,第二渲染通道对应有至少两个遮罩着色器文件,通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图,包括:

通过第二渲染通道运行各遮罩着色器文件,生成至少一个特效渲染遮罩图;

确定各遮罩着色器文件对应的遮罩显示优先级,在目标游戏模型上,基于遮罩显示优先级叠加显示各特效渲染遮罩图。

在一些实施例中,响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件之前,本发明实施例提供的游戏模型的特效渲染方法还包括:

基于第一渲染通道,建立目标游戏模型对应的第二渲染通道,第二渲染通道包括遮罩着色器文件的文件指示信息;

响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件,包括:

响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道;

获取第二渲染通道中的文件指示信息;

基于文件指示信息,获取第二渲染通道对应的遮罩着色器文件。

本方案可以在图形用户界面中提供目标游戏的游戏界面,响应针对于目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在游戏界面中渲染显示目标游戏中的目标游戏模型,其中,所渲染的目标游戏模型不呈现目标游戏特效,响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件,通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型和与目标游戏模型对应的特效渲染遮罩图,以使目标游戏模型呈现目标游戏特效;本发明实施例可以无需创建新的模型,采用多个渲染通道,当需要显示目标游戏特效时,在第一渲染通道渲染出的目标游戏模型上,通过第二渲染通道实时地渲染出与目标游戏特效相关的特效渲染遮罩图进行显示,减少了对人力资源以及存储资源的需求。

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

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

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

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

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

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

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

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

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

由上可知,本实施例提供的计算机设备,可以在图形用户界面中提供目标游戏的游戏界面,响应针对于目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在游戏界面中渲染显示目标游戏中的目标游戏模型,其中,所渲染的目标游戏模型不呈现目标游戏特效,响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件,通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型和与目标游戏模型对应的特效渲染遮罩图,以使目标游戏模型呈现目标游戏特效;本发明实施例可以无需创建新的模型,采用多个渲染通道,当需要显示目标游戏特效时,在第一渲染通道渲染出的目标游戏模型上,通过第二渲染通道实时地渲染出与目标游戏特效相关的特效渲染遮罩图进行显示,减少了对人力资源以及存储资源的需求。

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

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

在图形用户界面中提供目标游戏的游戏界面;

响应针对于目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在游戏界面中渲染显示目标游戏中的目标游戏模型,其中,所渲染的目标游戏模型不呈现目标游戏特效;

响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件;

通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图,以使目标游戏模型呈现目标游戏特效。

在一些实施例中,通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图,包括:

通过第二渲染通道运行遮罩着色器文件,针对目标游戏模型生成初始渲染遮罩图,初始渲染遮罩图中包括与目标游戏模型的形状匹配的遮罩区域,遮罩区域中设置有像素值不同的像素点;

对遮罩区域中各像素点的像素值进行加权计算,得到各像素点对应的亮度值;

根据各像素点对应的亮度值以及预设的亮度分阶划分阈值,确定各像素点对应的亮度分阶;

基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图;

在目标游戏模型上叠加显示特效渲染遮罩图。

在一些实施例中,基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图,包括:

根据各亮度分阶对应的预设颜色,确定遮罩区域中各像素点对应的目标颜色;

将各像素点的像素值分别更新为各像素点对应的目标颜色的像素值,得到特效渲染遮罩图。

在一些实施例中,基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图,包括:

基于各亮度分阶以及各亮度分阶对应的亮度分阶划分阈值,计算各亮度分阶对应的灰度值;

根据各灰度值,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图。

在一些实施例中,基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到特效渲染遮罩图,包括:

基于各亮度分阶,对遮罩区域各像素点进行像素值更新,得到更新后的初始特效渲染遮罩图;

获取噪波贴图;

基于噪波贴图的噪波UV信息,将噪波贴图中的纹理融合到更新后的初始特效渲染遮罩图中,得到特效渲染遮罩图。

在一些实施例中,第二渲染通道对应有至少两个遮罩着色器文件,通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型对应的特效渲染遮罩图,包括:

通过第二渲染通道运行各遮罩着色器文件,生成至少一个特效渲染遮罩图;

确定各遮罩着色器文件对应的遮罩显示优先级,在目标游戏模型上,基于遮罩显示优先级叠加显示各特效渲染遮罩图。

在一些实施例中,响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件之前,本发明实施例提供的游戏模型的特效渲染方法还包括:

基于第一渲染通道,建立目标游戏模型对应的第二渲染通道,第二渲染通道包括遮罩着色器文件的文件指示信息;

响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件,包括:

响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道;

获取第二渲染通道中的文件指示信息;

基于文件指示信息,获取第二渲染通道对应的遮罩着色器文件。

本方案可以在图形用户界面中提供目标游戏的游戏界面,响应针对于目标游戏中目标游戏模型的模型显示指令,通过第一渲染通道在游戏界面中渲染显示目标游戏中的目标游戏模型,其中,所渲染的目标游戏模型不呈现目标游戏特效,响应针对于目标游戏模型的特效显示指令,确定与目标游戏模型对应的第二渲染通道,以及预先针对目标游戏模型所配置的遮罩着色器文件,通过第二渲染通道运行遮罩着色器文件,在游戏界面渲染生成目标游戏模型和与目标游戏模型对应的特效渲染遮罩图,以使目标游戏模型呈现目标游戏特效;本发明实施例可以无需创建新的模型,采用多个渲染通道,当需要显示目标游戏特效时,在第一渲染通道渲染出的目标游戏模型上,通过第二渲染通道实时地渲染出与目标游戏特效相关的特效渲染遮罩图进行显示,减少了对人力资源以及存储资源的需求。

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

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

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

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

技术分类

06120115889265