CN111710020B - 动画渲染方法和装置及存储介质 - Google Patents
动画渲染方法和装置及存储介质 Download PDFInfo
- Publication number
- CN111710020B CN111710020B CN202010561860.8A CN202010561860A CN111710020B CN 111710020 B CN111710020 B CN 111710020B CN 202010561860 A CN202010561860 A CN 202010561860A CN 111710020 B CN111710020 B CN 111710020B
- Authority
- CN
- China
- Prior art keywords
- model
- target
- models
- welding
- sheet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种动画渲染方法和装置及存储介质。其中,该方法包括:获取一组贴图和一组模型,其中,一组贴图和一组模型用于渲染目标动画;将一组贴图合并成一个目标图集,其中,一组贴图的材质不完全相同,一个目标图集对应与一个目标材质;将一组模型合并成一个目标模型,其中,目标模型中显示一组模型中的每个模型的形状;响应于图形编程接口的一次调用,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画。本发明解决了动画渲染的效率较低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种动画渲染方法和装置及存储介质。
背景技术
近年通过动画渲染制作特性的应用越发广泛,例如在游戏领域,通常是利用一种将多层渲染动画组合的方式,以获取游戏特性的完整呈现,但在实际应用中,根据多种需求则需制作对应的渲染细节,其中,每个动画的渲染都要用到若干模型和材质,且这些模型和材质都不同,进而在渲染时GPU频繁切换渲染状态,绘制一个特效要切换几十次模型和材质,且渲染前CPU也要准备好这些数据传递给GPU,同样造成CPU的Drawcall数量高,游戏卡顿,耗电快;
目前市场上的游戏特效只能通过减少资源来优化性能。也就是去掉特效中相对不重要的细节,减少模型和贴图的使用,但上述方案无异于是通过牺牲特效的呈现效果的代价,以提高动画渲染效率,对于高质量动画渲染质量要求的群里来说,显然是不合理的。因此,现有技术中存在动画渲染的效率较低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种动画渲染方法和装置及存储介质,以至少解决动画渲染的效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种动画渲染方法,包括:
获取一组贴图和一组模型,其中,上述一组贴图和上述一组模型用于渲染目标动画;将上述一组贴图合并成一个目标图集,其中,上述一组贴图的材质不完全相同,上述一个目标图集对应与一个目标材质;将上述一组模型合并成一个目标模型,其中,上述目标模型中显示上述一组模型中的每个模型的形状;响应于图形编程接口的一次调用,在图像处理器GPU中根据上述目标图集和上述目标模型来渲染上述目标动画。
根据本发明实施例的另一方面,还提供了一种动画渲染装置,包括:
获取单元,用于获取一组贴图和一组模型,其中,上述一组贴图和上述一组模型用于渲染目标动画;第一合并单元,用于将上述一组贴图合并成一个目标图集,其中,上述一组贴图的材质不完全相同,上述一个目标图集对应与一个目标材质;第二合并单元,用于将上述一组模型合并成一个目标模型,其中,上述目标模型中显示上述一组模型中的每个模型的形状;响应单元,用于响应于图形编程接口的一次调用,在图像处理器GPU中根据上述目标图集和上述目标模型来渲染上述目标动画。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述动画渲染方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的动画渲染方法。
在本发明实施例中,获取一组贴图和一组模型,其中,上述一组贴图和上述一组模型用于渲染目标动画;将上述一组贴图合并成一个目标图集,其中,上述一组贴图的材质不完全相同,上述一个目标图集对应与一个目标材质;将上述一组模型合并成一个目标模型,其中,上述目标模型中显示上述一组模型中的每个模型的形状;响应于图形编程接口的一次调用,在图像处理器GPU中根据上述目标图集和上述目标模型来渲染上述目标动画,通过将本不同模型、不同材质的特征元素,处理为满足一次调用条件的相同模型、相同材质的特征元素,达到了可批量目标图集和上述目标模型来渲染上述目标动画的目的,从而实现了提高动画渲染的效率的效果,进而解决了动画渲染的效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的动画渲染方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的动画渲染方法的流程图的示意图;
图3是根据本发明实施例的一种可选的动画渲染方法的示意图;
图4是根据本发明实施例的另一种可选的动画渲染方法的示意图;
图5是根据本发明实施例的另一种可选的动画渲染方法的示意图;
图6是根据本发明实施例的另一种可选的动画渲染方法的示意图;
图7是根据本发明实施例的另一种可选的动画渲染方法的示意图;
图8是根据本发明实施例的另一种可选的动画渲染方法的示意图;
图9是根据本发明实施例的另一种可选的动画渲染方法的示意图;
图10是根据本发明实施例的另一种可选的动画渲染方法的示意图;
图11是根据本发明实施例的另一种可选的动画渲染方法的示意图;
图12是根据本发明实施例的另一种可选的动画渲染方法的示意图;
图13是根据本发明实施例的另一种可选的动画渲染方法的示意图;
图14是根据本发明实施例的一种可选的动画渲染装置的示意图;
图15是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图像处理器(Graphics Processing Unit,简称GPU),是一种专门在个人电脑、工作站、游戏机和一些移动设备上做图像和图形相关运算工作的微处理器;
中央处理器(Central Processing Unit,简称CPU),作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元;
调用图形编程接口(Drawcall),可以但不限于为CPU对底层图形程序接口的调用,以实现动画的渲染效果。
根据本发明实施例的一个方面,提供了一种动画渲染方法,可选地,作为一种可选的实施方式,上述动画渲染方法可以但不限于应用于如图1所示的环境中。其中,可以但不限于包括用户设备102、网络110及服务器112,其中,该用户设备102上可以但不限于包括显示器108、处理器106及存储器104,显示器108上可以但不限于显示图形编辑接口1002以及目标动画1004。
具体过程可如下步骤:
步骤S102,用户设备102在图形编程接口1002处获取一次调用指令;
步骤S104-S106,用户设备102通过网络110将一次调用指令发送给服务器112;
步骤S108-S110,服务器112通过数据库114查找与一次调用指令相关的图集、模型、材质、调用顺序等,并通过处理引擎116根据一次调用指令调用渲染目标动画所需的动画元素(包括元素贴图、元素模型、元素材质、元素调用顺序等),从而生成根据调用后的动画元素所渲染成的目标动画1004;
步骤S112-S114,服务器112通过网络110将目标动画1004发送给用户设备102,用户设备102中的处理器106处理目标动画1004并显示在显示器108中,其中,目标动画1004中的材质、模型均保持一致。
可选地,作为一种可选的实施方式,如图2所示,动画渲染方法包括:
S202,获取一组贴图和一组模型,其中,一组贴图和一组模型用于渲染目标动画;
S204,将一组贴图合并成一个目标图集,其中,一组贴图的材质不完全相同,一个目标图集对应与一个目标材质;
S206,将一组模型合并成一个目标模型,其中,目标模型中显示一组模型中的每个模型的形状;
S208,响应于图形编程接口的一次调用,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画。
可选的,一种动画渲染方法可以但不限于应用在游戏特效的制作场景中,可以但不限于通过将渲染完成的目标动画中的特效元素,转化为可一次调用的相同材质、相同模型的特效元素,以在实际应用场景下的动画渲染时,CPU无需准备大量数据数据传递给GPU,以造成CPU的Drawcall数量高,游戏卡顿,耗电快,而是只需利用GPU一次调用的大量特效元素,即可完成动画渲染的实际应用,换言之,上述一种动画渲染方法可以在不损失效果,保证原目标动画外观和质量不降低的情况下,大幅降低Drawcall,提高游戏体验。利用GPU一次调用的大量特效元素可以但不限于利用图像处理器GPU的实例(instance)功能,其中,instance功能可以但不限于实现GPU一次调用大量特效元素的效果,其中,通过instance功能一次调用的大量特效元素需要满足相同材质、相同模型的硬性条件,而在动画渲染方法实施前,渲染完成的目标动画中的特效元素并不满足上述硬性条件,即无法通过instance功能一次调用。动画渲染可以但不限于为一种去真实感的渲染方法,旨在使电脑生成的图像呈现出手绘般的效果,例如在三维模型上贴上相关的特效元素(如贴图)。
需要说明的是,获取一组贴图和一组模型,其中,一组贴图和一组模型用于渲染目标动画;将一组贴图合并成一个目标图集,其中,一组贴图的材质不完全相同,一个目标图集对应与一个目标材质;将一组模型合并成一个目标模型,其中,目标模型中显示一组模型中的每个模型的形状;响应于图形编程接口的一次调用,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画。可选的,材质可以但不限于为一种数据集,用于给渲染器提供数据和光照算法,其中,材质(Material)可以但不限于为一种数据集,用于表现物体对光的交互,供渲染器读取,包括贴图纹理、光照算法等,还可以但不限于用来指定物体的表面或数个面的特性,决定平面在着色时的特性,如颜色、光亮程度、自发光度以及不透明度等;贴图可以但不限于为一种制定到材质上的图形。模型可以但不限于为一种按照比例制作设计成的,具有多维数据(例如二维、三维等)的物体,例如建筑模型、道具模型、人物模型等。可选的,目标动画可以但不限于为使用Drawcall渲染的特征效果。
进一步举例说明,可选的例如图3所示,包括目标游戏场景中,满足设计师要求的,并用于展现目标特效的目标动画302,其中,目标动画302是由一组贴图和一组模型304(箭头表示方向轴,例如X轴、Y轴、Z轴等,其中,模型包括三个方向轴即表示其为三维模型,同理,包括两个方向轴即表示其为二维模型)渲染获取的,并且一组贴图和一组模型304中贴图的材质不完全相同,一组贴图和一组模型304中的模型也不完全相同,换言之,模型、材质都不完全相同的一组贴图和一组模型304,是无法通过GPU instance功能一次调用的。
进一步举例说明,可选的例如图4所示,包括目标图集和目标模型402,其中,目标图集和目标模型402为处理后的一组贴图和一组模型304,具体的,将一组贴图和一组模型304中的一组贴图合并获得目标图集,将一组贴图和一组模型304中的一组模型合并获得目标模型,其中,目标图集和目标模型402中贴图的材质完全相同,目标图集和目标模型402中的模型也完全相同,换言之,模型、材质都相同的目标图集和目标模型402,运行通过GPUinstance功能一次调用。
通过本申请提供的实施例,获取一组贴图和一组模型,其中,一组贴图和一组模型用于渲染目标动画;将一组贴图合并成一个目标图集,其中,一组贴图的材质不完全相同,一个目标图集对应与一个目标材质;将一组模型合并成一个目标模型,其中,目标模型中显示一组模型中的每个模型的形状;响应于图形编程接口的一次调用,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画,通过将本不同模型、不同材质的特征元素,处理为满足一次调用条件的相同模型、相同材质的特征元素,达到了可批量目标图集和目标模型来渲染目标动画的目的,从而实现了提高动画渲染的效率的效果。
作为一种可选的方案,将一组贴图合并成一个目标图集的情况下,方法还包括:
使用目标材质球引用目标图集,其中,目标材质球的材质为目标材质,目标材质球用于被GPU使用以获取目标图集。可选的,材质球可以但不限于为一种参数文件库,可以但不限于包括贴图以及其他参数,例如物理性质参数、动态参数、静态参数等。
需要说明的是,使用目标材质球引用目标图集,其中,目标材质球的材质为目标材质,目标材质球用于被GPU使用以获取目标图集。
进一步举例说明,可选的例如图5所示,包括一组贴图502,其中,一组贴图502中包括多张贴图,进一步,将一组贴图502中的多张贴图合并,获得目标图集504,并建立目标材质球与目标图集504的引用关系,在后续的目标动画渲染过程中,可GPU通过目标材质球直接引用目标图集504,其中,目标材质球可以但不限于整合目标动画渲染过程中的全部特效功能。
通过本申请提供的实施例,使用目标材质球引用目标图集,其中,目标材质球的材质为目标材质,目标材质球用于被GPU使用以获取目标图集,达到了通过一个目标材质球,即可引用同材质的一组贴图的目的,实现了即提高贴图引用的效率,又使得待引用的贴图材质保持一致的效果。
作为一种可选的方案,将一组模型合并成一个目标模型,包括以下之一:
S1,在一组模型包括第一片状模型和第二片状模型的情况下,将第一片状模型和第二片状模型相互垂直地进行焊接,得到第一焊接模型,其中,第一焊接模型中第一片状模型和第二片状模型彼此接触,目标模型包括第一焊接模型;或者
S2,在一组模型包括第一片状模型、第二片状模型和第三片状模型的情况下,将第一片状模型、第二片状模型和第三片状模型相互垂直地进行焊接,得到第二焊接模型,其中,第二焊接模型中第一片状模型、第二片状模型和第三片状模型彼此接触,目标模型包括第二焊接模型。可选的,片状模型可以但不限于为二维模型片。
需要说明的是,在一组模型包括第一片状模型和第二片状模型的情况下,将第一片状模型和第二片状模型相互垂直地进行焊接,得到第一焊接模型,其中,第一焊接模型中第一片状模型和第二片状模型彼此接触,目标模型包括第一焊接模型;或者在一组模型包括第一片状模型、第二片状模型和第三片状模型的情况下,将第一片状模型、第二片状模型和第三片状模型相互垂直地进行焊接,得到第二焊接模型,其中,第二焊接模型中第一片状模型、第二片状模型和第三片状模型彼此接触,目标模型包括第二焊接模型。
进一步举例说明,可选的例如图6所示,包括一组模型602,其中,一组模型602包括两个片状模型(如图中所示包括两个方向轴,即为二维模型),进一步,将一组模型602中的两个片状模型相互垂直地进行焊接,以获得第一焊接模型604(如图中所示包括三个方向轴,即为三维模型)。
进一步举例说明,可选的例如图7所示,包括一组模型702,其中,一组模型702包括三个片状模型(如图中所示包括两个方向轴,即为二维模型),进一步,将一组模型702中的三个片状模型相互垂直地进行焊接,以获得第二焊接模型704(如图中所示包括三个方向轴,即为三维模型)
通过本申请提供的实施例,在一组模型包括第一片状模型和第二片状模型的情况下,将第一片状模型和第二片状模型相互垂直地进行焊接,得到第一焊接模型,其中,第一焊接模型中第一片状模型和第二片状模型彼此接触,目标模型包括第一焊接模型;或者在一组模型包括第一片状模型、第二片状模型和第三片状模型的情况下,将第一片状模型、第二片状模型和第三片状模型相互垂直地进行焊接,得到第二焊接模型,其中,第二焊接模型中第一片状模型、第二片状模型和第三片状模型彼此接触,目标模型包括第二焊接模型,达到了通过垂直焊接多个片状模型的方式,以获得唯一立体模型的目的,实现了提高模型的应用效率的效果。
作为一种可选的方案,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画,包括:
S1,在目标模型包括第一焊接模型的情况下,在GPU中对第一焊接模型复制2份,得到第一复制模型和第二复制模型;将第一复制模型在第一方向上缩成0,得到第一片状模型,并将第二复制模型在第二方向上缩成0,得到第二片状模型,其中,第一方向与第二方向为相互垂直的方向;在图像处理器GPU中根据目标图集、第一片状模型和第二片状模型来渲染目标动画;或者
S2,在目标模型包括第二焊接模型的情况下,在GPU中对第一焊接模型复制3份,得到第一复制模型、第二复制模型和第三复制模型;将第一复制模型在第一方向上缩成0,得到第一片状模型,将第二复制模型在第二方向上缩成0,得到第二片状模型,并将第三复制模型在第三方向上缩成0,得到第三片状模型,其中,第一方向、第二方向与第三方向为相互垂直的方向;在图像处理器GPU中根据目标图集、第一片状模型、第二片状模型以及第三片状模型来渲染目标动画。
可选的。
需要说明的是,在目标模型包括第一焊接模型的情况下,在GPU中对第一焊接模型复制2份,得到第一复制模型和第二复制模型;将第一复制模型在第一方向上缩成0,得到第一片状模型,并将第二复制模型在第二方向上缩成0,得到第二片状模型,其中,第一方向与第二方向为相互垂直的方向;在图像处理器GPU中根据目标图集、第一片状模型和第二片状模型来渲染目标动画;或者在目标模型包括第二焊接模型的情况下,在GPU中对第一焊接模型复制3份,得到第一复制模型、第二复制模型和第三复制模型;将第一复制模型在第一方向上缩成0,得到第一片状模型,将第二复制模型在第二方向上缩成0,得到第二片状模型,并将第三复制模型在第三方向上缩成0,得到第三片状模型,其中,第一方向、第二方向与第三方向为相互垂直的方向;在图像处理器GPU中根据目标图集、第一片状模型、第二片状模型以及第三片状模型来渲染目标动画。
进一步举例说明,可选的例如图8所示,包括由复制2份第一焊接模型604得到的第一复制模型802、第二复制模型804;再者,以对第一复制模型802的处理为例,将第一复制模型802在第一方向806上缩成0,进而得到第一片状模型810(显示部分),其中,第一片状模型810所展现的效果与一组模型602中的对应模型相同;进一步,以对第二复制模型804的处理为例,将第二复制模型804在第二方向808上缩成0,进而得到第二片状模型812(显示部分),其中,第二片状模型812所展现的效果与一组模型602中的对应模型相同。
通过本申请提供的实施例,在目标模型包括第一焊接模型的情况下,在GPU中对第一焊接模型复制2份,得到第一复制模型和第二复制模型;将第一复制模型在第一方向上缩成0,得到第一片状模型,并将第二复制模型在第二方向上缩成0,得到第二片状模型,其中,第一方向与第二方向为相互垂直的方向;在图像处理器GPU中根据目标图集、第一片状模型和第二片状模型来渲染目标动画;或者在目标模型包括第二焊接模型的情况下,在GPU中对第一焊接模型复制3份,得到第一复制模型、第二复制模型和第三复制模型;将第一复制模型在第一方向上缩成0,得到第一片状模型,将第二复制模型在第二方向上缩成0,得到第二片状模型,并将第三复制模型在第三方向上缩成0,得到第三片状模型,其中,第一方向、第二方向与第三方向为相互垂直的方向;在图像处理器GPU中根据目标图集、第一片状模型、第二片状模型以及第三片状模型来渲染目标动画,通过对三维模型方向上的缩放处理,得到多个显示效果不同的片状模型,达到了使用同一模型也可以得到不同的片选模型的目的,实现了提高同一模型的应用多样性的效果。
作为一种可选的方案,将一组模型合并成一个目标模型,包括以下之一:
S1,在一组模型包括2个模型、2个模型至少包括一个立体模型的情况下,将2个模型相互垂直地进行焊接,得到第三焊接模型,其中,第三焊接模型中2个模型彼此不接触,目标模型包括第三焊接模型;或者
S2,在一组模型包括3个模型、3个模型至少包括一个立体模型的情况下,将3个模型相互垂直地进行焊接,得到第四焊接模型,其中,第四焊接模型中3个模型彼此不接触,目标模型包括第四焊接模型。
需要说明的是,在一组模型包括2个模型、2个模型至少包括一个立体模型的情况下,将2个模型相互垂直地进行焊接,得到第三焊接模型,其中,第三焊接模型中2个模型彼此不接触,目标模型包括第三焊接模型;或者在一组模型包括3个模型、3个模型至少包括一个立体模型的情况下,将3个模型相互垂直地进行焊接,得到第四焊接模型,其中,第四焊接模型中3个模型彼此不接触,目标模型包括第四焊接模型。
进一步举例说明,可选的例如图9所示,包括一组模型902,其中,一组模型902中包括2个立体模型(三个方向轴),以及通过垂直焊接获取的第三焊接模型904;
具体的,将一组模型902中的2个立体模型通过垂直焊接的方式进行处理,以获得第三焊接模型904,其中,在焊接过程中,为2个立体模型之间留出预设距离906。
通过本申请提供的实施例,在一组模型包括2个模型、2个模型至少包括一个立体模型的情况下,将2个模型相互垂直地进行焊接,得到第三焊接模型,其中,第三焊接模型中2个模型彼此不接触,目标模型包括第三焊接模型;或者在一组模型包括3个模型、3个模型至少包括一个立体模型的情况下,将3个模型相互垂直地进行焊接,得到第四焊接模型,其中,第四焊接模型中3个模型彼此不接触,目标模型包括第四焊接模型,达到了利用焊接的方式,将多个立体模型处理为一个立体模型的目的,实现了提高立体模型的统一性的效果。
作为一种可选的方案,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画,包括:
S1,在目标模型包括第三焊接模型的情况下,在GPU中对第三焊接模型复制2份,得到第四复制模型和第五复制模型;将第四复制模型进行旋转,以使得2个模型中的一个模型露出虚拟地面,得到2个模型中的一个模型,并将第五复制模型进行旋转,以使得2个模型中的另一个模型露出虚拟地面,得到2个模型中的另一个模型;在图像处理器GPU中根据目标图集、和2个模型来渲染目标动画;或者
S2,在目标模型包括第四焊接模型的情况下,在GPU中对第四焊接模型复制3份,得到第四复制模型、第五复制模型和第六复制模型;将第四复制模型、第五复制模型和第六复制模型分别进行旋转,以分别使得3个模型中的一个模型露出虚拟地面,得到3个模型;在图像处理器GPU中根据目标图集、和3个模型来渲染目标动画。
需要说明的是,在目标模型包括第三焊接模型的情况下,在GPU中对第三焊接模型复制2份,得到第四复制模型和第五复制模型;将第四复制模型进行旋转,以使得2个模型中的一个模型露出虚拟地面,得到2个模型中的一个模型,并将第五复制模型进行旋转,以使得2个模型中的另一个模型露出虚拟地面,得到2个模型中的另一个模型;在图像处理器GPU中根据目标图集、和2个模型来渲染目标动画;或者在目标模型包括第四焊接模型的情况下,在GPU中对第四焊接模型复制3份,得到第四复制模型、第五复制模型和第六复制模型;将第四复制模型、第五复制模型和第六复制模型分别进行旋转,以分别使得3个模型中的一个模型露出虚拟地面,得到3个模型;在图像处理器GPU中根据目标图集、和3个模型来渲染目标动画。
进一步举例说明,可选的例如图10所示,包括通过复制第三焊接模型904两(2)份得到的第四复制模型1002以及第五复制模型1004;进一步,以对第四复制模型1002的处理为例,通过旋转(图中虚拟弯曲箭头所示),将需隐藏的部分(如第二立体模型1010)隐藏在虚拟地面1006中,进而得到第一立体模型1008(显示部分),其中,第一立体模型1008与一组模型902中的相关模型显示效果一致;再者,以对第五复制模型1004的处理为例,通过旋转(图中虚拟弯曲箭头所示),将需隐藏的部分隐藏(如第一立体模型1008)在虚拟地面1006中,进而得到第二立体模型1010(显示部分),其中,第二立体模型1010与一组模型902中的相关模型显示效果一致。
通过本申请提供的实施例,在目标模型包括第三焊接模型的情况下,在GPU中对第三焊接模型复制2份,得到第四复制模型和第五复制模型;将第四复制模型进行旋转,以使得2个模型中的一个模型露出虚拟地面,得到2个模型中的一个模型,并将第五复制模型进行旋转,以使得2个模型中的另一个模型露出虚拟地面,得到2个模型中的另一个模型;在图像处理器GPU中根据目标图集、和2个模型来渲染目标动画;或者在目标模型包括第四焊接模型的情况下,在GPU中对第四焊接模型复制3份,得到第四复制模型、第五复制模型和第六复制模型;将第四复制模型、第五复制模型和第六复制模型分别进行旋转,以分别使得3个模型中的一个模型露出虚拟地面,得到3个模型;在图像处理器GPU中根据目标图集、和3个模型来渲染目标动画,通过将整个模型的部分隐藏在虚拟地面,达到了基于一个模型即可获得多个立体模型的显示效果的目的,实现了提高立体模型的利用效率的效果。
作为一种可选的方案,将一组模型合并成一个目标模型,包括:
在一组模型包括多个同时存在的模型的情况下,将多个同时存在的模型在不同的层上进行焊接,得到第五焊接模型,其中,第五焊接模型中多个同时存在的模型位于不同的层上、且彼此不接触,目标模型包括第五焊接模型。
需要说明的是,在一组模型包括多个同时存在的模型的情况下,将多个同时存在的模型在不同的层上进行焊接,得到第五焊接模型,其中,第五焊接模型中多个同时存在的模型位于不同的层上、且彼此不接触,目标模型包括第五焊接模型。
进一步举例说明,可选的例如图11所示,包括一组模型1102,其中,一组模型1102中包括两个立体模型,将一组模型1102中的两个立体模型水平焊接在一起,进而得到第五焊接模型1104,其中,第五焊接模型1104中分为两部分,两部分对应的模型之间存在预设距离1106。
通过本申请提供的实施例,在一组模型包括多个同时存在的模型的情况下,将多个同时存在的模型在不同的层上进行焊接,得到第五焊接模型,其中,第五焊接模型中多个同时存在的模型位于不同的层上、且彼此不接触,目标模型包括第五焊接模型,达到了将将多个同时存在的模型合并成一个模型的目的,实现了提高模型的合并全面性的效果。
作为一种可选的方案,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画,包括:
S1,在目标模型包括第五焊接模型、且多个同时存在的模型为N个模型的情况下,在GPU中对第五焊接模型复制N份,得到N个复制模型;分别将N个复制模型进行抬升操作和隐藏操作,来得到N个模型,其中,N为大于1的自然数,对于N个复制模型中的每个复制模型而言,抬升操作用于展示隐藏在虚拟地面之下的1个模型,隐藏操作用于隐藏在虚拟地面之上除1个模型之外的模型;
S2,在图像处理器GPU中根据目标图集、和N个模型来渲染目标动画。
需要说明的是,在目标模型包括第五焊接模型、且多个同时存在的模型为N个模型的情况下,在GPU中对第五焊接模型复制N份,得到N个复制模型;分别将N个复制模型进行抬升操作和隐藏操作,来得到N个模型,其中,N为大于1的自然数,对于N个复制模型中的每个复制模型而言,抬升操作用于展示隐藏在虚拟地面之下的1个模型,隐藏操作用于隐藏在虚拟地面之上除1个模型之外的模型;在图像处理器GPU中根据目标图集、和N个模型来渲染目标动画。
进一步举例说明,可选的例如图12所示,包括一组模型1102,其中,一组模型1102中包括第一立体模型1214、第二立体模型1216,虚拟地面1208,其中,第五焊接模型1104部分被虚拟地面1208隐藏,此时显示的内容为第一立体模型1214的全部以及第二立体模型1216的部分,进一步,具体可参考以下步骤:S1202,执行抬升操作,将第五焊接模型1104整体从虚拟地面1208中抬升,此时显示的内容为第一立体模型1214以及第二立体模型1216的全部;S1204,执行隐藏操作,将第五焊接模型1104的部分隐藏在虚拟地面1208中,此时显示的内容为第一立体模型1214的全部,而第二立体模型1216的内容全部在虚拟地面1208中隐藏。
通过本申请提供的实施例,在目标模型包括第五焊接模型、且多个同时存在的模型为N个模型的情况下,在GPU中对第五焊接模型复制N份,得到N个复制模型;分别将N个复制模型进行抬升操作和隐藏操作,来得到N个模型,其中,N为大于1的自然数,对于N个复制模型中的每个复制模型而言,抬升操作用于展示隐藏在虚拟地面之下的1个模型,隐藏操作用于隐藏在虚拟地面之上除1个模型之外的模型;在图像处理器GPU中根据目标图集、和N个模型来渲染目标动画,达到了灵活显示或隐藏所需模型内容的目的,实现了提高模型显示的灵活性的效果。
作为一种可选的方案,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画之前,方法还包括:
S1,获取绘制顺序信息,其中,绘制顺序信息用于表示目标动画中的物体被绘制的顺序;
S2,根据目标图集、目标模型和绘制顺序信息,生成目标动画渲染文件,其中,目标动画渲染文件用于被GPU使用来渲染目标动画。
可选的,GPU Instance功能的实现,还要满足一个条件,即绘制的大量物体必须彼此绘制顺序相邻,换言之,绘制的大量物体在画面中的顺序要前后紧邻,中间不能插入其他物体,而在游戏运行的场景下,特效的出现时机、位置随机,并不满足上述条件,则若想让每个特效中的物体排序连续,不能穿插进其他物体,可以但不限于通过渲染应用程序接口(Application Programming,简称API)中的排序组(SortingGroup)属性动态控制特效层级。
需要说明的是,获取绘制顺序信息,其中,绘制顺序信息用于表示目标动画中的物体被绘制的顺序;根据目标图集、目标模型和绘制顺序信息,生成目标动画渲染文件,其中,目标动画渲染文件用于被GPU使用来渲染目标动画。
进一步举例说明,可选的例如使用SortingGroup控制排序,在特效初始化时动态分配一个专属排序组,可以让每个特效内部独立排序从而保证自己的物体绘制顺序彼此相邻。
通过本申请提供的实施例,获取绘制顺序信息,其中,绘制顺序信息用于表示目标动画中的物体被绘制的顺序;根据目标图集、目标模型和绘制顺序信息,生成目标动画渲染文件,其中,目标动画渲染文件用于被GPU使用来渲染目标动画,达到了保证物体绘制顺序彼此相邻的目的,实现了提高实现GPU Instance功能的有效性的效果。
作为一种可选的方案,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画,包括:
在GPU中按照目标动画渲染文件中的绘制顺序信息所表示的顺序,对目标图集和目标模型所表示的物体进行绘制,以渲染目标动画。
需要说明的是,在GPU中按照目标动画渲染文件中的绘制顺序信息所表示的顺序,对目标图集和目标模型所表示的物体进行绘制,以渲染目标动画。
进一步举例说明,可选的例如图13所示,具体如以下步骤所示:
步骤S1302,获取渲染目标动画所需的特效元素;
步骤S1304,将特效元素中的贴图合并成目标图集,模型合并成目标模型;
步骤S1306,将目标图集和目标模型导入引擎,并重新调整目标动画;
步骤S1308,将目标材质球的着色器(Shader)开启Instance功能,其中,Shader可以但不限于用于渲染图像,以及可以但不限于用于自定义显卡渲染画面的算法;
步骤S1310,在特效总结点挂载绘制顺序信息,其中,挂载可以但不限于为由操作系统使一个存储设备上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程,绘制顺序信息可以但不限用于保证物体的绘制顺序彼此相邻;
步骤S1312,保存特效文件,在运行时GPU可一次调用特效元素以绘制目标动画。
通过本申请提供的实施例,在GPU中按照目标动画渲染文件中的绘制顺序信息所表示的顺序,对目标图集和目标模型所表示的物体进行绘制,以渲染目标动画,达到了将目标动画所需调用的物体,转化为可一次调用的物体的目的,实现了提高物体的调用效率、以及提升目标动画的渲染效率的效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述动画渲染方法的动画渲染装置。如图14所示,该装置包括:
获取单元1402,用于获取一组贴图和一组模型,其中,一组贴图和一组模型用于渲染目标动画;
第一合并单元1404,用于将一组贴图合并成一个目标图集,其中,一组贴图的材质不完全相同,一个目标图集对应与一个目标材质;
第二合并单元1406,用于将一组模型合并成一个目标模型,其中,目标模型中显示一组模型中的每个模型的形状;
响应单元1408,用于响应于图形编程接口的一次调用,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画。
可选的,一种动画渲染装置可以但不限于应用在游戏特效的制作场景中,可以但不限于通过将渲染完成的目标动画中的特效元素,转化为可一次调用的相同材质、相同模型的特效元素,以在实际应用场景下的动画渲染时,CPU无需准备大量数据数据传递给GPU,以造成CPU的Drawcall数量高,游戏卡顿,耗电快,而是只需利用GPU一次调用的大量特效元素,即可完成动画渲染的实际应用,换言之,上述一种动画渲染装置可以在不损失效果,保证原目标动画外观和质量不降低的情况下,大幅降低Drawcall,提高游戏体验。利用GPU一次调用的大量特效元素可以但不限于利用图像处理器GPU的实例(instance)功能,其中,instance功能可以但不限于实现GPU一次调用大量特效元素的效果,其中,通过instance功能一次调用的大量特效元素需要满足相同材质、相同模型的硬性条件,而在动画渲染装置实施前,渲染完成的目标动画中的特效元素并不满足上述硬性条件,即无法通过instance功能一次调用。动画渲染可以但不限于为一种去真实感的渲染装置,旨在使电脑生成的图像呈现出手绘般的效果,例如在三维模型上贴上相关的特效元素(如贴图)。
需要说明的是,获取一组贴图和一组模型,其中,一组贴图和一组模型用于渲染目标动画;将一组贴图合并成一个目标图集,其中,一组贴图的材质不完全相同,一个目标图集对应与一个目标材质;将一组模型合并成一个目标模型,其中,目标模型中显示一组模型中的每个模型的形状;响应于图形编程接口的一次调用,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画。可选的,材质可以但不限于为一种数据集,用于给渲染器提供数据和光照算法,其中,材质(Material)可以但不限于为一种数据集,用于表现物体对光的交互,供渲染器读取,包括贴图纹理、光照算法等,还可以但不限于用来指定物体的表面或数个面的特性,决定平面在着色时的特性,如颜色、光亮程度、自发光度以及不透明度等;贴图可以但不限于为一种制定到材质上的图形。模型可以但不限于为一种按照比例制作设计成的,具有多维数据(例如二维、三维等)的物体,例如建筑模型、道具模型、人物模型等。
具体实施例可以参考上述动画渲染方法中所示示例,本示例中在此不再赘述。
通过本申请提供的实施例,获取一组贴图和一组模型,其中,一组贴图和一组模型用于渲染目标动画;将一组贴图合并成一个目标图集,其中,一组贴图的材质不完全相同,一个目标图集对应与一个目标材质;将一组模型合并成一个目标模型,其中,目标模型中显示一组模型中的每个模型的形状;响应于图形编程接口的一次调用,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画,通过将本不同模型、不同材质的特征元素,处理为满足一次调用条件的相同模型、相同材质的特征元素,达到了可批量目标图集和目标模型来渲染目标动画的目的,从而实现了提高动画渲染的效率的效果。
作为一种可选的方案,第一合并单元1404包括:
引用模块,用于使用目标材质球引用目标图集,其中,目标材质球的材质为目标材质,目标材质球用于被GPU使用以获取目标图集。
具体实施例可以参考上述动画渲染方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第二合并单元1406包括以下之一:
第一焊接模块,用于在一组模型包括第一片状模型和第二片状模型的情况下,将第一片状模型和第二片状模型相互垂直地进行焊接,得到第一焊接模型,其中,第一焊接模型中第一片状模型和第二片状模型彼此接触,目标模型包括第一焊接模型;或者
第二焊接模块,用于在一组模型包括第一片状模型、第二片状模型和第三片状模型的情况下,将第一片状模型、第二片状模型和第三片状模型相互垂直地进行焊接,得到第二焊接模型,其中,第二焊接模型中第一片状模型、第二片状模型和第三片状模型彼此接触,目标模型包括第二焊接模型。
具体实施例可以参考上述动画渲染方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,响应单元1408包括:
第一处理模块,用于在目标模型包括第一焊接模型的情况下,在GPU中对第一焊接模型复制2份,得到第一复制模型和第二复制模型;将第一复制模型在第一方向上缩成0,得到第一片状模型,并将第二复制模型在第二方向上缩成0,得到第二片状模型,其中,第一方向与第二方向为相互垂直的方向;在图像处理器GPU中根据目标图集、第一片状模型和第二片状模型来渲染目标动画;或者
第二处理模块,用于在目标模型包括第二焊接模型的情况下,在GPU中对第一焊接模型复制3份,得到第一复制模型、第二复制模型和第三复制模型;将第一复制模型在第一方向上缩成0,得到第一片状模型,将第二复制模型在第二方向上缩成0,得到第二片状模型,并将第三复制模型在第三方向上缩成0,得到第三片状模型,其中,第一方向、第二方向与第三方向为相互垂直的方向;在图像处理器GPU中根据目标图集、第一片状模型、第二片状模型以及第三片状模型来渲染目标动画。
具体实施例可以参考上述动画渲染方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第二合并单元1406包括以下之一:
第三焊接模块,用于在一组模型包括2个模型、2个模型至少包括一个立体模型的情况下,将2个模型相互垂直地进行焊接,得到第三焊接模型,其中,第三焊接模型中2个模型彼此不接触,目标模型包括第三焊接模型;或者
第四焊接模块,用于在一组模型包括3个模型、3个模型至少包括一个立体模型的情况下,将3个模型相互垂直地进行焊接,得到第四焊接模型,其中,第四焊接模型中3个模型彼此不接触,目标模型包括第四焊接模型。
具体实施例可以参考上述动画渲染方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,响应单元1408包括:
第三处理模块,用于在目标模型包括第三焊接模型的情况下,在GPU中对第三焊接模型复制2份,得到第四复制模型和第五复制模型;将第四复制模型进行旋转,以使得2个模型中的一个模型露出虚拟地面,得到2个模型中的一个模型,并将第五复制模型进行旋转,以使得2个模型中的另一个模型露出虚拟地面,得到2个模型中的另一个模型;在图像处理器GPU中根据目标图集、和2个模型来渲染目标动画;或者
第四处理模块,用于在目标模型包括第四焊接模型的情况下,在GPU中对第四焊接模型复制3份,得到第四复制模型、第五复制模型和第六复制模型;将第四复制模型、第五复制模型和第六复制模型分别进行旋转,以分别使得3个模型中的一个模型露出虚拟地面,得到3个模型;在图像处理器GPU中根据目标图集、和3个模型来渲染目标动画。
具体实施例可以参考上述动画渲染方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第二合并单元1406包括:
第五焊接模块,用于在一组模型包括多个同时存在的模型的情况下,将多个同时存在的模型在不同的层上进行焊接,得到第五焊接模型,其中,第五焊接模型中多个同时存在的模型位于不同的层上、且彼此不接触,目标模型包括第五焊接模型。
具体实施例可以参考上述动画渲染方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第二合并单元1406包括:
第五处理模块,用于在目标模型包括第五焊接模型、且多个同时存在的模型为N个模型的情况下,在GPU中对第五焊接模型复制N份,得到N个复制模型;分别将N个复制模型进行抬升操作和隐藏操作,来得到N个模型,其中,N为大于1的自然数,对于N个复制模型中的每个复制模型而言,抬升操作用于展示隐藏在虚拟地面之下的1个模型,隐藏操作用于隐藏在虚拟地面之上除1个模型之外的模型;
渲染模块,用于在图像处理器GPU中根据目标图集、和N个模型来渲染目标动画。
具体实施例可以参考上述动画渲染方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,装置还包括:
第二获取单元,用于在图像处理器GPU中根据目标图集和目标模型来渲染目标动画之前,获取绘制顺序信息,其中,绘制顺序信息用于表示目标动画中的物体被绘制的顺序;
生成单元,用于在图像处理器GPU中根据目标图集和目标模型来渲染目标动画之前,根据目标图集、目标模型和绘制顺序信息,生成目标动画渲染文件,其中,目标动画渲染文件用于被GPU使用来渲染目标动画。
具体实施例可以参考上述动画渲染方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,响应单元1408包括:
绘制模块,用于在GPU中按照目标动画渲染文件中的绘制顺序信息所表示的顺序,对目标图集和目标模型所表示的物体进行绘制,以渲染目标动画。
具体实施例可以参考上述动画渲染方法中所示示例,本示例中在此不再赘述。
根据本发明实施例的又一个方面,还提供了一种用于实施上述动画渲染方法的电子装置,如图15所示,该电子装置包括存储器1502和处理器1504,该存储器1502中存储有计算机程序,该处理器1504被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取一组贴图和一组模型,其中,一组贴图和一组模型用于渲染目标动画;
S2,将一组贴图合并成一个目标图集,其中,一组贴图的材质不完全相同,一个目标图集对应与一个目标材质;
S3,将一组模型合并成一个目标模型,其中,目标模型中显示一组模型中的每个模型的形状;
S4,响应于图形编程接口的一次调用,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画。
可选地,本领域普通技术人员可以理解,图15所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图15其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图15中所示更多或者更少的组件(如网络接口等),或者具有与图15所示不同的配置。
其中,存储器1502可用于存储软件程序以及模块,如本发明实施例中的动画渲染方法和装置对应的程序指令/模块,处理器1504通过运行存储在存储器1502内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的动画渲染方法。存储器1502可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1502可进一步包括相对于处理器1504远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1502具体可以但不限于用于存储目标图集、目标模型以及目标动画等信息。作为一种示例,如图15所示,上述存储器1502中可以但不限于包括上述动画渲染装置中的获取单元1402、第一合并单元1404、第二合并单元1406及响应单元1408。此外,还可以包括但不限于上述动画渲染装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1506包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1506为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1508,用于显示上述目标图集、目标模型以及目标动画等信息;和连接总线1510,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取一组贴图和一组模型,其中,一组贴图和一组模型用于渲染目标动画;
S2,将一组贴图合并成一个目标图集,其中,一组贴图的材质不完全相同,一个目标图集对应与一个目标材质;
S3,将一组模型合并成一个目标模型,其中,目标模型中显示一组模型中的每个模型的形状;
S4,响应于图形编程接口的一次调用,在图像处理器GPU中根据目标图集和目标模型来渲染目标动画。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种动画渲染方法,其特征在于,包括:
获取一组贴图和一组模型,其中,所述一组贴图和所述一组模型用于渲染目标动画;
将所述一组贴图合并成一个目标图集,其中,所述一组贴图的材质不完全相同,所述一个目标图集对应与一个目标材质;
将所述一组模型合并成一个目标模型,其中,所述目标模型中显示所述一组模型中的每个模型的形状;
响应于图形编程接口的一次调用,在图像处理器GPU中根据所述目标图集和所述目标模型来渲染所述目标动画;
所述将所述一组模型合并成一个目标模型,包括:在所述一组模型包括多个同时存在的模型的情况下,将所述多个同时存在的模型在不同的层上进行焊接,得到第五焊接模型,其中,所述第五焊接模型中所述多个同时存在的模型位于不同的层上、且彼此不接触,所述目标模型包括所述第五焊接模型;
所述在图像处理器GPU中根据所述目标图集和所述目标模型来渲染所述目标动画,包括:在所述目标模型包括所述第五焊接模型、且所述多个同时存在的模型为N个模型的情况下,在所述GPU中对所述第五焊接模型复制N份,得到N个复制模型;分别将所述N个复制模型进行抬升操作和隐藏操作,来得到所述N个模型,其中,N为大于1的自然数,对于所述N个复制模型中的每个复制模型而言,所述抬升操作用于展示隐藏在虚拟地面之下的1个模型,所述隐藏操作用于隐藏在所述虚拟地面之上除所述1个模型之外的模型;在图像处理器GPU中根据所述目标图集、和所述N个模型来渲染所述目标动画。
2.根据权利要求1所述的方法,其特征在于,所述将所述一组贴图合并成一个目标图集的情况下,所述方法还包括:
使用目标材质球引用所述目标图集,其中,所述目标材质球的材质为所述目标材质,所述目标材质球用于被所述GPU使用以获取所述目标图集。
3.根据权利要求1所述的方法,其特征在于,所述将所述一组模型合并成一个目标模型,还可以包括以下之一:
在所述一组模型包括第一片状模型和第二片状模型的情况下,将所述第一片状模型和所述第二片状模型相互垂直地进行焊接,得到第一焊接模型,其中,所述第一焊接模型中所述第一片状模型和所述第二片状模型彼此接触,所述目标模型包括所述第一焊接模型;或者
在所述一组模型包括第一片状模型、第二片状模型和第三片状模型的情况下,将所述第一片状模型、所述第二片状模型和所述第三片状模型相互垂直地进行焊接,得到第二焊接模型,其中,所述第二焊接模型中所述第一片状模型、所述第二片状模型和所述第三片状模型彼此接触,所述目标模型包括所述第二焊接模型。
4.根据权利要求3所述的方法,其特征在于,所述在图像处理器GPU中根据所述目标图集和所述目标模型来渲染所述目标动画,还可以包括:在所述目标模型包括所述第一焊接模型的情况下,在所述GPU中对所述第一焊接模型复制2份,得到第一复制模型和第二复制模型;将所述第一复制模型在第一方向上缩成0,得到所述第一片状模型,并将所述第二复制模型在第二方向上缩成0,得到所述第二片状模型,其中,所述第一方向与所述第二方向为所述相互垂直的方向;在图像处理器GPU中根据所述目标图集、所述第一片状模型和所述第二片状模型来渲染所述目标动画;或者
在所述目标模型包括所述第二焊接模型的情况下,在所述GPU中对所述第二焊接模型复制3份,得到所述第一复制模型、所述第二复制模型和第三复制模型;将所述第一复制模型在所述第一方向上缩成0,
得到所述第一片状模型,将所述第二复制模型在所述第二方向上缩成0,得到所述第二片状模型,并将所述第三复制模型在第三方向上缩成0,
得到所述第三片状模型,其中,所述第一方向、所述第二方向与所述第三方向为所述相互垂直的方向;在图像处理器GPU中根据所述目标图集、所述第一片状模型、所述第二片状模型以及所述第三片状模型来渲染所述目标动画。
5.根据权利要求1所述的方法,其特征在于,所述将所述一组模型合并成一个目标模型,还可以包括以下之一:
在所述一组模型包括2个模型、所述2个模型至少包括一个立体模型的情况下,将所述2个模型相互垂直地进行焊接,得到第三焊接模型,其中,所述第三焊接模型中所述2个模型彼此不接触,所述目标模型包括所述第三焊接模型;或者
在所述一组模型包括3个模型、所述3个模型至少包括一个立体模型的情况下,将所述3个模型相互垂直地进行焊接,得到第四焊接模型,其中,所述第四焊接模型中所述3个模型彼此不接触,所述目标模型包括所述第四焊接模型。
6.根据权利要求5所述的方法,其特征在于,所述在图像处理器GPU中根据所述目标图集和所述目标模型来渲染所述目标动画,还可以包括:在所述目标模型包括所述第三焊接模型的情况下,在所述GPU中对所述第三焊接模型复制2份,得到第四复制模型和第五复制模型;将所述第四复制模型进行旋转,以使得所述2个模型中的一个模型露出虚拟地面,得到所述2个模型中的所述一个模型,并将所述第五复制模型进行旋转,以使得所述2个模型中的另一个模型露出所述虚拟地面,得到所述2个模型中的所述另一个模型;在图像处理器GPU中根据所述目标图集、和所述2个模型来渲染所述目标动画;或者
在所述目标模型包括所述第四焊接模型的情况下,在所述GPU中对所述第四焊接模型复制3份,得到所述第四复制模型、所述第五复制模型和第六复制模型;将所述第四复制模型、所述第五复制模型和第六复制模型分别进行旋转,以分别使得所述3个模型中的一个模型露出虚拟地面,得到所述3个模型;在图像处理器GPU中根据所述目标图集、和所述3个模型来渲染所述目标动画。
7.根据权利要求1所述的方法,其特征在于,在所述图像处理器GPU中根据所述目标图集和所述目标模型来渲染所述目标动画之前,所述方法还包括:
获取绘制顺序信息,其中,所述绘制顺序信息用于表示所述目标动画中的物体被绘制的顺序;
根据所述目标图集、所述目标模型和所述绘制顺序信息,生成目标动画渲染文件,其中,所述目标动画渲染文件用于被所述GPU使用来渲染所述目标动画。
8.根据权利要求7所述的方法,其特征在于,所述在图像处理器GPU中根据所述目标图集和所述目标模型来渲染所述目标动画,包括:
在所述GPU中按照所述目标动画渲染文件中的所述绘制顺序信息所表示的顺序,对所述目标图集和所述目标模型所表示的物体进行绘制,以渲染所述目标动画。
9.一种动画渲染装置,其特征在于,包括:
第一获取单元,用于获取一组贴图和一组模型,其中,所述一组贴图和所述一组模型用于渲染目标动画;
第一合并单元,用于将所述一组贴图合并成一个目标图集,其中,所述一组贴图的材质不完全相同,所述一个目标图集对应与一个目标材质;
第二合并单元,用于将所述一组模型合并成一个目标模型,其中,所述目标模型中显示所述一组模型中的每个模型的形状;
响应单元,用于响应于图形编程接口的一次调用,在图像处理器GPU中根据所述目标图集和所述目标模型来渲染所述目标动画;
所述第二合并单元,包括:第五焊接模块,用于在所述一组模型包括多个同时存在的模型的情况下,将所述多个同时存在的模型在不同的层上进行焊接,得到第五焊接模型,其中,所述第五焊接模型中所述多个同时存在的模型位于不同的层上、且彼此不接触,所述目标模型包括所述第五焊接模型;
所述响应单元,包括:
第五处理模块,用于在所述目标模型包括所述第五焊接模型、且所述多个同时存在的模型为N个模型的情况下,在所述GPU中对所述第五焊接模型复制N份,得到N个复制模型;分别将所述N个复制模型进行抬升操作和隐藏操作,来得到所述N个模型,其中,N为大于1的自然数,对于所述N个复制模型中的每个复制模型而言,所述抬升操作用于展示隐藏在虚拟地面之下的1个模型,所述隐藏操作用于隐藏在所述虚拟地面之上除所述1个模型之外的模型;
渲染模块,用于在图像处理器GPU中根据所述目标图集、和所述N个模型来渲染所述目标动画。
10.根据权利要求9所述的装置,其特征在于,所述第一合并单元包括:引用模块,用于使用目标材质球引用所述目标图集,其中,所述目标材质球的材质为所述目标材质,所述目标材质球用于被所述GPU使用以获取所述目标图集。
11.根据权利要求9所述的装置,其特征在于,所述第二合并单元还可以包括以下之一:
第一焊接模块,用于在所述一组模型包括第一片状模型和第二片状模型的情况下,将所述第一片状模型和所述第二片状模型相互垂直地进行焊接,得到第一焊接模型,其中,所述第一焊接模型中所述第一片状模型和所述第二片状模型彼此接触,所述目标模型包括所述第一焊接模型;或者
第二焊接模块,用于在所述一组模型包括第一片状模型、第二片状模型和第三片状模型的情况下,将所述第一片状模型、所述第二片状模型和所述第三片状模型相互垂直地进行焊接,得到第二焊接模型,其中,所述第二焊接模型中所述第一片状模型、所述第二片状模型和所述第三片状模型彼此接触,所述目标模型包括所述第二焊接模型。
12.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至8任一项中所述的方法。
13.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010561860.8A CN111710020B (zh) | 2020-06-18 | 2020-06-18 | 动画渲染方法和装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010561860.8A CN111710020B (zh) | 2020-06-18 | 2020-06-18 | 动画渲染方法和装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111710020A CN111710020A (zh) | 2020-09-25 |
CN111710020B true CN111710020B (zh) | 2023-03-21 |
Family
ID=72541689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010561860.8A Active CN111710020B (zh) | 2020-06-18 | 2020-06-18 | 动画渲染方法和装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111710020B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112150592B (zh) * | 2020-09-28 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 动画文件的生成方法和装置、存储介质及电子设备 |
CN113590334B (zh) * | 2021-08-06 | 2024-06-04 | 广州博冠信息科技有限公司 | 角色模型处理的方法、装置、介质及电子设备 |
CN116563449A (zh) * | 2022-01-27 | 2023-08-08 | 华为技术有限公司 | 3d模型生成方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107018336A (zh) * | 2017-04-11 | 2017-08-04 | 腾讯科技(深圳)有限公司 | 图像处理的方法和装置及视频处理的方法和装置 |
WO2018095273A1 (zh) * | 2016-11-24 | 2018-05-31 | 腾讯科技(深圳)有限公司 | 图像合成方法、装置以及匹配实现方法、装置 |
CN108564646A (zh) * | 2018-03-28 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置、存储介质、电子装置 |
CN109840931A (zh) * | 2019-01-21 | 2019-06-04 | 网易(杭州)网络有限公司 | 骨骼动画的合批渲染方法、装置、系统及存储介质 |
CN110930479A (zh) * | 2018-09-03 | 2020-03-27 | 福建天晴数码有限公司 | 一种Unity中模型动画快速渲染的方法及终端 |
CN111063032A (zh) * | 2019-12-26 | 2020-04-24 | 北京像素软件科技股份有限公司 | 模型渲染方法、系统及电子装置 |
-
2020
- 2020-06-18 CN CN202010561860.8A patent/CN111710020B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018095273A1 (zh) * | 2016-11-24 | 2018-05-31 | 腾讯科技(深圳)有限公司 | 图像合成方法、装置以及匹配实现方法、装置 |
CN107018336A (zh) * | 2017-04-11 | 2017-08-04 | 腾讯科技(深圳)有限公司 | 图像处理的方法和装置及视频处理的方法和装置 |
CN108564646A (zh) * | 2018-03-28 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置、存储介质、电子装置 |
CN110930479A (zh) * | 2018-09-03 | 2020-03-27 | 福建天晴数码有限公司 | 一种Unity中模型动画快速渲染的方法及终端 |
CN109840931A (zh) * | 2019-01-21 | 2019-06-04 | 网易(杭州)网络有限公司 | 骨骼动画的合批渲染方法、装置、系统及存储介质 |
CN111063032A (zh) * | 2019-12-26 | 2020-04-24 | 北京像素软件科技股份有限公司 | 模型渲染方法、系统及电子装置 |
Non-Patent Citations (5)
Title |
---|
Design and realization of 3D character animation engine;Gao Ying 等;《2009 2nd IEEE International Conference on Broadband Network & Multimedia Technology》;第524-528页 * |
三维室内场景漫游动画的设计研究;曾龙凯等;《湖南环境生物职业技术学院学报》;第19卷(第02期);第22-27页 * |
基于3DS MAX的建筑动画制作技术;袁永美;《中国教育信息化》(第21期);第67-69页 * |
建筑动画制作流程及技术分析;程昌华;《信息技术》(第01期);第46-48页 * |
随机通道建筑动画制作与演示方法创新;庄惠阳等;《软件导刊》;第12卷(第01期);第165-167页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111710020A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111710020B (zh) | 动画渲染方法和装置及存储介质 | |
WO2022116759A1 (zh) | 图像渲染方法、装置、计算机设备和存储介质 | |
CN107358649B (zh) | 地形文件的处理方法和装置 | |
CN110211218B (zh) | 画面渲染方法和装置、存储介质及电子装置 | |
JP5513071B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN106126229B (zh) | 特效生成方法及装置 | |
CN109448089A (zh) | 一种渲染方法及装置 | |
CN111583379B (zh) | 虚拟模型的渲染方法、装置、存储介质与电子设备 | |
CN111400024B (zh) | 渲染过程中的资源调用方法、装置和渲染引擎 | |
CN105528207A (zh) | 一种虚拟现实系统及其中显示安卓应用图像的方法和装置 | |
CN106575158B (zh) | 环境映射虚拟化机构 | |
US20230120253A1 (en) | Method and apparatus for generating virtual character, electronic device and readable storage medium | |
CN108765520B (zh) | 文本信息的渲染方法和装置、存储介质、电子装置 | |
CN108404414B (zh) | 图片的融合方法、装置、存储介质、处理器及终端 | |
WO2022033162A1 (zh) | 一种模型加载方法以及相关装置 | |
CN116670723A (zh) | 用于定制产品的合成视图的高质量渲染的系统和方法 | |
CN111450529A (zh) | 游戏地图的获取方法、装置、存储介质及电子装置 | |
CN110930484B (zh) | 动画配置方法和装置、存储介质及电子装置 | |
RU2680355C1 (ru) | Способ и система удаления невидимых поверхностей трёхмерной сцены | |
CN112419511A (zh) | 三维模型文件处理方法、装置、存储介质及服务器 | |
CN114742931A (zh) | 渲染图像的方法、装置、电子设备及存储介质 | |
CN114429513A (zh) | 可见元素的确定方法和装置、存储介质及电子设备 | |
US10754498B2 (en) | Hybrid image rendering system | |
CN111179390A (zh) | 高效预览cg资产的方法和装置 | |
CN111260768B (zh) | 图片处理方法和装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40028487 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |