HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

游戏对象的处理方法、装置、电子设备和计算机可读介质与流程

2021-01-11 14:01:02|371|起点商标网
游戏对象的处理方法、装置、电子设备和计算机可读介质与流程
本发明计算机的
技术领域:
,尤其是涉及一种游戏对象的处理方法、装置、电子设备和计算机可读介质。
背景技术:
:在游戏动画领域,动画系统呈现的内容和流畅性是衡量游戏品质的重要指标之一。spine能够提供基于二维骨骼动画的动画解决方案,在spine中通过将图片绑定到骨骼上,完成骨骼动画制作。但是,spine使用二维骨骼动画驱动网格的方式,增加了逻辑计算,会增加cpu开销。游戏系统的完整生命周期包括初始化、每帧逻辑更新和渲染更新、终止等三个阶段。每帧逻辑更新和渲染更新的cpu计算开销,直接影响游戏系统的更新帧率,影响游戏显示和交互流畅性。spine能够高效地制作精致的二维动画效果,但spine使用二维骨骼动画驱动网格的方式,增加了逻辑计算,会增加cpu开销。随着游戏制作水平的不断提升,游戏二维动画趋于品质精品化、应用场景多样化,spine动画对cpu开销的影响主要体现在动画品质和动画应用场景。一方面,从动画品质角度,较高的动画效果直接导致spine动画资源的输出精度提高,cpu开销增大。另一方面,从动画应用场景角度,spine动画出现在游戏内多个界面中,每个界面画布大小不同,显示的动画区域不同;此外,市面上的手机设备机型多,cpu性能参差不齐,游戏需要尽可能的适配市面上的主流机型。对于动画品质的问题,在现有技术中,可以通过设计优化、输出资源优化和运行时drawcall合批处理来优化spine动画,但是,上述优化方案有以下几点不足:设计和资源优化方面,建立资源输出规范并使用了资源监察工具,但是较难把握资源精度的限制程度,资源精度过低,会直接降低动画品质,影响用户体验,无法在兼顾动画品质的条件下有效降低cpu开销。运行时drawcall合批处理方面,自动合批算法对常见的spine动画优化有限。对于多样化的应用场景,针对不同场景输出资源能解决问题,但是需要更长的开发周期和开发成本,设计需求变化导致的成本较高;此外,多份资源输出,会导致游戏包体和更新补丁增大,影响用户的下载和更新体验,消耗更多流量。如果能优化spine运行时算法,有效降低cpu开销,可以做到只输出一份资源,应用于不同场景,能极大的提高生产效率,降低制作成本。技术实现要素:有鉴于此,本发明的目的在于提供一种游戏对象的处理方法、装置、电子设备和计算机可读介质,本申请所提出的方法,能够在动画运行时减小cpu的开销,减小性能问题,在保证动画品质的同时,保持游戏显示和交互的流畅性。第一方面,本发明实施例提供了一种游戏对象的处理方法,包括:获取待优化动画;所述待优化动画中包含至少一个游戏对象,所述游戏对象包含与其对应的动画模型,所述动画模型包含骨骼和与其相绑定的网格;根据目标包围盒的对所述网格进行过滤,得到第一目标网格,其中,所述目标包围盒包括:所述网格的包围盒和/或所述裁剪区域的包围盒,所述裁剪区域表示所述待优化动画中待显示到游戏显示界面的区域;对所述第一目标网格进行裁剪,得到第二目标网格,其中,所述第二目标网格为待渲染的网格。进一步地,在对所述第一目标网格进行裁剪,得到第二目标网格之后,所述方法还包括:对所述第二目标网格进行合批渲染。进一步地,所述对所述第二目标网格进行合批渲染,包括:将所述第二目标网格的材质修改为相同材质,得到优化之后的动画;对所述优化之后的动画中的网格进行合批渲染。进一步地,所述网格中包含多个多边形;根据目标包围盒对所述网格进行过滤,得到第一目标网格包括:通过基于所述网格的包围盒的算法对所述网格进行过滤,得到第一目标网格,其中,所述第一目标网格的包围盒位于所述裁剪区域之内,或者,与所述裁剪区域相交。进一步地,根据目标包围盒对所述网格进行过滤,得到第一目标网格包括:通过基于所述裁剪区域的包围盒的算法对所述网格中的多个多边形进行过滤,得到第一目标网格,其中,所述第一目标网格与所述裁剪区域的包围盒相交,或者位于所述裁剪区域内。进一步地,通过基于所述网格的包围盒的算法对所述网格进行过滤,得到第一目标网格包括:根据所述网格的顶点坐标确定所述网格的包围盒;根据所述网格的包围盒的位置信息和所述裁剪区域的位置信息确定所述网格的包围盒和所述裁剪区域之间的位置关系,得到第一位置关系;根据所述第一位置关系对所述网格进行过滤,得到所述第一目标网格。进一步地,根据所述第一位置关系对所述网格进行过滤,得到所述第一目标网格包括:根据所述第一位置关系在所述网格中过滤出第一目标网格,其中,所述第一目标网格包括第一类网格和/或第二类网格,所述第一类网格的包围盒位于所述裁剪区域之内,所述第二类网格的包围盒与所述裁剪区域相交。进一步地,通过基于所述裁剪区域的包围盒的算法对所述网格中的多个多边形进行过滤,得到第一目标网格包括:根据所述裁剪区域的顶点坐标确定所述裁剪区域的包围盒;根据所述裁剪区域的包围盒的位置信息和所述网格中的多边形的位置信息确定所述裁剪区域的包围盒和所述多边形之间的位置关系,得到第二位置关系;根据所述第二位置关系对所述网格中的多边形进行过滤,得到所述第一目标网格。进一步地,根据所述第二位置关系对所述网格中的多边形进行过滤,得到所述第一目标网格包括:根据所述第二位置关系在所述多边形中过滤出目标多边形,并将所述目标多边形组成的网格确定为所述第一目标网格,其中,所述目标多边形包括第一类多边形和/或第二类多边形,所述第一类多边形位于所述裁剪区域的包围盒之内,或者,所述第二类多边形与所述裁剪区域的包围盒相交。进一步地,对第一目标网格进行裁剪,得到第二目标网格包括:对所述第一目标网格中的多边形和所述裁剪区域进行相交计算,得到所述第一目标网格中的多边形和所述裁剪区域之间相交关系;若根据所述相交关系确定出所述第一目标网格中的多边形位于所述裁剪区域之外,则丢弃所述第一目标网格中的多边形;若根据所述相交关系确定出所述第一目标网格中的多边形位于所述裁剪区域之内,则将所述第一目标网格中的多边形添加到输出网格队列中,其中,所述输出网格队列中的多边形为待渲染的多边形;若根据所述相交关系确定出所述第一目标网格中的至少一个多边形与所述裁剪区域相交,则将与裁减区域相交的至少一个多边形裁剪为包含在所述裁剪区域内的至少一个子多边形,并将所述子多边形添加到所述到输出网格队列中,其中,所述输出网格队列中的多边形为待渲染的多边形。进一步地,所述将与裁减区域相交的至少一个多边形裁剪为包含在所述裁剪区域内的至少一个子多边形,包括:对于每个与裁减区域相交的多边形,将其裁剪为位于所述裁减区域内的第一多边形和位于裁减区域外的第二多边形;若所述第一多边形为三角形,则将所述第一多边形作为所述子多边形;否则,将所述第一多边形裁减为多个子三角形,并将所述子三角形作为所述子多边形。进一步地,根据目标包围盒的对所述网格进行过滤还包括:根据所述网格的包围盒对所述网格进行过滤;根据所述裁剪区域的包围盒对过滤之后的网格中的三角形进行过滤,得到所述第一目标网格。进一步地,所述网格的贴图的原始材质包括与其对应的模式,所述模式包括:正常混合模式和叠加混合模式;所述正常混合模式和所述叠加混合模式分别通过对应的混合因子确定,且所述正常混合模式和所述叠加混合模式所对应的混合因子的计算方式不同。进一步地,将所述第二目标网格的材质修改为相同材质,从而得到优化之后的动画包括:将所述第二目标网格中原始材质为所述正常混合模式的网格的混合因子设置为第一混合因子,并将所述网格中原始材质为所述叠加混合模式的网格的混合因子设置为第二混合因子,从而得到所述优化之后的动画,其中,所述第一混合因子的计算公式和所述第二混合因子的计算公式相同,所述混合因子为用于将网格的源颜色和目标颜色进行混合的参数,所述源颜色和所述目标颜色用于确定所述网格的在游戏显示界面的显示颜色,所述第一混合因子和所述第二混合因子使得在将所述第二目标网格的材质修改为相同材质之后,修改之前和修改之后的第二目标网格的输出颜色不变。进一步地,所述方法还包括:在每个网格的uv顶点坐标中为每个网格设置对应标识信息,其中,所述标识信息用于指示每个网格的原始材质。进一步地,对所述优化之后的动画中的网格进行合批渲染包括:读取所述优化之后的动画中每个网格的uv顶点坐标中的标识信息,并根据读取到的标识信息确定所述优化之后的动画中每个网格的原始材质;根据读取到的原始材质确定所述优化之后的动画中每个网格的混合因子;根据所述优化之后的动画中每个网格的混合因子确定所述优化之后的动画中每个网格的目标输出颜色,并按照所述目标输出颜色对述优化之后的动画中的每个网格进行合批渲染。进一步地,根据读取到的原始材质确定所述优化之后的动画中每个网格的混合因子包括:若读取到的原始材质为所述正常混合模式,则确定所述优化之后的动画中每个网格的混合因子为所述第一混合因子,其中,所述第一混合因子的计算公式为:alpha源为源混合因子,表示alpha值对源颜色的影响;若读取到的原始材质为所述叠加混合模式,则确定所述优化之后的动画中每个网格的混合因子为所述第二混合因子,其中,所述第二混合因子的计算公式为:进一步地,根据所述优化之后的动画中每个网格的混合因子确定所述优化之后的动画中每个网格的目标输出颜色包括:根据公式确定所述优化之后的动画中每个网格的目标输出颜色,所述c输出表示所述目标输出颜色,c源为源颜色,alpha源为源原色的混合因子。第二方面,本发明实施例提供了一种游戏对象的处理装置,包括:获取单元,用于获取待优化动画;所述待优化动画中包含至少一个游戏对象,所述游戏对象包含与其对应的动画模型,所述动画模型包含骨骼和与其相绑定的网格;过滤单元,用于根据目标包围盒的对所述网格进行过滤,得到第一目标网格,其中,所述目标包围盒包括:所述网格的包围盒和/或所述裁剪区域的包围盒,所述裁剪区域表示所述待优化动画中待显示到游戏显示界面的区域;裁剪单元,用于对所述第一目标网格进行裁剪,得到第二目标网格,其中,所述第二目标网格为待渲染的网格。第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的方法的步骤。第四方面,本发明实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面中任一项所述的方法的步骤。在本发明实施例中,首先,获取待优化动画;然后,根据目标包围盒对所述网格进行过滤,得到第一目标网格,并对第一目标网格进行裁剪,裁剪之后得到第二目标网格。通过上述描述可知,在本申请中,采用目标包围盒对网格进行过滤并裁剪的方式,能够在动画运行时减小cpu的开销,减小性能问题,在保证动画品质的同时,保持游戏显示和交互的流畅性。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本发明实施例的一种游戏对象的处理方法的流程图;图2是根据本发明实施例的另一种游戏对象的处理方法的流程图;图3是根据本发明实施例的又一种游戏对象的处理方法的流程图;图4是根据本发明实施例的一种游戏对象的处理装置的示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一:根据本发明实施例,提供了一种游戏对象的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本发明实施例的一种游戏对象的处理方法的流程图,如图1所示,该方法包括如下步骤:步骤s102,获取待优化动画;所述待优化动画中包含至少一个游戏对象,所述游戏对象包含与其对应的动画模型,所述动画模型包含骨骼和与其相绑定的网格。在本申请中,网格是游戏或者计算机图形学中物体的表示方式,一般使用三角形网格。具体的,针对一个游戏对象的动画模型来说,动画的创建方式可以描述如下:首先在spine软件中构建游戏对象的骨骼,然后,将图片绑定到骨骼上,完成骨骼动画制作,然后将骨骼动画导出为二进制格式文件。其中,在本申请中,游戏对象的动画模型包含骨骼和与其相绑定的网格,每个网格中可以包含多个多边形,例如,包含多个三角形。当骨骼移动时,与其相绑定的网格也随之移动。步骤s104,根据目标包围盒的对所述网格进行过滤,得到第一目标网格,其中,所述目标包围盒包括:所述网格的包围盒和/或裁剪区域的包围盒,所述裁剪区域表示所述待优化动画中待显示到游戏显示界面的区域。步骤s106,对所述第一目标网格进行裁剪,得到第二目标网格,其中,所述第二目标网格为待渲染的网格。在本申请中,对待优化动画中的网格进行过滤的目的是为了过滤出网格中位于裁剪区域内,或者,与裁剪区域相交的网格。然后,对过滤之后的第一目标网格进行裁剪,得到裁剪之后的网格。在本发明实施例中,首先,获取待优化动画;然后,根据目标包围盒对所述网格进行过滤,得到第一目标网格,并对第一目标网格进行裁剪,裁剪之后得到第二目标网格。通过上述描述可知,在本申请中,采用目标包围盒对网格进行裁剪的方式,能够在动画运行时减小cpu的开销,减小性能问题,在保证动画品质的同时,保持游戏显示和交互的流畅性。在本申请的一个可选实施方式中,在对所述第一目标网格进行裁剪,得到第二目标网格之后,所述方法还包括:对所述第二目标网格进行合批渲染。具体地,可以将所述第二目标网格的材质修改为相同材质,从而得到优化之后的动画,并对所述优化之后的动画中的网格进行合批渲染。例如,在本申请中,可以在接收到合批渲染请求之后,对优化之后的动画中的网格进行合批渲染。合批渲染calldraw是指:发送给图形引擎的渲染请求,calldraw数过大可能导致cpu计算压力,是重要的性能指标之一。对于制作精度高,面数、骨骼数等数量大的spine动画,spine每一帧更新cpu开销较大,直接影响游戏系统的更新帧率,影响显示和交互流畅性。本申请使用visualstudio2015的性能探查器,探查spine动画在运行时,每一帧的性能开销。具体地,在本申请中,可以使用visualstudio2015打开游戏源码工程,选择性能探查器,开启“cpu使用率”选项,开始探查。游戏启动,运行spine动画性能测试用例,此时工具实时收集运行数据。完成收集后,退出游戏,工具处理数据,生成探查报告。报告中可以查看游戏运行测试用例时,函数调用的cpu耗时、占比等数据。探查结果显示优化前cpu占比较高的几个函数,主要包括:三角形裁剪:cliptriangles;drawcall合批渲染:drawbatched;骨骼动画更新:update。优化前主要函数cpu占比如下表1所示。表1函数名cpu占比(%)spskeletonclipping_cliptriangles42.22drawbatchedquadsandtriangles7.51spine::skeletonanimation::update26.65下面将依次分析这三个部分开销的影响因素和优化空间。1、三角形裁剪cliptriangles裁剪三角形过程是将动画不需要显示的区域裁剪掉。通过上述描述可知,为了控制动画制作成本,一份动画会用于不同尺寸的界面显示,需要通过裁剪,选择动画的部分区域用于显示。裁剪算法和网格的面数正相关,算法复杂度为o(n),其中,网格的面数是指网格中所包含多边形的面数。裁剪可以使用cpu裁剪算法和gpu裁剪算法。spine运行时使用了cpu裁剪算法,从探查结果可以看到,spine提供的实现开销占比最高,优化裁剪算法是降低开销、提升帧率的关键。分析代码后发现,spine运行时三角形裁剪的原生实现有较大的优化空间。2、drawcall合批渲染:drawbatched减小drawcall可以降低每次drawcall准备数据、切换渲染状态和数据传输等导致的cpu开销。drawcall合批在不影响显示效果的情况下,通过调整显示对象渲染顺序,使材质相同的对象尽量依次渲染,合批依次渲染的对象,减小drawcall数量,降低开销。分析算法后发现,算法优化难度高。另一方面,自动合批算法能够合批相同材质的显示对象,利用这一算法特性,可以通过修改材质,间接减小这部分开销。3、骨骼动画更新:update骨骼动画过程,随时间计算关键帧之间的骨骼状态差值,更新绑定到骨骼上的顶点,其中,骨骼状态差值是指两个关键帧的过渡状态。一般骨骼动画使用关键帧技术,每个关键帧包含骨骼坐标、旋转等信息。关键帧是离散的,比如每秒25帧。游戏运行时,播放骨骼动画,需要计算关键帧中间的骨骼状态。更新开销和骨骼数、顶点数呈正相关。从探查结果可以看到,骨骼更新开销占比高;分析代码后发现,spine运行时的算法实现优化空间较小。综上所述,本发明发明人使用探查工具,发现了spine运行时中开销较高的几部分,分析了开销影响因素和优化空间。分析后发现,三角形裁剪是造成spine运行时cpu开销大的主要原因,而且算法实现有较大优化空间,优化裁剪算法有较高的收益;drawcall合批方面,spine中常用两种不同材质,会影响合批效果,可以通过修改材质,进一步提升drawcall合批。为此,本发明从裁剪三角形算法和改进drawcall合批两方面进行spine运行时优化,下面将具体介绍该游戏对象的处理方法。通过上述描述可知,在本申请中,对现有的三角形裁剪算法进行优化,本申请采用网格的包围盒或者裁剪区域的包围盒来对网格进行过滤,过滤得到的网格为与裁剪区域相交,或者,位于裁剪区域内的网格。在得到过滤之后的第一目标网格后,就可以对过滤之后的第一目标网格进行裁剪,从而裁剪之后得到第二目标网格,其中,裁剪之后得到的第二目标网格为用于渲染到游戏显示界面上的网格。在本申请中,通过基于目标包围盒对所述网格进行过滤,并对过滤之后的网格进行裁剪,得到裁剪之后的网格,可以描述为以下几种方式。方式一、(11)、通过基于所述网格的包围盒的算法对所述网格进行过滤,得到第一目标网格,其中,所述第一目标网格的包围盒位于所述裁剪区域之内,或者,与所述裁剪区域相交。在本申请中,可以利用基于网格的包围盒的算法对网格进行过滤,得到与裁剪区域相交,或者,位于裁剪区域内的第一目标网格。在得到第一目标网格后,对第一目标网格进行裁剪,主要裁剪对象为与裁剪区域相交的网格,从而得到第二目标网格,具体裁剪过程将在下述过程进行描述。方式二、(21)、通过基于所述裁剪区域的包围盒的算法对所述网格中的多个多边形进行过滤,得到第一目标网格,其中,所述第一目标网格与所述裁剪区域的包围盒相交,或者位于所述裁剪区域内。在本申请中,可以利用基于裁剪区域的包围盒的算法对每个网格中的多边形(例如,三角形)进行过滤,得到与裁剪区域相交,或者,位于裁剪区域内的多边形,从而根据确定出的多边形得到第一目标网格。在得到第一目标网格后,对第一目标网格进行裁剪,主要裁剪对象为与裁剪区域相交的多边形,从而得到裁剪之后的多边形,其中,裁剪之后的多边形所对应的网格即为第二目标网格,具体裁剪过程将在下述过程进行描述。方式三、(31)、根据所述网格的包围盒的算法对所述网格进行过滤,得到过滤之后的网格;(32)、根据所述裁剪区域的包围盒的算法对所述过滤之后的网格中的三角形进行过滤,得到所述第一目标网格。在本申请中,可以利用基于网格的包围盒的算法对网格进行过滤,得到为与裁剪区域相交,或者,位于裁剪区域内的网格作为过滤之后的网格后。在得到过滤之后的网格后,可以利用基于裁剪区域的包围盒的算法对过滤之后的网格中每个网格中的多边形(例如,三角形)进行过滤,得到与裁剪区域相交,或者,位于裁剪区域内的多边形,从而根据确定出的多边形得到第一目标网格。在得到第一目标网格后,对第一目标网格进行裁剪,主要裁剪对象为与裁剪区域相交的多边形,从而得到裁剪之后的多边形,其中,裁剪之后的多边形所对应的网格即为第二目标网格,具体裁剪过程将在下述过程进行描述。通过上述描述可知,在现有的三角形裁剪算法中,需要对网格中的每个三角形与裁剪区域进行相交计算,从而根据计算出的相交关系进行三角形的裁剪。如果三角形的数量较大,那么相交计算会为cpu带来很大的开销。基于此,在本申请中,首先采用基于目标包围盒的算法对所述网格进行过滤,在过滤的过程中,不必计算每个三角形与裁剪区域之间的相交关系,在得到过滤之后网格后,再通过计算相交关系的方式对网格进行裁剪,从而降低cpu的开销。在一个可选的实施方式中,如图2所示,步骤:通过基于所述网格的包围盒的算法对所述网格进行过滤,得到第一目标网格包括如下过程:步骤s11,根据所述网格的顶点坐标确定所述网格的包围盒;步骤s12,根据所述网格的包围盒的位置信息和所述裁剪区域的位置信息确定所述网格的包围盒和所述裁剪区域之间的位置关系,得到第一位置关系;步骤s13,根据所述第一位置关系对所述网格进行过滤,得到所述第一目标网格。其中,该步骤s13具体包括:根据所述第一位置关系在所述网格中过滤出第一目标网格,其中,所述第一目标网格包括第一类网格和/或第二类网格,所述第一类网格的包围盒位于所述裁剪区域之内,所述第二类网格的包围盒与所述裁剪区域相交。具体地,在本实施方式中,使用网格的包围盒aabb过滤网格,过滤的目的是丢弃裁剪区域外的网格,保留裁剪区域内的网格。需要说明的是,在本申请中,预先为待优化动画设置了对应的附件,该附件包括:裁剪附件和网格附件。其中,网格附件即保存了动画模型的三角形网格;裁剪附件,保存裁剪区域的大小和位置信息,表示在游戏显示界面上显示该待优化动画时,只要保留裁剪区域内的三角形进行渲染。针对裁剪附件和网格附件设置了对应的附件类型。具体地,在游戏运行时,针对每一帧待优化动画,读取每一个附件,并根据读取到附件的附件类型来确定是网格附件,还是裁剪区间。如果遍历到裁剪附件,则使用裁剪附件的多边形区域,开启对待优化骨骼进行裁剪的操作。如果遍历到网格附件,则可以计算网格世界坐标,其中,网格世界坐标计算过程描述如下:由于网格是绑定到骨骼上的,因此在播放动画时,首先会使用关键帧,计算当前骨骼的位置和朝向。然后使用网格的顶点到骨骼的绑定权重和相对位置,计算出网格顶点的世界坐标,从而得到网格世界坐标。权重是指绑定程度,比如权重1,表示网格的顶点和骨骼保持相对位置不变;权重0,表示网格顶点的坐标不受骨骼控制。接下来,根据网格的顶点坐标确定网格的包围盒aabb。其中,网格的包围盒aabb可以表示为左下角坐标和右上角坐标。在计算网格世界坐标的时候,需要遍历三角形的顶点,取所有顶点的最小横坐标和纵坐标的值作为左下角坐标,取所有顶点的最大横坐标和纵坐标的值作为右上角坐标,即可得出网格的包围盒aabb。在计算得到网格的包围盒之后,就可以根据网格的包围盒的位置信息和裁剪区域的位置信息,确定网格的包围盒和裁剪区域之间的位置关系,从而得到第一位置关系。在得到第一位置关系之后,就可以根据该第一位置关系对网格进行过滤,得到位于裁剪区域内,或者,与裁剪区域相交的网格,即上述所描述的第一目标网格,具体过滤原理描述如下:如果网格的包围盒aabb在裁剪区域外,则丢弃整个网格;如果网格的包围盒aabb在裁剪区域内,则遍历该网格中的每一个多边形,并将所有的多边形添加到输出网格队列中,以对该输出网格队列中的多边形进行合批渲染;如果网格的包围盒aabb和裁剪区域相交,使用spine原生裁切算法对该网格内的三角形进行裁剪,具体裁剪过程描述如下:步骤s21,对所述第一目标网格中的多边形和所述裁剪区域进行相交计算,得到所述第一目标网格中的多边形和所述裁剪区域之间相交关系;步骤s22,若根据所述相交关系确定出所述第一目标网格中的多边形位于所述裁剪区域之内,则将所述第一目标网格中的多边形添加到输出网格队列中,其中,所述输出网格队列中的多边形为待渲染的多边形;步骤s23,若根据所述相交关系确定出所述第一目标网格中的至少一个多边形与所述裁剪区域相交,则将与裁减区域相交的至少一个多边形裁剪为包含在所述裁剪区域内的至少一个子多边形,并将所述子多边形添加到所述到输出网格队列中,其中,所述输出网格队列中的多边形为待渲染的多边形。在本申请中,在步骤s23中,对于每个与裁减区域相交的多边形,将其裁剪为位于所述裁减区域内的第一多边形和位于裁减区域外的第二多边形。若所述第一多边形为三角形,则将所述第一多边形作为所述子多边形;否则,将所述第一多边形裁减为多个子三角形,并将所述子三角形作为所述子多边形,例如:若第一多边形为四边形,则裁剪为两个子三角形。在本实施方式中,以多边形为三角形为例来进行说明。具体地,针对每一帧待优化动画,读取每一个附件,并根据附件类型来确定是网格附件,还是裁剪附件。其中,网格附件即保存了动画模型的三角形网格;裁剪附件,保存裁剪区域的大小和位置信息,表示在游戏显示界面上显示该待优化动画时,只要保留裁剪区域内的三角形进行渲染。针对裁剪附件和网格附件设置了对应的附件类型。如果遍历到裁剪附件,则使用裁剪附件的多边形区域,开启裁剪。如果遍历到网格附件,则可以计算网格世界坐标,然后按照这个网格世界坐标遍历每个三角形进行裁剪。裁剪过程为,遍历过滤之后的网格中的每个三角形,并与裁剪区域求交,计算出相交关系,该相交关系包括:三角形在裁剪区域外,三角形在裁剪区域内,三角形和裁剪区域相交。如果相交关系为三角形在裁剪区域外,则丢弃该三角形。如果相交关系为三角形在裁剪区域内,则将三角形添加到输出网格队列中,以对该输出网格队列中的多边形进行合批渲染;如果相交关系为三角形和裁剪区域相交,把将三角形拆分为多个包含在裁剪区域内的至少一个子三角形,并把拆分后的至少一个三角形添加到输出网格队列中,以对该输出网格队列中的多边形进行合批渲染。具体地,在计算相交关系时,可以计算出裁剪区域和三角形的交点,进而使用该交点和裁剪区域内该三角形的顶点,重新组织成多个三角形,以实现将三角形拆分为多个包含在裁剪区域内的至少一个子三角形。在一个可选的实施方式中,如图3所示,步骤:通过基于所述裁剪区域的包围盒的算法对所述网格中的多个多边形进行过滤,得到第一目标网格包括如下过程:步骤s31,根据所述裁剪区域的顶点坐标确定所述裁剪区域的包围盒;步骤s32,根据所述裁剪区域的包围盒的位置信息和所述网格中的多边形的位置信息确定所述裁剪区域的包围盒和所述多边形之间的位置关系,得到第二位置关系;步骤s33,根据所述第二位置关系对所述网格中的多边形进行过滤,得到第一目标网格。其中,该步骤s33具体包括:根据所述第二位置关系在所述多边形中过滤出目标多边形,并将所述目标多边形组成的网格确定为所述第一目标网格,其中,所述目标多边形包括第一类多边形和/或第二类多边形,所述第一类多边形位于所述裁剪区域的包围盒之内,或者,所述第二类多边形与所述裁剪区域的包围盒相交。具体地,在本实施方式中,使用裁剪区域的包围盒aabb过滤网格中的三角形,丢弃裁剪包围盒aabb外的三角形,接受裁剪包围盒aabb内的三角形。需要说明的是,在本申请中,预先为待优化动画设置了对应的附件,该附件包括:裁剪附件和网格附件。其中,网格附件即保存了动画模型的三角形网格;裁剪附件,保存裁剪区域的大小和位置信息,表示在游戏显示界面上显示该待优化动画时,只要保留裁剪区域内的三角形进行渲染。针对裁剪附件和网格附件设置了对应的附件类型。具体地,在游戏运行时,针对每一帧待优化动画,读取每一个附件,并根据附件类型来确定是网格附件,还是裁剪区间。如果遍历到裁剪附件,则使用裁剪附件的多边形区域,开启对待优化骨骼进行裁剪的操作,计算裁切区域的包围盒aabb。如果遍历到网格附件,则可以计算网格世界坐标,其中,网格世界坐标计算过程描述如下:由于网格是绑定到骨骼上的,因此在播放动画时,首先会使用关键帧,计算当前骨骼的位置和朝向。然后使用网格的顶点到骨骼的绑定权重和相对位置,计算出网格顶点的世界坐标,从而得到网格世界坐标。权重是指绑定程度,比如权重1,表示网格的顶点和骨骼保持相对位置不变;权重0,表示网格顶点的坐标不受骨骼控制。接下来,根据该网格世界坐标遍历每个三角形进行裁剪。裁剪过程为,对每一个三角形,对三角形和裁切区域的包围盒aabb进行求交计算,从而判断三角形和裁切的包围盒aabb的相交关系,该相交关系包括:三角形在裁切的包围盒aabb外,三角形在裁切的包围盒aabb内,三角形和裁切区域的包围盒相交。如果三角形在裁剪区域的包围盒aabb外,则丢弃该三角形。如果三角形在裁剪区域的包围盒aabb内,则将三角形添加到输出网格队列中,以对该输出网格队列中的三角形进行合批渲染。如果三角形和裁剪区域的包围盒aabb相交,使用spine原生裁切算法对该三角形进行裁剪,具体裁剪过程描述如下:步骤s41,对第一目标网格中的多边形和所述裁剪区域进行相交计算,得到所述第一目标网格中的多边形和所述裁剪区域之间相交关系;步骤s42,若根据所述相交关系确定出所述第一目标网格中的多边形位于所述裁剪区域之外,则丢弃所述第一目标网格中的多边形;步骤s43,若根据所述相交关系确定出所述第一目标网格中的多边形位于所述裁剪区域之内,则将所述第一目标网格中的多边形添加到输出网格队列中,其中,所述输出网格队列中的多边形为待渲染的多边形;步骤s44,若根据所述相交关系确定出所述第一目标网格中的至少一个多边形与所述裁剪区域相交,则将与裁减区域相交的至少一个多边形裁剪为包含在所述裁剪区域内的至少一个子多边形,并将所述子多边形添加到所述到输出网格队列中,其中,所述输出网格队列中的多边形为待渲染的多边形。在本实施方式中,以多边形为三角形为例来进行说明。具体地,针对每一帧待优化动画,读取每一个附件,并根据附件类型来确定是网格附件,还是裁剪区间。其中,网格附件即保存了动画模型的三角形网格;裁剪附件,保存裁剪区域的大小和位置信息,表示在游戏显示界面上显示该待优化动画时,只要保留裁剪区域内的三角形进行渲染。针对裁剪附件和网格附件设置了对应的附件类型。如果遍历到裁剪附件,则使用裁剪附件的多边形区域,开启裁剪。如果遍历到网格附件,则可以计算网格世界坐标,然后按照这个网格世界坐标遍历每个三角形进行裁剪。裁剪过程为,遍历过滤之后的网格中的每个三角形,并与裁剪区域求交,计算出相交关系,该相交关系包括:三角形在裁剪区域外,三角形在裁剪区域内,三角形和裁剪区域相交。如果相交关系为三角形在裁剪区域外,则丢弃该三角形。如果相交关系为三角形在裁剪区域内,则将三角形添加到输出网格队列中,以对该输出网格队列中的多边形进行合批渲染;如果相交关系为三角形和裁剪区域相交,把将三角形拆分为多个包含在裁剪区域内的子三角形,并把拆分后的三角形添加到输出网格队列中,以对该输出网格队列中的多边形进行合批渲染。具体地,在计算相交关系时,可以计算出裁剪区域和三角形的交点,进而使用该交点和裁剪区域内该三角形的顶点,重新组织成多个三角形,以实现将三角形拆分为多个包含在裁剪区域内的子三角形。通过上述描述可知,在现有的三角形裁剪算法中,需要对网格中的每个三角形与裁剪区域进行相交计算,从而根据计算出的相交关系进行三角形的裁剪。如果三角形的数量较大,那么相交计算会为cpu带来很大的开销。基于此,在本申请中,首先采用基于目标包围盒的裁剪算法对所述网格进行过滤,在过滤的过程中,不必计算每个三角形与裁剪区域之间的相交关系,在得到过滤之后网格后,再通过计算相交关系的方式对网格进行裁剪,从而降低cpu的开销。在本申请中,在得到裁剪之后的网格后,就可以将所述裁剪之后的网格的材质修改为相同材质,从而得到优化之后的动画。在一个可选的实施方式中,若网格的贴图的原始材质包括与其对应的模式,所述模式包括:正常混合模式和叠加混合模式,所述正常混合模式和所述叠加混合模式分别通过对应的混合因子确定,且所述正常混合模式和所述叠加混合模式所对应的混合因子的计算方式不同。基于此,将所述裁剪之后的网格的材质修改为相同材质,从而得到优化之后的动画的步骤包括如下过程:步骤s1061,将所述第二目标网格中原始材质为所述正常混合模式的网格的混合因子设置为第一混合因子,并将所述网格中原始材质为所述叠加混合模式的网格的混合因子设置为第二混合因子,从而得到所述优化之后的动画,其中,所述第一混合因子的计算公式和所述第二混合因子的计算公式相同,所述混合因子为用于将网格的源颜色和目标颜色进行混合的参数,所述源颜色和所述目标颜色用于确定所述网格的在游戏显示界面的显示颜色,所述第一混合因子和所述第二混合因子使得在将所述第二目标网格的材质修改为相同材质之后,修改之前和修改之后的第二目标网格的输出颜色不变。发明人通过使用nvidiansight截帧查看drawcall合批处理可以发现,spine动画的drawcall数量较多。分析后发现,spine动画挂接的网格,使用了正常混合模式和叠加混合模式,这就导致无法自动对网格进行合批优化。在本申请中,将原始材质为正常混合模式和叠加混合模式的网格改用同一个材质实现,从而实现正常混合模式和叠加混合模式在着色器内实现。改成一种材质之后,就能利用自动合批能合并相同材质的网格,有效降低drawcall数量。混合模式是用于实现半透明效果的一种方式,输出颜色使用以下公式计算得出:c输出=c源*f源+c目标*f目标。其中,c源表示源颜色,是当前正在渲染的三角形的颜色值;c目标为当前正在渲染的三角形网格输出的目标颜色;f源为源混合因子值,指定alpha值对源颜色的影响;f目标为目标混合因子值,指定了alpha值对目标颜色的影响。spine中使用的正常混合模式,f源为src_alpha,即使用了c源颜色的alpha分量,f目标使用one_minus_src_alpha,即1-c源的alpha分量,所以正常混合模式下的三角形的输出颜色为:c输出=c源*alpha源+c目标*(1-alpha源)。叠加混合模式,f源为src_alpha,f目标使用one,即常量1,所以叠加混合模式实现的输出颜色为:c输出=c源*alpha源+c目标*1。通过上述描述可知,针对正常混合模式和叠加混合模式,源混合因子值和目标混合因子值是不相同的,也就是说,正常混合模式和所述叠加混合模式分别通过对应的混合因子确定,正常混合模式和所述叠加混合模式所对应的混合因子的计算方式不同。开启优化后,修改正常混合模式和叠加混合模式的混合因子,模式信息编码在顶点uv坐标中,着色器从顶点uv坐标中解码出不同的混合模式。在下述公式中使用上标1,表示修改后的数据,如为修改后的源颜色值。修改材质后,原始材质为正常混合模式的网格的混合因子f源改为one,即常量1,f目标保持one_minus_src_alpha,即的alpha分量。着色器程序代码如下代码1至9行所示,其中代码行7isoneoneblendmode等于0。所以修改后正常混合模式下网格的输出颜色为:其中,由代码行8可以得到:由于编码了正常混合模式的顶点uv小于1,所以由代码行3,7,9可以得到:isoneoneblendmode=0;在将和代入到公式中之后,得出修改后的正常混合模式下网格的输出颜色为:c输出=c源*alpha源+c目标*(1-alpha源)。对于修改后的叠加混合模式,使用和正常混合模式相同的混合因子,即f源改为one,即常量1,f目标改为one_minus_src_alpha,即的alpha分量,其中,代码行7的isoneoneblendmode等于1。所以修改后的叠加模式下的颜色输出为:其中,由代码行8可以得到:由于编码了叠加混合模式的顶点uv大于1,所以由代码行3,7,9可以得到:isoneoneblendmode=1;在将代入到公式中之后,得出修改后的叠加混合模式下网格的输出颜色为:c输出=c源*alpha源+c目标*1。上述过程可以通过以下程序来进行描述:通过上述描述可知,为了将裁剪之后的网格的材质修改为相同材质,在本申请中,将原始材质为正常混合模式的网格的混合因子设置为第一混合因子,并将网格中原始材质为叠加混合模式的网格的混合因子设置为第二混合因子。其中,第一混合因子和所述第二混合因子的计算公式相同。即在正常混合模式下,f源为1,f目标为在叠加混合模式下,f源为1,f目标为在按照上述方式设置第一混合因子和第二混合因子之后,就可以实现将裁剪之后的网格的材质修改为相同材质。在本申请中,除了将所述裁剪之后的网格的材质修改为相同材质之外,还可以在每个网格的uv顶点坐标中为每个网格设置对应标识信息,其中,所述标识信息用于指示每个网格的原始材质。例如,如果原始材质为正常混合模式,则该标识信息可以为小于1的数值,如果原始材质为叠加混合模式,则该标识信息可以为大于1的数值。在本申请中,在获取到合批渲染请求之后,就可以对优化之后的动画中的网格进行合批渲染,具体过程描述如下:首先,读取所述优化之后的动画中每个网格的uv顶点坐标中的标识信息,并根据读取到的标识信息确定所述优化之后的动画中每个网格的原始材质;其次,根据读取到的原始材质确定所述优化之后的动画中每个网格的混合因子;最后,根据所述优化之后的动画中每个网格的混合因子确定所述优化之后的动画中每个网格的目标输出颜色,并按照所述目标输出颜色对述优化之后的动画中的每个网格进行合批渲染。在本申请中,在获取合批渲染请求之后,可以基于混合因子对优化之后的动画中每个网格的材质进行识别,在识别出相同材质的网格的情况下,合并生成渲染请求(即,合批渲染请求)。在生成合批渲染请求之后,可以读取优化之后的动画中每个网格的uv顶点坐标中的标识信息,进而,通过对该标识信息进行解码,得到该网格的原始材质。在解码得到原始材质之后,就可以根据解码出的原始材质确定优化之后的动画中每个网格的混合因子是第一混合因子,还是第二混合因子。具体地,若读取到的原始材质为所述正常混合模式,则确定所述优化之后的动画中每个网格的混合因子为所述第一混合因子,其中,所述第一混合因子的计算公式为:alpha源为源混合因子,表示alpha值对源颜色的影响。若读取到的原始材质为所述叠加混合模式,则确定所述优化之后的动画中每个网格的混合因子为所述第二混合因子,其中,所述第二混合因子的计算公式为:在确定出优化之后的动画中每个网格的混合因子之后,就可以根据所述优化之后的动画中每个网格的混合因子确定所述优化之后的动画中每个网格的目标输出颜色,具体包括:根据公式确定所述优化之后的动画中每个网格的目标输出颜色,所述c输出表示所述目标输出颜色,c源为源颜色,alpha源为源颜色的混合因子。综上所述,本发明使用visualstudio2015性能探查工具和nvidiansight截帧工具深入分析spine动画运行时性能开销,定位了cpu性能瓶颈,进行了裁剪三角形算法优化和改进的drawcall合批优化。裁剪三角形算法的基本优化思路是判断三角形(或者网格)和裁剪区域的相交关系,对不同三角形使用优化的裁剪算法,能保证裁剪结果和原生裁剪结果一致。改进的drawcall合批优化的基本优化思路则是,利用了现有自动合批算法能合批相同材质对象的这一主要特性,使用一种材质进行实现设计师常用的两种材质效果,同样能保证效果不变。针对本申请所提出的游戏对象的处理方法,发明人进行了实验验证。本发明在分析spine动画运行时的开销后,从裁剪三角形算法和改进drawcall合批两个方面优化spine运行时的cpu计算开销,提高运行帧率,使spine动画能应用于高品质、场景多样的游戏案例中。实验结果显示,本申请所提出的游戏对象的处理方法,不影响spine动画的表现效果,能降低大约72%的开销。具体地,做了如下对照实验,分析优化前后的性能开销。实验环境如下:1.硬件配置(1)处理器:intel(r)core(tm)i7-8700cpu@3.20ghz(2)内存(ram):16.0gb(3)系统:win10企业版64位操作系统(4)显卡:geforcegtx10605gb(5)显卡驱动版本:417.712.软件配置(1)spine运行库版本:3.6.533.单个spine动画资源参数(1)骨骼数:317(2)面数:约3593(3)顶点数:约9075对照实验一:对比优化前后主要函数cpu占比游戏设置(1)游戏卡面数量:40张游戏卡面;(2)帧率设置:低帧率(30fps);(3)画面设置:精致画面;本组实验用于对比优化前后,spine运行时主要函数的cpu占比变化。可以对比以下两组实验结果,可以看到,在使用本发明的优化技术之后,cpu占比整体下降。如表2和表3所示,具体地,应用三角形裁剪优化后,三角形裁剪cliptrianglescpu占比从42.22%减低到了23.71%,降低了43%左右;改进drawcall合批后,合批算法drawbatched开销从7.51%降低到4.16%,降低了45%左右。表格1优化前主要函数cpu占比表格2优化后主要函数cpu占比对照实验二:优化前后cpu性能指标本组实验用于对比优化前后,系统的运行帧率、每帧开销和drawcall数量。本组实验分别对比了标准30fps和高端60fps的优化效果。开销结果一:游戏设置:(1)卡面数量:40张卡面;(2)帧率设置:低帧率(30fps);(3)画面设置:精致画面。本组结果显示了40张卡面,设置目标帧率30fps的测试环境中,开启较优优化方案后,性能指标的变化。如表4所示,可以看到在优化后,三项指标都有了明显的提升。帧率从原先10fps,提升到了目标帧率30fps,开销降低了64%左右,drawcall数也有大幅降低。注意,由于目标帧率设置了30fps,每帧开销最少为33ms/frame左右,实际的性能提升可能高于64%,参加下文帧率60fps下的测试数据。表格3优化前后性能指标开销结果二:游戏设置:(1)卡面数量:40张卡面;(2)帧率设置:高帧率(60fps);(3)画面设置:精致画面。本组结果显示了40张卡面,设置目标帧率60fps的测试环境中,开启几种优化组合后的性能指标变化。可以看到,对于三角形裁剪优化,每一种优化方案都能提升性能指标。其中“裁剪区域包围盒”的优化效果要高于“网格+裁剪区域包围盒”,说明在同时使用两个层级的优化方案是,网格层的优化带来的额外开销,要高于优化带来的收益。由此得出,如表5所示,对于实验对象,只进行三角形层级的优化,优化效果最好,开销从94.67ms/frame减低到了35.44ms/frame,降低了62%左右。进一步开启改进的drawcall优化,开销从35.44ms/frame降低到了25.82ms/frame,降低了27%左右。总体来说,在本组实验条件下,开销从优化前的94.67ms/frame降低到了25.82ms/frame,减低了72%左右,性能提升明显。表格4不同优化方案下的性能指标实施例二:本发明实施例还提供了一种游戏对象的处理装置,该游戏对象的处理装置主要用于执行本发明实施例上述内容所提供的游戏对象的处理方法,以下对本发明实施例提供的游戏对象的处理装置做具体介绍。图4是根据本发明实施例的一种游戏对象的处理装置的示意图,如图4所示,该游戏对象的处理装置主要包括获取单元10,过滤单元20和裁剪单元30,其中:获取单元10,用于获取待优化动画;所述待优化动画中包含至少一个游戏对象,所述游戏对象包含与其对应的动画模型,所述动画模型包含骨骼和与其相绑定的网格;过滤单元20,用于根据目标包围盒的对所述网格进行过滤,得到第一目标网格,其中,所述目标包围盒包括:所述网格的包围盒和/或所述裁剪区域的包围盒,所述裁剪区域表示所述待优化动画中待显示到游戏显示界面的区域;裁剪单元30,用于对所述第一目标网格进行裁剪,得到第二目标网格,其中,所述第二目标网格为待渲染的网格。在本发明实施例中,首先,获取待优化动画;然后,通过基于目标包围盒的裁剪算法对所述网格进行过滤,并对过滤之后的网格进行裁剪,得到裁剪之后的网格;最后,将裁剪之后的网格的材质修改为相同材质,从而得到优化之后的动画,并在获取到合批渲染请求之后,对优化之后的动画中的网格进行合批渲染。通过上述描述可知,在本申请中,采用目标包围盒对网格进行裁剪的方式,以及将裁剪之后的网格修改为相同材质进行合批渲染的方式,能够在动画运行时减小cpu的开销,减小性能问题,在保证动画品质的同时,保持游戏显示和交互的流畅性。可选地,该装置还用于:在对所述第一目标网格进行裁剪,得到第二目标网格之后,对所述第二目标网格进行合批渲染。可选地,该装置还用于:将所述第二目标网格的材质修改为相同材质,得到优化之后的动画;对所述优化之后的动画中的网格进行合批渲染。可选地,过滤单元还用于:通过基于所述网格的包围盒的算法对所述网格进行过滤,得到第一目标网格,其中,所述第一目标网格的包围盒位于所述裁剪区域之内,或者,与所述裁剪区域相交。可选地,所述网格中包含多个多边形;过滤单元还用于:通过基于所述裁剪区域的包围盒的算法对所述网格中的多个多边形进行过滤,得到第一目标网格,其中,所述第一目标网格与所述裁剪区域的包围盒相交,或者位于所述裁剪区域内。可选地,过滤单元还用于:根据所述网格的顶点坐标确定所述网格的包围盒;根据所述网格的包围盒的位置信息和所述裁剪区域的位置信息确定所述网格的包围盒和所述裁剪区域之间的位置关系,得到第一位置关系;根据所述第一位置关系对所述网格进行过滤,得到所述第一目标网格。可选地,过滤单元还用于:根据所述第一位置关系在所述网格中过滤出第一目标网格,其中,所述第一目标网格包括第一类网格和/或第二类网格,所述第一类网格的包围盒位于所述裁剪区域之内,所述第二类网格的包围盒与所述裁剪区域相交。可选地,过滤单元还用于:根据所述裁剪区域的顶点坐标确定所述裁剪区域的包围盒;根据所述裁剪区域的包围盒的位置信息和所述网格中的多边形的位置信息确定所述裁剪区域的包围盒和所述多边形之间的位置关系,得到第二位置关系;根据所述第二位置关系对所述网格中的多边形进行过滤,得到所述第一目标网格。可选地,过滤单元还用于:根据所述第二位置关系在所述多边形中过滤出目标多边形,并将所述目标多边形组成的网格确定为所述第一目标网格,其中,所述目标多边形包括第一类多边形和/或第二类多边形,所述第一类多边形位于所述裁剪区域的包围盒之内,或者,所述第二类多边形与所述裁剪区域的包围盒相交。可选地,裁剪单元用于:对所述第一目标网格中的多边形和所述裁剪区域进行相交计算,得到所述第一目标网格中的多边形和所述裁剪区域之间相交关系;若根据所述相交关系确定出所述第一目标网格中的多边形位于所述裁剪区域之外,则丢弃所述第一目标网格中的多边形;若根据所述相交关系确定出所述第一目标网格中的多边形位于所述裁剪区域之内,则将所述第一目标网格中的多边形添加到输出网格队列中,其中,所述输出网格队列中的多边形为待渲染的多边形;若根据所述相交关系确定出所述第一目标网格中的至少一个多边形与所述裁剪区域相交,则将与裁减区域相交的至少一个多边形裁剪为包含在所述裁剪区域内的至少一个子多边形,并将所述子多边形添加到所述到输出网格队列中,其中,所述输出网格队列中的多边形为待渲染的多边形。可选地,裁剪单元还用于:对于每个与裁减区域相交的多边形,将其裁剪为位于所述裁减区域内的第一多边形和位于裁减区域外的第二多边形;若所述第一多边形为三角形,则将所述第一多边形作为所述子多边形;否则,将所述第一多边形裁减为多个子三角形,并将所述子三角形作为所述子多边形。可选地,过滤单元还用于:根据所述网格的包围盒的算法对所述网格进行过滤,得到过滤之后的网格;根据所述裁剪区域的包围盒的算法对所述过滤之后的网格中的三角形进行过滤,得到所述第一目标网格。可选地,所述网格的贴图的原始材质包括与其对应的模式,所述模式包括:正常混合模式和叠加混合模式;所述正常混合模式和所述叠加混合模式分别通过对应的混合因子确定,且所述正常混合模式和所述叠加混合模式所对应的混合因子的计算方式不同。可选地,该装置还用于:将所述第二目标网格中原始材质为所述正常混合模式的网格的混合因子设置为第一混合因子,并将所述网格中原始材质为所述叠加混合模式的网格的混合因子设置为第二混合因子,从而得到所述优化之后的动画,其中,所述第一混合因子的计算公式和所述第二混合因子的计算公式相同,所述混合因子为用于将网格的源颜色和目标颜色进行混合的参数,所述源颜色和所述目标颜色用于确定所述网格的在游戏显示界面的显示颜色,所述第一混合因子和所述第二混合因子使得在将所述第二目标网格的材质修改为相同材质之后,修改之前和修改之后的第二目标网格的输出颜色不变。可选地,该装置还用于:在每个网格的uv顶点坐标中为每个网格设置对应标识信息,其中,所述标识信息用于指示每个网格的原始材质。可选地,该装置还用于:读取所述优化之后的动画中每个网格的uv顶点坐标中的标识信息,并根据读取到的标识信息确定所述优化之后的动画中每个网格的原始材质;根据读取到的原始材质确定所述优化之后的动画中每个网格的混合因子;根据所述优化之后的动画中每个网格的混合因子确定所述优化之后的动画中每个网格的目标输出颜色,并按照所述目标输出颜色对述优化之后的动画中的每个网格进行合批渲染。可选地,该装置还用于:若读取到的原始材质为所述正常混合模式,则确定所述优化之后的动画中每个网格的混合因子为所述第一混合因子,其中,所述第一混合因子的计算公式为:alpha源为源混合因子,表示alpha值对源颜色的影响;若读取到的原始材质为所述叠加混合模式,则确定所述优化之后的动画中每个网格的混合因子为所述第二混合因子,其中,所述第二混合因子的计算公式为:可选地,该装置还用于:根据公式确定所述优化之后的动画中每个网格的目标输出颜色,所述c输出表示所述目标输出颜色,c源为源颜色,alpha源为源原色的混合因子。另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本
技术领域:
的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页1 2 3 

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips