用于合作动画的实时方法

文档序号:9922500阅读:409来源:国知局
用于合作动画的实时方法
【技术领域】
[0001]本公开涉及用于合作动画的方法、动画设备以及能够实现动画场景的合作动画的分布式动画系统。
【背景技术】
[0002]动画针对在动画场景中生成变化的动作或者对象的形状的错觉,其典型地通过反映各个变化的静态图像的序列的快速显示来被实现。动画典型地在使用2D或者3D动画技术的计算机上被数字地生成,2D或者3D动画技术通常构筑其中字符和对象移动并且互动的2D或者3D虚拟世界或者场景。基于计算机的动画典型地需要专用的计算资源以计算用户动画的各个图像,其中,用于制备图像的时间随着最终的图像的期望的逼真程度而迅速地增加。
[0003]动画场景的各个对象可以被模型化,并且可以被动画制作者所操控。此外,几个动画制作者之间的合作可以通过中间的动画结果的交换来被实现,中间的动画结果的交换典型地中断工作处理,并且需要另外的时间来完成动画。通常,动画制作者可以通过生成包括可以通过边缘被连接的顶点(vertices)的3D多边形网格(meshes),以生成在2D或者3D场景中的对象的视觉外观来开始。此外,可以应用控制结构,诸如可以被用于例如通过加权(weighting)相应的顶点控制网格的边界框或者骨架结构。其它技术,诸如重力的模拟、粒子模拟、模拟的皮肤、毛皮或者头发,以及诸如火和水的模拟的效果以及针对3D动画的其它方法可以在动画流程期间被应用,以生成场景的逼真的动画。
[0004]诸如动画电影的大型动画放映的处理可能是非常耗时且昂贵的。制作处理可能需要许多不同的类型的专家工作者或者动画制作者,以及大量的工时来制作电影。此外,当前的制作处理典型地具有有序性。各种专家工作者或者动画制作者之间的同时活动是不可能的或者是被大力限制的。

【发明内容】

[0005]以上问题通过在此公开的用于合作动画的方法、动画设备、以及分布式动画系统来解决。本公开的各个方面能够实现实时的合作动画,以生成具有期望的逼真程度的动画。
[0006]根据本公开的一个方面,提供一种用于合作动画的方法,其包括:保持动画场景的模型;建立到多个客户端装置的实时链路;连续地接收来自多个客户端装置的更新,每一个更新与动画方面关联;基于接收到的更新,利用处理栈在多个迭代中更新模型,每一个迭代使用与一个动画方面关联的更新;以及经由实时链路,将更新的模型的指示分配给多个客户端装置。
[0007]为了促成动画场景,该方法,其较好地是计算机实现的方法,能够经由多个客户端装置实现场景的动画,其可以基于经由各自的实时链路被提供并且使用处理栈被处理的更新,来合作地促成动画场景,。作为响应,反映更新的模型的各个数据经由实时链路被重新分配给各个客户端装置。因此,所需要的资源可以在各种单独的客户端装置上被分配,各种单独的客户端装置可以专用于动画的各个方面。这能够实现高效的动画的生成,其中,结果被直接反馈给各个客户端装置,以便在各自的客户端装置上向本地动画制作者提供动画场景的更新的本地模型。
[0008]较好地,动画场景的模型包括多个动画对象。动画对象可以根据场景图表被布置,并且根据另一个形态,可以包括反映他们的视觉和/或听觉的特性或者任何其它的特性的各自的动画对象的数据,其可以在与动画场景对应的任何合适的维中被定义,诸如在两维(2D)或者三维(3D)中。此外,动画场景以及多个动画对象可以包括反映动画场景或者动画对象随时间的变化的数据。
[0009]在一个实施例中,每个客户端装置根据一个动画方面提供用于模型的更新。较好地,动画方面可以对应不同类型的数据和/或动画场景的不同部分和/或不同的形态。动画方面可以指的是针对动画场景的各个对象或者对象组的结构或者形式的数据、动画场景的各部分的动作或者形式的变化、音频数据、特殊效果或者动态的模拟、声音动画和/或模拟、光线动画和/或模拟、或者产生的动画的各个帧或者视频帧组。然而,需要理解,这些例示方面不是面面倶到,并且任何其它的动画方面,诸如其它物理特性的模拟/动画,诸如水、头发或者皮毛的模拟,通过本公开被完全地包括。每一个客户端装置可以专用于一个动画方面。此外,每一个客户端装置可以提供用于不同的动画方面的更新。因此,合作动画可以被分成多个动画方面,并且每一个客户端装置可以被配置成提供用于一个或者多个动画方面的更新。每一个客户端装置可以执行用于数字内容生成的相应的应用(DCC应用),以便提供更新和接收更新的模型的指示。例如,DCC应用可以被配置成根据客户端装置的一个或者多个动画方面来处理动画场景。
[0010]在本公开的进一步的实施例中,每一个更新包括用于动画场景的至少一个动画对象的动画方面的数据。例如,在客户端装置上,相应的动画制作者可以根据客户端装置的动画方面改变用于一个或者多个动画对象的动画数据。更新可以经由实时链路被直接发送,以对动画场景做出贡献,或者可以在动画制作者已经确认本地动画结果之后被发送。例如,动画制作者例如可以通过改变各个顶点或者影响各自的控制结构,来修改各个动画对象的结构或者外观,并且可以定义用于各个变化的各自的时间变量。动画制作者可以确认变化,并且本地DCC应用可以分析该变化,并且经由实时链路提供各自的更新信息。此外,本地DCC应用可以经由实时链路接收更新模型的重新分配指示,并且可以直接更新动画场景的本地模型。如果所接收到的更新模型的指示影响动画制作者当前在本地客户端装置上正工作着的动画场景的动画对象,则DCC应用也可以提供用于解决本地冲突的手段。指示可以覆盖(override)任何本地模型,以保证动画场景的(中心)模型的一致性,并且差异可以被结合到本地模型的副本上的动画制作者的当前的工作中,或者动画制作者可以被呈现有指示可能的冲突并且提供反映如何解决每一个冲突的各种情形的输入手段。如果动画制作者推选本地变化,以覆盖被接收到的更新的模型的指示,则这些变化可以被表现为模型的另一个更新,并且经由实时链路被发送,用于更新动画场景的(中心)模型。DCC应用和/或维持动画场景的(中心)模型的应用可以包括另外的手段以解决任何冲突,其可以考虑到将动画场景的模式划分或者分割成多个动画方面。较好地,如果动画方面定义动画场景的模型的间断(disjunct)部分,可以进一步减小冲突或者甚至完全避免冲突。
[0011]在另一个实施例中,更新模型包括根据关联的动画方面,对在预定的时间段内所接收到的更新进行分类。更新的接收可以连续地进行,并且可以被细分为预定的时间段,诸如相同长度的时间片(slices)。然而,预定的时间段也可以具有变化的长度,例如,可以依赖于接收到的更新的数量,或者可以是响应于处理栈的当前的处理负载。处理栈可以保持动画方面的列表,并且在预定的时间段内的所有接收到的更新可以根据列表中的动画方面被分类。
[0012]在又一个实施例中,更新模型进一步包括确定当前迭代的动画方面,并且选择与动画方面关联的更新。处理栈的每一个迭代可以对应于处理栈的级别,并且可以只处理(handle)—个动画方面。例如,处理栈可以处理N个动画方面,N个动画方面可以分别在迭代0,...,Ν-1中依序被处理,并且该处理可以在迭代N中利用第一动画方面的处理来再迭代。如果没有用于动画方面的更新被入队(enque
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1