顶点烘培三维动画扩充的制作方法

文档序号:6443371阅读:303来源:国知局
专利名称:顶点烘培三维动画扩充的制作方法
技术领域
本发明涉及顶点烘培三维动画扩充。
背景技术
高分辨率三维(3D)动画通常包括大量细节水平,这些细节产生照片ー样逼真或 “电影质量”的图像并提供令人身临其境的娱乐体验。这样的高分辨率3D动画在交互式游戏设定中是期望的,以提供逼真的游戏。然而,由于高分辨率3D动画的细节水平,动态建模并渲染这样的3D动画以对应于用户交互是处理资源密集的。因此,交互式游戏的3D动画的分辨率和/或其他质量增强方面可能受游戏引擎和设备硬件能力的限制。

发明内容
提供本发明内容以便以简化的形式介绍将在以下具体实施方式
中进ー步描述的 ー些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。根据本公开的实施例的ー种用于控制三维(3D)动画的呈现的方法包括渲染3D动画序列。该3D动画序列包括从3D动画文件得到的3D模型,该3D动画文件包括该3D动画序列中的每个3D图像帧的每个顶点的顶点数据。该3D动画序列的顶点数据被存储或烘培 (bake)到该3D模型以生成3D顶点烘培模型(vertex-baked model),其中该顶点数据(例如,移动、纹理、光照等)被映射到该3D动画序列的该3D顶点烘培模型的每个顶点中。该 3D顶点烘培模型包括对该3D顶点烘培模型的顶点提供最佳拟合3D形状的控制面。该方法还包括接收运动控制输入,并且如果该运动控制输入是在该3D动画序列的扩充部分期间接收的,则根据该运动控制输入从该控制面的默认姿态偏离。


