用于CG动画制作的渲染镜头重组方法及装置
技术领域
本申请涉及CG动画制作技术领域,具体而言,涉及一种用于CG动画制作的渲染镜头重组方法及装置、电子设备及可读存储介质。
背景技术
在电脑动画制作(Computer graphics,简称CG)技术中,基于缓存的渲染镜头重组流程是很多电影生产流程中的核心步骤。现有的大型生产流程中的几种缓存重组技术方案中均是把整个多边形信息写入到缓存中,然后在下游场景读入后和材质信息组合。基于此思路诞生的行业常用的缓存格式基本上都会将各个制作平台上的多边形拓扑结构和基于时间的坐标变化数据缓存下来,然后在重组的时候反向还原。然而在这个过程中,原始制作平台中没有被纳入采样的部分原始模型上的信息,在重组后的场景中部分信息其实是丢失的,比如说连接在多边形后续的毛发、二维卡通风格线条以及材质信息等。此外,在现有的动画生产流程中,通常需要自行开发后续技术,来把前面缓存导出的部分自行转换存储,然后在缓存重组阶段重新引入和连接。
发明人发现,相关技术中的动画制作流程至少存在如下问题:1)重组后多边形数据的来源为单一线性来源,使得来自上游环节的任何变动都需要所有下游环节同步更新。2)对于重组后缓存读取节点和实际多边形节点以及包括材质信息等后续节点这三者的连接方式,使得其后续操作,例如渲染分层,smooth细分等会影响到三者连接节点关系的时候,将容易造成不可逆的改动,进而损坏文件。3)缓存读取节点的一对多输出多边形数据的结构,在缓存版本更新的时候如果由于之前的环节变动导致新的缓存里多边形列表有增减或者改名的话容易产生和后续的多边形节点连接错位的严重问题。
针对相关技术中的动画制作方法由于在前的环节会对在后的环节造成较大影响导致整个动画制作流程的灵活性较差的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种用于CG动画制作的渲染镜头重组方法及装置、电子设备及可读存储介质,以解决相关技术中的动画制作方法由于在前的环节会对在后的环节造成较大影响导致整个动画制作流程的灵活性较差的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种用于CG动画制作的渲染镜头重组方法。
根据本申请的用于CG动画制作的渲染镜头重组方法包括:提取CG动画数据中的第一信息和CG动画静态模型中的第二信息,其中所述第一信息是指随着时间变动的顶点坐标变动位置信息,所述第二信息是指拓扑结构信息;将所述第一信息通过驱动顶点与所述第二信息进行组合,并输入预设渲染模型进行灯光和/或特效渲染。
进一步地,所述提取CG动画数据中的第一信息和CG动画静态模型中的第二信息之前包括:根据原画数据构建CG动画制作模型,并得到第一数据文件;将所述第一数据文件进行绑定制作,以得到第二数据文件;对所述第二数据文件进行动画制作,以提取所述CG动画数据中的顶点坐标变动位置信息。
进一步地,所述提取CG动画数据中的第一信息和CG动画静态模型中的第二信息包括:调用CG动画缓存数据结构;根据所述CG动画缓存数据结构确定随着时间变动的顶点动画位置信息,以作为所述顶点坐标变动位置信息。
进一步地,所述提取CG动画数据中的第一信息和CG动画静态模型中的第二信息还包括:通过动画控制器提取动画关键帧信息;根据所述动画关键帧信息驱动绑定制作,以输出所述顶点坐标变动位置信息。
进一步地,所述将所述第一信息通过驱动顶点与所述第二信息进行组合,并输入预设渲染模型进行灯光和/或特效渲染包括:在拓扑结构中复用用于渲染的附属设置信息,所述附属设置信息至少包括毛发和/或卡通线设置;根据所述顶点坐标变动位置信息和所述附属设置信息进行灯光和/或特效渲染,以得到制作完成的动画。
为了实现上述目的,根据本申请的另一方面,提供了一种用于CG动画制作的渲染镜头重组装置。
根据本申请的用于CG动画制作的渲染镜头重组装置包括:提取模块,用于提取CG动画数据中的第一信息和CG动画静态模型中的第二信息,其中所述第一信息是指随着时间变动的顶点坐标变动位置信息,所述第二信息是指拓扑结构信息;组合模块,用于将所述第一信息通过驱动顶点与所述第二信息进行组合,并输入预设渲染模型进行灯光和/或特效渲染。
进一步地,所述装置还包括:构建模块,用于根据原画数据构建CG动画制作模型,并得到第一数据文件;绑定模块,用于将所述第一数据文件进行绑定制作,以得到第二数据文件;动画模块,用于对所述第二数据文件进行动画制作,以提取所述CG动画数据中的第一信息。
进一步地,所述提取模块包括:调用单元,用于调用CG动画缓存数据结构;确定单元,用于根据所述CG动画缓存数据结构确定随着时间变动的顶点动画位置信息,以作为所述顶点坐标变动位置信息。
为了实现上述目的,根据本申请的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前所述的方法。
为了实现上述目的,根据本申请的一个方面,提供了一种非暂态可读存储介质,其特征在于,其上存储有计算机指令,所述指令被处理器执行时实现如前所述方法的步骤。
在本申请实施例中,采用提取CG动画数据中的第一信息和CG动画静态模型中的第二信息,其中所述第一信息是指随着时间变动的顶点坐标变动位置信息,所述第二信息是指拓扑结构信息的方式,通过将所述第一信息通过驱动顶点与所述第二信息进行组合,并输入预设渲染模型进行灯光和/或特效渲染,达到了将动画数据和拓扑结构数据在动画制作流程中的结构上并行的目的,从而实现了提高动画制作流程的灵活性的技术效果,进而解决了相关技术中的动画制作方法由于在前的环节会对在后的环节造成较大影响导致整个动画制作流程的灵活性较差的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请第一实施例的用于CG动画制作的渲染镜头重组方法的流程示意图;
图2是根据本申请第二实施例的用于CG动画制作的渲染镜头重组方法的流程示意图;
图3是根据本申请第三实施例的用于CG动画制作的渲染镜头重组方法的流程示意图;
图4是根据本申请第四实施例的用于CG动画制作的渲染镜头重组方法的流程示意图;
图5是根据本申请第五实施例的用于CG动画制作的渲染镜头重组方法的流程示意图;
图6是根据本申请实施例的CG动画制作的全流程示意图;
图7是根据本申请实施例的用于CG动画制作的渲染镜头重组装置的组成结构示意图;以及
图8是根据本申请实施例的电子设备的组成结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本发明实施例,提供了一种用于CG动画制作的渲染镜头重组方法,如图1所示,该方法包括如下的步骤S101至步骤S102:
步骤S101,提取CG动画数据中的第一信息和CG动画静态模型中的第二信息,其中所述第一信息是指随着时间变动的顶点坐标变动位置信息,所述第二信息是指拓扑结构信息。
现有技术中常规的动画缓存流程结构通常是从模型开始到下游的绑定,使用绑定做动画再到动画发布缓存,以及之后重组附材质,最后进入到后续灯光特效环节。前后环节是线性头尾连接的关系,这意味着前期环节一旦做改动,后期环节则需要跟着同步更新改动才能把更新的内容传递下去。而由于动画缓存数据格式的特性,重组后的场景里只有基础的多边形拓扑,对于后续环节需要的材质信息等还需要额外的工具提供帮助。由于重组后多边形数据的来源为单一线性来源,由此使得来自上游环节的任何变动都需要所有下游环节同步更新,流程繁琐。
此外,常规的场景中节点组合结构是在一个重组完的场景中,通过缓存读取节点来读取磁盘上的缓存,输出多边形拓扑信息并连接到多边形节点。在缓存读取节点之前外接一个时间节点用来驱动基于时间的缓存信息,随着时间变动,不断更新当前帧的多边形拓扑信息。后续渲染需要的材质和贴图上的信息,则是直接赋予在缓存读取节点之后的多边形节点上。然而对于重组后缓存读取节点和实际多边形节点以及包括材质信息等后续节点这三者的连接方式,使得其后续操作,例如渲染分层,smooth细分等会影响到三者连接节点关系的时候,将容易造成不可逆的改动,进而损坏文件。
因此针对上述问题导致的现有的动画制作流程过程繁琐且灵活性较差的问题,本申请实施例提供了一种用于CG动画制作的渲染镜头重组方法。在具体实施时,首先需要根据相关技术中的动画制作方法提取CG动画数据中随着时间变动的顶点坐标变动位置信息以及CG动画静态模型中的拓扑结构信息,CG动画静态模型中的拓扑结构信息是由构成多边形基本信息的点,边,面,法线、UV(二维纹理坐标)、pencil线、材质贴图以及其他各种设置信息等组成。
步骤S102,将所述第一信息通过驱动顶点与所述第二信息进行组合,并输入预设渲染模型进行灯光和/或特效渲染。
具体实施时,在常规的动画缓存数据结构中,同样含有上述多边形的点,边,面,法线以及UV等信息,常规的动画缓存数据结构中的多边形信息的来源其实就是上述的拓扑结构中的多边形信息,因此,可以将动画缓存数据结构中的随着时间变动的顶点坐标变动位置信息提取出来与动画静态模型中的拓扑结构信息进行重组,之后再输入预设渲染模型进行灯光和特效渲染,最终完成动画的制作过程。具体地,通过利用相关技术中用于绑定制作的blendshape(混合变形)节点来作为驱动顶点,将上述信息进行重组。通过上述过程,达到了将动画数据和拓扑结构数据在动画制作流程中的结构上并行的目的,从而实现了提高动画制作流程的灵活性,简化制作流程的技术效果。
本申请实施例在后续进行渲染制作之前,比传统过程多了一层驱动顶点的结构,其输出结构为一个本地的多边形物体一一对应输出到渲染用模型中。因此更往前的缓存和动画曲线驱动的塑模绑定作为驱动顶点结构的源头,和渲染用模型中间隔了好几层连接,因此对于渲染环节做的所有操作,包括上游的连接变动都将只影响到驱动顶点的输出结构和渲染,并不会破环更前面的环节,因此可以从结构上解决后续环节编辑引起的不可逆循环以及连接丢失和错位的问题。
作为本申请实施例的一种优选实施方式,如图2所示,所述提取CG动画数据中的第一信息和CG动画静态模型中的第二信息之前包括如下的步骤S201至步骤S203:
步骤S201,根据原画数据构建CG动画制作模型,并得到第一数据文件。
具体实施时,在提取顶点坐标变动位置信息之前,首先需要根据原画数据构建CG动画制作模型,通过CG动画制作模型对原始的动画数据进行处理输出第一数据文件。可选地,在三维动画制作过程中,一般运用的建模软件有3DSMax、AutoCAD、Maya等,具体采用的建模软件本领域技术人员可以根据实际需求灵活选择,在此不做具体限定。此外,在模型处理完成后还可以通过预览模型对第一数据文件进行预览。
步骤S202,将所述第一数据文件进行绑定制作,以得到第二数据文件。
绑定是三维动画制作流程中的一项重要的环节。模型在制作完成后,不能够直接被动画师用来制作动画,需要通过绑定环节对模型添加骨骼与控制器,并对骨骼的权重(weighting)进行合理的分配后,才能进行后续三维动画的制作。因此本申请实施例在具体实施时,将上述模型构建后得到的第一数据文件通过绑定环节进行绑定,进而输出第二数据文件。
步骤S203,对所述第二数据文件进行动画制作,以提取所述CG动画数据中的顶点坐标变动位置信息。
具体实施时,在得到经过绑定制作的第二数据文件后,根据该数据文件进行动画制作环节,得到最终的包含顶点坐标变动位置信息的CG动画数据,并导入缓存,如Maya软件中的Alembic缓存。
作为本申请实施例的一种优选实施方式,如图3所示,所述提取CG动画数据中的第一信息和CG动画静态模型中的第二信息包括如下的步骤S301至步骤S302:
步骤S301,调用CG动画缓存数据结构。
具体实施时,在提取CG动画数据中的顶点坐标变动位置信息时,可以通过两种途径进行途径,第一种是通过调用CG动画缓存数据结构的方式进行。首先需要导出Alembic缓存。通过Alembic缓存导出和导入选项,将Maya场景和几何体另存为基于Alembic的缓存文件并进行加载。Alembic文件是具有较强可移植性且与应用程序无关的文件,因此可由多种内容创建应用程序进行共享、处理和播放。Alembic文件格式是一种开源格式,专为交换复杂3D几何数据而开发。在Maya中,基于Alembic的缓存提供了许多性能改进,包括加快大型场景加载速度、更快速播放复杂角色动画,以及实时播放包含拓扑更改的几何数据。可以将复杂的场景和动画导出为Alembic文件,然后将其重新导入到Maya中,以提高播放性能并减少内存使用。
步骤S302,根据所述CG动画缓存数据结构确定随着时间变动的顶点动画位置信息,以作为所述顶点坐标变动位置信息。
具体实施时,在导出Alembic缓存之后,确定Alembic缓存文件中随着时间变动的顶点动画位置信息,进而得到顶点坐标变动位置信息,以根据顶点坐标变动位置信息驱动后续的渲染环节。
作为本申请实施例的一种优选实施方式,如图4所示,所述提取CG动画数据中的第一信息和CG动画静态模型中的第二信息还包括如下的步骤S401至步骤S402:
步骤S401,通过动画控制器提取动画关键帧信息。
步骤S402,根据所述动画关键帧信息驱动绑定制作,以输出所述顶点坐标变动位置信息。
具体实施时,提取CG动画数据中的顶点坐标变动位置信息的另一种途径是通过动画控制器提取动画关键帧信息,进而驱动没有贴图的极简的绑定制作环节,然后通过绑定的模型来输出顶点动画位置信息作为顶点坐标变动位置信息来驱动后续环节渲染用的模型。不管上述哪一种驱动方式,由于都是从一个空场景而来,因此动画场景中额外的后续环节不需要的冗余数据都将不被带到下游环节,进而提高了动画制作流程的效率,降低了流程的繁琐性。
作为本申请实施例的一种优选实施方式,如图5所示,所述将所述第一信息通过驱动顶点与所述第二信息进行组合,并输入预设渲染模型进行灯光和/或特效渲染包括如下的步骤S501至步骤S502:
步骤S501,在拓扑结构中复用用于渲染的附属设置信息,所述附属设置信息至少包括毛发和/或卡通线设置。
具体实施时,在拓扑结构中通过混合节点blendshape输入动画信息数据输出基于时间的点位移信息后,驱动用于渲染的模型文件,在结构上复用带入渲染模型之后的其他附属设置如毛发和卡通线设置以及其他自定义设置等,以避免重新赋予后续设置的操作,并且利用复用代替重组,克服了信息丢失的问题。
步骤S502,根据所述顶点坐标变动位置信息和所述附属设置信息进行灯光和/或特效渲染,以得到制作完成的动画。
具体实施时,将复用的附属设置信息与缓存结构中的顶点坐标变动位置信息进行重组后输入渲染模型进行灯光和特效的渲染,进而完成动画的整个制作流程。
本申请实施例把用于渲染的其他拓扑和后续要素与来自动画的点变换信息彻底分开形成相互独立的并行系统。这意味着,如果只想更改模型层级的要素,例如uv,法线,材质等,只要不去调整基本的拓扑结构,不引起点、边、面的变化,就可以通过只更新模型,然后跳过所有的动画处理,直接在渲染环节更新一下模型,再搭配上之前的动画缓存就可以直接使用了,使得制作流程更加灵活和高效。此外,由于通过blendshape节点只是驱动其多边形点的位置变换,其余的拓扑结构信息,及其连接在这个多边形节点后面的其他附属设置和节点信息都将不受影响的正常工作,例如毛发,二维风格渲染的卡通线设置信息等,以及其他任何接在这个多边形节点后的其他功能。
如图6所示,提供了一种CG动画制作的全流程示意图,具体过程详见上文描述,在此不做赘述。
从以上的描述中,可以看出,本发明实现了如下技术效果:通过动画制作流程上的改进,将动画信息数据和拓扑信息数据在流程结构上并行。通过混合变形节点输入动画信息数据输出基于时间的点位移信息,然后驱动用于渲染的模型文件,在结构上复用了带入渲染模型之后的其他设置,避免了重新赋予后续设置的操作,并且利用复用代替重组,克服了信息丢失的问题。通过上述过程,提高了动画制作流程的灵活性和高效性。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,还提供了一种用于实施上述用于CG动画制作的渲染镜头重组方法的装置,如图7所示,该装置包括:提取模块1和组合模块2。本申请实施例的提取模块1,用于提取CG动画数据中的第一信息和CG动画静态模型中的第二信息,其中所述第一信息是指随着时间变动的顶点坐标变动位置信息,所述第二信息是指拓扑结构信息;本申请实施例的组合模块2,用于将所述第一信息通过驱动顶点与所述第二信息进行组合,并输入预设渲染模型进行灯光和/或特效渲染。
作为本申请实施例的一种优选实施方式,所述装置还包括:构建模块,用于根据原画数据构建CG动画制作模型,并得到第一数据文件;绑定模块,用于将所述第一数据文件进行绑定制作,以得到第二数据文件;动画模块,用于对所述第二数据文件进行动画制作,以提取所述CG动画数据中的第一信息。
作为本申请实施例的一种优选实施方式,所述提取模块包括:调用单元,用于调用CG动画缓存数据结构;确定单元,用于根据所述CG动画缓存数据结构确定随着时间变动的顶点动画位置信息,以作为所述顶点坐标变动位置信息。
作为本申请实施例的一种优选实施方式,所述提取模块还包括:提取单元,用于通过动画控制器提取动画关键帧信息;绑定单元,用于根据所述动画关键帧信息驱动绑定制作,以输出所述顶点坐标变动位置信息。
作为本申请实施例的一种优选实施方式,所述组合模块包括:复用单元,用于在拓扑结构中复用用于渲染的附属设置信息,所述附属设置信息至少包括毛发和/或卡通线设置;渲染单元,用于根据所述顶点坐标变动位置信息和所述附属设置信息进行灯光和/或特效渲染,以得到制作完成的动画。
上述各模块及各单元之间的具体连接关系及所发挥的功能请参照方法部分的具体描述,在此不做赘述。
根据本发明实施例,还提供了一种计算机设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前所述的方法。
根据本发明实施例,还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现如前所述方法的步骤。
如图8所示,该电子设备包括一个或多个处理器31以及存储器32,图8中以一个处理器31为例。
控制单元还可以包括:输入装置33和输出装置34。
处理器31、存储器32、输入装置33和输出装置34可以通过总线或者其他方式连接,图8中以通过总线连接为例。
处理器31可以为中央处理器(Central Processing Unit,CPU)。处理器31还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器32作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器31通过运行存储在存储器32中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的渲染镜头重组方法。
存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据服务器操作的处理装置的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至网络连接装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置33可接收输入的数字或字符信息,以及产生与服务器的处理装置的用户设置以及功能控制有关的键信号输入。输出装置34可包括显示屏等显示设备。
一个或者多个模块存储在存储器32中,当被一个或者多个处理器31执行时,执行如前所述的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机指令用于使所述计算机执行上述的渲染镜头重组方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后,本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。