图1示意性地示出了本公开的计算系统的实施例。图2示出了包括扩充部分的示例三维(3D)动画序列,其中3D顶点烘培模型的呈现可被运动控制输入选择性地控制。图3示出了根据运动控制输入从默认姿态偏离和移动的控制面的示例。图4示出了经编排的控制面移动序列的示例。图5示出了用于控制3D动画的呈现的方法的实施例。
具体实施例方式本描述涉及控制交互式游戏设定中三维(3D)动画序列的呈现。具体而言,本描述涉及选择性地控制从3D动画文件得到的3D顶点烘培模型的呈现,其中该3D动画文件包括该3D动画序列中的每个帧的每个顶点的顶点数据。因为每个顶点是贯穿该3D动画文件中的3D动画序列的寿命来绘制的,所以可减少在运行时执行的动态顶点位置计算。这允许将该3D动画序列中的3D顶点烘培模型渲染为计算资源较不密集的。相应地,该3D动画序列的细节水平(LOD)(例如,绘制的顶点的数量)可按照需要増加或減少。通过将3D动画进行顶点烘培(其可以用计算资源较不密集的方式被渲染),在一些情况下,该3D动画序列的各部分的LOD可按照需要被増加到高分辨率“过场动画(cut-scene),,或“电影质量” L0D, 同时仍然满足游戏引擎和设备硬件处理的约束。此外,3D顶点烘培模型的LOD可被増加到比相当的骨架模型的LOD更大的LOD。具体而言,骨架模型的LOD可被减少以允许将计算资源专用于动态位置计算以用于在运行时为骨架模型蒙皮(skin),以使得骨架模型能被足够快地渲染以满足用户交互。此外,该3D顶点烘培模型可包括从该3D动画文件中的顶点数据构造的、以贯穿该 3D动画序列提供最佳拟合3D形状的控制面。在3D动画序列的扩充部分期间,该控制面可被运动控制输入或其他用户输入选择性地驱动以从默认姿态偏离。例如,包括高分辨率动画角色的按脚本移动的3D动画序列可被合并到交互式视频游戏中。该动画角色可由包括骨架形式的控制面的3D顶点烘培模型来定义。跟踪用户身体移动的感测设备可提供运动控制输入以驱动该骨架。在该3D动画序列的特定扩充部分中,诸如当该动画角色正站立不动或执行很少的脚本移动或不执行脚本移动时,该动画角色的呈现可从默认姿态偏离。在这些时候,该动画角色可根据如由所感测的用户身体的运动所驱动的骨架模型的移动来呈现。通过使用户能够提供输入以在3D动画序列的至少一部分期间驱动具有比相当的骨架动画的LOD更大的LOD的3D顶点烘培模型,用户的娱乐体验可以更加逼真而令人身临其境。而且,因为对于该3D动画序列的每个3D图像帧,该3D动画序列的每个顶点的顶点数据被烘培(例如,写入到磁盘),所以即便具有増加的L0D,该3D动画序列也可被快速渲染,而仍旧满足游戏引擎和设备硬件处理约束。图1示意性地示出了看被配置成例如在交互式游戏设定中控制3D动画的呈现的非限制性计算系统100。以简化形式示出了计算系统100。应当理解,可使用基本上任何计算机架构而不背离本公开的范围。在不同的实施例中,计算系统100可以采取游戏控制台、 台式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、移动计算设备、 移动通信设备、大型计算机、服务器计算机等等的形式。计算系统100包括逻辑子系统102和数据保持子系统104。计算系统100可以任选地包括显示子系统134、用户输入子系统138和/或在图1中未示出的其他组件。逻辑子系统102可包括被配置成执行ー个或多个指令的ー个或多个物理设备。例如,逻辑子系统可被配置为执行ー个或多个指令,该ー个或多个指令是ー个或多个应用、服务、程序、例程、库、对象、组件、数据结构、开发套件、或其它逻辑构造的部分。可实现此类指令以执行任务、实现数据类型、变换ー个或多个设备的状态、或以其它方式得到所需結果。逻辑子系统102可包括被配置成执行软件指令的一个或多个处理器。作为补充或替换,逻辑子系统102可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机器。例如,逻辑子系统102可包括一个或多个图形处理单元(GPU)以计算在图形渲染期间(诸如在3D动画渲染期间)执行的数学运算。逻辑子系统102的处理器可以是单核或多核,且在其上执行的程序可被配置为并行或分布式处理。逻辑子系统102可以任选地包括遍布两个或多个设备的独立组件,所述设备可远程放置和/或被配置为进行协同处理。逻辑子系统102的ー个或多个方面可被虚拟化并由以云计算配置进行配置的可远程访问的联网计算设备执行。数据保持子系统104可包括ー个或更多个物理、非瞬时设备,这些设备被配置成保持数据和/或可由逻辑子系统102执行的指令,以实现此处描述的方法和过程。在实现这样的方法和过程吋,可以变换数据保持子系统104的状态(例如,以保持不同的数据)。数据保持子系统104可以包括可移动介质和/或内置设备。数据保持子系统104 尤其是可以包括光学存储器设备(例如,⑶、DVD, HD-DVD、蓝光盘等)、半导体存储器设备 (例如,RAM、EPROM、EEPROM等)和/或磁存储器设备(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)。数据保持子系统104可以包括具有以下特性中的ー个或更多个特性的设备易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址、以及内容可寻址。在某些实施例中,可以将逻辑子系统102和数据保持子系统104集成到一个或更多个公共设备中,如专用集成电路或片上系统。数据保持子系统104可以包括可移动计算机可读存储介质,该介质可用于存储和/或传送可执行以实现本文描述的方法和过程的数据和/或指令。可移动计算机可读存储介质尤其可以采取⑶、DVD、HD-DVD、蓝光盘、EEPROM 和/或软盘形式。在一些实施例中,该数据保持子系统的各方面可位于远程。如此,动画数据可被远程托管并流传输(stream)到本地机器以供显示。可以明白,数据保持子系统104包括ー个或多个方面物理非瞬态设备。相反,在一些实施例中,本文描述的指令的各方面可以按暂态方式通过不由物理设备在至少有限持续时间期间保持的纯信号(例如电磁信号、光信号等)传播。此外,与本发明有关的数据和/ 或其他形式的信息可以通过纯信号传播。术语“模块”、“程序”和“引擎”可用于描述被实现以执行ー个或更多个具体功能的计算系统100的一方面。在某些情况下,可以通过执行由数据保持子系统104所保持的指令的逻辑子系统102来实例化这样的模块、程序或引擎。应当理解,可以从同一应用、服务、代码块、对象、库、例程、API、函数等来实例化不同的模块、程序和/或引擎。同样,可以由不同的应用、服务、代码块、对象、例程、API、函数等来实例化同一模块、程序和/或引擎。 术语“模块”、“程序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、 脚本、数据库记录等。继续图1,数据保持子系统104可保持构成3D动画程序106的指令。在不同实施例中,3D动画程序106可采用软件开发套件、视频游戏软件、游戏控制台应用、操作系统组件等形式或被并入其中。3D动画程序106可被配置成控制3D动画的渲染以供显示子系统 134显示。具体而言,3D动画程序106可被配置成渲染3D动画序列110。3D动画序列110可由包括顶点数据114的3D动画文件108定义。具体而言,3D 动画序列110可包括多个顺序3D图像帧。每个3D图像帧可包括多个顶点。多个顶点逐帧的动画可由顶点数据114定义。顶点数据114可包括用于3D动画序列110中的每个3D图像帧中的每个顶点的三维位置数据、取向数据、色彩数据、纹理数据、光照数据和或其他渲染数据。
3D动画序列110可以包括3D顶点烘培模型112,该模型可以从包括顶点数据114 的3D动画文件108得到。換言之,可使用每顶点动画将3D顶点烘培模型112动画化。作为示例,3D顶点烘培模型112可由顶点的网格形成,其中顶点数据114被烘培到该网格的每个顶点中。顶点数据114可被直接映射到顶点网格中并写入到数据保持子系统104,而在传统骨架动画中,骨架模型具有与骨骼相关联的皮肤或纹理数据。在运行时用动画数据动态地将所述骨骼蒙皮或更新,而不是将其烘培。可以理解,3D顶点烘培模型112可包括实际上任何合适的3D动画,诸如虚拟场景中的角色或物体的动画。在一些实施例中,3D动画文件108可远离计算系统100存储,诸如在远程服务器计算设备上或在计算“云”中。在这样的实施例中,3D动画文件108可被发送或流传输到3D 动画程序106。3D动画程序106可被配置成绘制3D动画序列110中的每个顶点的顶点数据114 并生成所绘制的顶点数据118的查找表116。查找表116可以组织所绘制的顶点数据118 从而能够在3D动画序列110的渲染期间快速和容易地访问它。3D动画程序106可包括压缩模块120以压缩所绘制的顶点数据118或在渲染之前降低3D动画序列110的图像部分的L0D。在一些情况下,可根据实时渲染參数IM使用 LOD调整技术来流传输所绘制的顶点数据118。通过降低3D动画序列110的某些图像部分的L0D,渲染可以较不资源密集,因为不需要取回所有的顶点数据以用于3D动画序列110的渲染。此外,对所绘制的顶点数据118的压缩可允许在受硬件约束的设备上渲染细节更多的动画。压缩模块120可包括LOD评估器122,该评估器被配置成评估3D动画序列110的所绘制的顶点数据118,以标识3D动画序列110中可调整LOD以进行更快地渲染的ー个或多个图像区域。图像区域可包括包含3D图像序列110中的任何3D图像帧的顶点的任何部分。LOD评估器122可被配置成根据ー个或多个实时渲染參数IM来评估3D动画序列110 中的图像区域。实时渲染參数1 可包括该3D动画序列中的场景的焦点、从该焦点到该图像区域的距离、以及该图像区域的视角中的至少ー项。实时渲染參数じ4可被应用于3D动画序列110以评估ー图像区域是否是场景中处于观察者的焦点处的中心方面。在识别适合于压缩的图像区域后,压缩模块120可被配置成从3D动画序列110中的ー图像区域的默认LOD调整该图像区域的L0D。调整图像区域的LOD可通过不同的操作来执行。例如,可向所绘制的顶点数据118应用算法以将该顶点数据压缩为伪动画曲线或维度曲线。作为另ー示例,可通过改变渲染期间的顶点位置采样速率来调整L0D。例如,对于每个3D图像帧,可以以默认速率从查找表116采样图像区域的顶点数据,并且可以通过将采样调整到每隔ー个的3D图像帧或每十个3D图像帧来降低L0D。通过调整3D动画序列110中不同图像区域的L0D,计算资源不需要被专用于渲染不处在观察者焦点处的具有高LOD的图像区域。因此,可以更快地执行渲染,或者可以以增加的LOD渲染处于观察者的焦点处的其他图像区域。3D动画程序106可包括扩充模块126,该扩充模块被配置成评估3D动画序列110 的所绘制的顶点数据118以找出3D顶点烘培模型112的运动模式和/或区域以构造控制面128。3D顶点烘培模型112中所包括的控制面128向3D顶点烘培模型112的顶点提供最佳拟合3D形状。控制面1 可以在3D动画序列110的过程中在逐帧的基础上最佳拟合到3D顶点烘培模型112的顶点,以便为控制面1 创建默认姿态。換言之,所绘制的顶点数据118可以被逆向工程以构造控制面128。控制面1 可采用不同形状的形式。作为ー 个示例,控制面1 可包括包含多个骨架关节的骨架。可根据运动控制输入136来选择性地控制控制面128。具体而言,3D动画程序106 可被配置成接收运动控制输入136。在一些实施例中,运动控制输入136可由用户140通过与用户输入子系统138的交互来提供。控制面1 可允许用户通过移动该控制面以从3D 动画序列110所定义的默认姿态偏离,来选择性地控制3D顶点烘培模型112的运动。在所示实施例中,用户输入子系统138包括被配置成检测用户140的移动的感测设备142。在一个示例中,感测设备142可包括提供用户140的全身3D运动捕捉的红、緑、 蓝(RGB)相机和深度感测器。相应地,控制面1 可包括人类骨架以跟踪用户的身体移动。 在不同实施例中,用户输入子系统138可采用例如键盘、鼠标、游戏控制器、话筒和/或触摸屏等形式。在接收到运动控制输入136之后,扩充模块1 可被配置成确定运动控制输入136 是否是在该3D动画序列的扩充部分接收的。扩充部分可包括该3D动画序列中该3D顶点烘培模型相对静止或不作出大的移动的部分。在一个示例中,扩充部分可被定义为3D动画序列110中、该3D顶点烘培模型的所选的ー组顶点全体改变小于移动阈值的位置的、连贯的3D图像帧系列。扩充部分在3D动画序列110中为用户140提供控制控制面128的运动以有少量变形或没有变形地控制3D顶点烘培模型112的呈现的机会时间。扩充模块1 可被配置成评估所绘制的顶点数据118以确定扩充部分在3D动画序列110中何时出现。该扩充部分可基于扩充參数130来确定。在一个示例中,扩充參数 130可包括针对3D顶点烘培模型112的所选的ー组顶点的一个或多个移动阈值。当在所选3D图像帧系列上3D顶点烘培模型112的所选的ー组顶点移动的量小于移动阈值时,该扩充模块可确定扩充部分出现。如果该运动控制输入是在3D动画序列110的扩充部分期间接收的,则扩充模块 1 可被配置成根据运动控制输入136从控制面1 的默认姿态偏离。作为ー个示例,偏离可包括根据该运动控制输入来移动该控制面。在一个示例中,该运动控制面的移动可模拟如由感测设备142所捕捉的用户140的移动。作为另ー示例,偏离可包括启动由运动控制输入136触发的经编排的控制面移动序列132。经编排的控制面移动序列132可包括可贯穿该3D动画序列播放的从3D动画文件108(或另一源)偏离的不同动画循环。经编排的控制面移动序列的一示例可包括由3D顶点烘培模型112的动画化角色表示所表演的舞蹈舞歩,该舞步可由用户140在3D动画序列110的扩充部分期间作出识别出的姿势来启动。在一些实施例中,可在扩充部分外禁用控制面扩充。作为附加或替代,可以不理会扩充部分外的运动控制输入。显示子系统134可用于呈现由数据保持子系统104保持的数据的可视表示。具体而言,显示子系统134可呈现由3D动画程序106渲染的3D动画。由于此处所描述的方法和过程改变由数据保持子系统保持的数据,并由此变换数据保持子系统的状态,因此同样可以变换显示子系统134的状态以在视觉上表示底层数据的改变。显示子系统134可以包括使用实际上任何类型的技术的ー个或多个显示设备。可将此类显示设备与逻辑子系统102 和/或数据保持子系统104 —起組合在共享封装中,或此类显示设备可以是外围显示设备。
图2示出了示例3D动画序列200,其中3D顶点烘培模型202的呈现可被运动控制输入选择性地控制。具体而言,3D顶点烘培模型202可由扩充部分期间的运动控制输入控制。这些扩充部分可在其中3D顶点烘培模型202的控制面的顶点移动的量小于移动阈值的连贯图像帧系列上出现。在这些扩充部分期间,3D顶点烘培模型202表现得相对静止或具有很少的移动或没有移动。因此,从默认姿态的偏离不会干扰按照复杂脚本的移动或导致3D顶点烘培模型的变形。在动画序列200的第一部分中,3D顶点烘培模型202执行大幅变化的移动,其中 3D顶点烘培模型202正挥舞手臂或腿。这样的移动致使该3D顶点烘培模型的一组顶点移动的量大于移动阈值。因此,确定该第一部分不是扩充部分并且在该第一部分期间该3D顶点烘培模型的控制面保持默认姿态。相应地,可不理会在该第一部分期间接收的用于控制该控制面的移动的运动控制输入。在动画序列200的第二部分中,3D顶点烘培模型202静止站立。这样的移动(或缺乏移动)致使该3D顶点烘培模型的一组顶点移动的量小于移动阈值。因此,确定该第二部分是扩充部分并且对于该第二部分允许从默认姿态的偏离。換言之,在该第二部分期间运动控制输入可控制该3D顶点烘培模型的移动。在动画序列200的第三部分中,3D顶点烘培模型202正蹲下同时举起一只手臂。 这样的移动致使该3D顶点烘培模型的ー组顶点移动的量大于移动阈值。因此,确定该第三部分不是扩充部分并且在该第三部分期间该3D顶点烘培模型的控制面保持默认姿态。相应地,可不理会在该第三部分期间接收的用于控制该控制面的移动的运动控制输入。在动画序列200的第四部分中,3D顶点烘培模型202静止站立。这样的移动(或缺乏移动)致使该3D顶点烘培模型的一组顶点移动的量小于移动阈值。因此,确定该第四部分是扩充部分并且对于该第四部分允许从默认姿态的偏离。換言之,在该第四部分期间运动控制输入可控制该3D顶点烘培模型的移动。注意,如果在该3D动画序列的扩充部分期间没有提供运动控制输入,则该控制结构可保持默认姿态。图3示出了根据运动控制输入从默认姿态偏离和移动的控制面302的示例。如同上面讨论的,控制面302采用对构成3D顶点烘培模型306的顶点304的最佳拟合3D形状的形式。在此示例中,控制面302采用拟合由顶点304形成的手臂的骨架的形状。默认姿态(以实线示出)包括该骨架直直垂下。控制面根据运动控制输入的移动(以虚线示出) 致使该骨架从默认姿态偏离并向上和向外远离默认姿态移动。相应地,顶点304随着控制面302移动以使得3D顶点烘培模型306的所渲染的手臂与底层骨架或控制面302对齐。在一些实施例中,该控制面中从默认姿态偏离的部分可经由骨架动画来渲染而该控制面中保持默认姿态的部分可经由顶点烘培动画来渲染。该骨架动画和该顶点烘培动画可在运行时混合/利用多个纹理数据流来渲染。图4示出了经编排的控制面移动序列400的示例。经编排的控制面移动序列400 可由3D动画序列的扩充部分期间的运动控制输入触发。在所示示例中,表示包括控制面的 3D顶点烘培模型的动画化的角色402处于ー只眼睛睁开的默认姿态。当经编排的控制面移动序列400被启动时,可渲染可从3D动画序列中的3D顶点烘培模型按脚本的移动得到的动画循环。在经编排的控制面移动序列中,形成动画化角色402的眼睛的控制面从默认姿态偏离并且在返回到默认姿态之前执行动画化眨眼运动。
在一些实施例中,不同的经编排控制面移动序列可由不同的运动控制输入启动。 在其中运动控制输入是从用户的身体的移动提供的实施例吋,不同的经编排的控制面移动序列可由该用户执行的不同姿势启动。图5示出了用于控制3D动画的呈现的方法500的实施例。在502,该方法可包括在渲染3D动画序列之前,根据实时渲染參数从图像区域的默认细节水平调整3D动画序列中的该图像区域的细节水平(LOD)。该实时渲染參数可包括该3D动画序列中的场景的焦点、 从该焦点到该图像区域的距离、以及该图像区域的视角中的至少ー项。在一个示例中,如果根据实时渲染參数确定图像区域不是3D动画序列的焦点,则可降低该图像区域的L0D。通过调整该3D动画序列中的某些图像区域的L0D,可以更快地执行该3D动画序列的渲染。
在504,该方法可包括渲染该3D动画序列。该3D动画序列可包括从3D动画文件得到的3D顶点烘培模型,该3D动画文件包括该3D动画序列中的每个3D图像帧的每个顶点的顶点数据。该3D顶点烘培模型可包括对该3D顶点烘培模型的顶点提供最佳拟合3D 形状的控制面。在506,该方法可包括接收运动控制输入。在一个示例中,由感测设备响应于检测到用户的身体的移动来提供运动控制输入。在508,该方法可包括确定该运动控制输入是否是在该3D动画序列的扩充部分期间接收的。在一个示例中,扩充部分包括该3D动画序列中、该3D顶点烘培模型的所选的ー 组顶点全体改变小于移动阈值的位置的、连贯的3D图像帧系列。如果确定该运动控制输入是在扩充部分期间接收的,则该方法移至510。否则,该方法移至514。在510,该方法可包括根据该运动控制输入从该控制面的默认姿态偏离。在512,在一些情况下,偏离可包括根据该运动控制输入来移动该控制面。在ー个示例中,该控制面可包括根据运动控制输入移动的骨架,该运动控制输入是由感测设备响应于检测到用户的身体的移动来提供的。因此,该3D顶点烘培模型的运动可跟踪该3D动画序列的扩充部分期间该用户的身体的移动。在514,在一些情况下,偏离可包括启动由运动控制输入触发的经编排的控制面移动序列。作为ー个示例,表示何时用户抬起他们的手臂并用他们的手指指的姿势的运动控制输入可触发由动画化角色的3D顶点烘培模型的控制面骨架表演的经编排的舞蹈舞歩。 该经编排的舞蹈舞步可从如由3D动画文件的顶点数据定义的控制面骨架的默认姿态偏
肉ο在516,该方法可包括当在除了该3D动画序列的扩充部分以外的时间期间接收到运动控制数据时维持该控制面的默认姿态。在一个示例中,当在扩充部分外接收到运动控制数据时不理会所接收的运动控制数据并维持该控制面的默认姿态,其中在该3D动画序列中的连贯3D图像帧系列上该3D顶点烘培模型中的所选的ー组顶点全体改变大于移动阈值的位置。通过只在该3D动画序列的扩充部分期间从该控制面的默认姿态偏离,用户能够选择性地控制该3D顶点烘培模型的移动而不导致使得该3D顶点烘培模型的动画变形的任何异常或断开的移动。換言之,可避免不被支持以用于用可用的烘培顶点数据进行渲染的修改。因此,可向用户提供更令人身临其境而逼真的娱乐体验。在某些实施例中,以上所描述的方法和过程可与包括一个或多个计算机的计算系统关联。特別地,此处描述的方法和过程可被实现为计算机应用、计算机服务、计算机API、 计算机库和/或其他计算机程序产品。在一个示例中,该方法可由图1中示出的计算系统 100的3D动画程序106执行。应该理解,此处所述的配置和/或方法在本质上是示例性的,且这些具体实施例或示例不是限制意义,因为多个变体是可能的。此处所述的具体例程或方法可表示任何数量的处理策略中的一个或更多个。由此,所示出的各个动作可以按所示顺序执行、按其他顺序执行、并行地执行、或者在某些情况下省略。同样,可以改变上述过程的次序。本发明的主题包括各种过程、系统和配置的所有新颖和非显而易见的组合和子组合,并包括此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效物。
权利要求
1.ー种用于控制三维(3D)动画的方法(500),包括渲染(504) 3D动画序列,所述3D动画序列包括从3D动画文件得到的3D顶点烘培模型,所述3D动画文件包括所述3D动画序列中的每个3D图像帧的每个顶点的顶点数据,所述3D顶点烘培模型包括对所述3D顶点烘培模型的顶点提供最佳拟合3D形状的控制面;接收(506)运动控制输入;如果所述运动控制输入是在所述3D动画序列的扩充部分期间接收的,则根据所述运动控制输入从所述控制面的默认姿态偏离(510)。
2.如权利要求1所述的方法,其特征在干,偏离包括根据所述运动控制输入来移动所述控制面。
3.如权利要求1所述的方法,其特征在干,偏离包括启动由所述运动控制输入触发的经编排的控制面移动序列。
4.如权利要求1所述的方法,其特征在干,所述扩充部分包括所述3D动画序列中所述 3D顶点烘培模型的所选的ー组顶点全体改变小于移动阈值的位置的连贯3D图像帧系列。
5.如权利要求4所述的方法,其特征在于,还包括当在所述3D动画序列中的所述连贯3D图像帧系列上,所述3D顶点烘培模型中的所述所选的ー组顶点全体改变大于所述移动阈值的位置时,维持所述控制面的所述默认姿态。
6.如权利要求1所述的方法,其特征在于,还包括在渲染所述3D动画序列之前,根据实时渲染參数从图像区域的默认细节水平调整所述3D动画序列中的所述图像区域的细节水平。
7.如权利要求6所述的方法,其特征在干,所述实时渲染參数包括所述3D动画序列中的场景的焦点、从所述焦点到所述图像区域的距离、以及所述图像区域的视角中的至少ー项。
8.如权利要求1所述的方法,其特征在干,所述控制面包括骨架。
9.如权利要求8所述的方法,其特征在干,用于控制所述骨架的所述运动控制输入是由感测设备响应于检测到用户的身体的移动而提供的。
10.如权利要求1所述的方法,其特征在干,所述顶点数据包括所述3D顶点烘培模型中的每个顶点的三维位置数据、取向数据、色彩数据、纹理数据和光照数据。
全文摘要
本发明涉及顶点烘培三维动画扩充。一种用于控制三维(3D)动画的呈现的方法包括渲染3D动画序列,该3D动画序列包括3D顶点烘培模型,该3D顶点烘培模型是从3D动画文件得到的,所述3D动画文件包括该3D动画序列中的每个3D图像帧的每个顶点的顶点数据。该3D顶点烘培模型包括对该3D顶点烘培模型的顶点提供最佳拟合3D形状的控制面。该方法还包括接收运动控制输入,并且如果该运动控制输入是在该3D动画序列的扩充部分期间接收的,则根据该运动控制输入从该控制面的默认姿态偏离。
文档编号G06T13/20GK102542596SQ20111044324
公开日2012年7月4日 申请日期2011年12月14日 优先权日2010年12月15日
发明者C·迈尔斯, R·小克罗科, R·波特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1