直接操纵计算机生成角色的受限模型的方法和系统的制作方法

文档序号:6540740阅读:98来源:国知局
直接操纵计算机生成角色的受限模型的方法和系统的制作方法
【专利摘要】轨道操纵器指示计算机动画系统中计算机生成角色某部位的一个或几个运动范围。轨道操纵器获取一个计算机生成角色模型。该模型可能是一副由关节连接起来的骨架结构,其中互相连接的骨头可能会限制彼此的运动。当美术师选择运动其中一块骨头时,轨道操纵器决定所选骨头的运动范围。这一决定的依据可以是骨架中其他骨头的位置和/或运动范围。运动范围和计算机生成角色一起在屏幕上显示给美术师。这样,轨道操纵器就直接告知美术师,美术师对计算机生成角色所选部位可运动的范围。
【专利说明】直接操纵计算机生成角色的受限模型的方法和系统

【技术领域】
[0001]本发明总体涉及计算机图形学,更具体而言,涉及计算机动画中计算机生成角色的操纵工具。

【背景技术】
[0002]在计算机动画中,可以通过角色骨架为计算机生成角色建模。通常,角色骨架定义了计算机生成角色的不同部位,以及它们各自的特征。例如,计算机生成角色的某些部位可能是灵活的,而其它部位是刚性的。另外,各个部位之间相较,有些部位的运动可能比较自由,有些则受到限制。计算机生成的皮肤层覆盖角色骨架,为计算机生成角色提供所要求的可视外观,这可能包括,衣服、皮肤、毛发等。角色骨架在接续的动画帧之间运动使得皮肤层产生相应的变形;快速连续地播放帧会给观众以动画的感觉。
[0003]角色骨架可类似于骨架结构。美术师可将这种骨架结构的骨骼摆放成不同的姿态。使用这种骨架结构为计算机生成角色建立模型可以使某些计算机生成角色的运动更为写实,特别是那些模仿现实生物的角色。这些角色也有内在的骨架结构限制它们本身的运动。例如,计算机生成的人形角色如果以人形骨架定义,就能更轻易地操纵,使其像人类一样运动。
[0004]发明概述
[0005]在一些实施例中,轨道操纵器指出计算机动画系统中计算机生成角色某部位可能的运动范围。轨道操纵器获取一个计算机生成角色的模型。该模型可以是一个以关节连接起来的骨架结构。相连的骨骼可能对彼此的运动产生限制。当美术师选择某块骨骼做运动时,轨道操纵器确定所选骨骼的运动范围。确定运动范围的依据可能是姿态及/或骨架结构中其它骨骼的运动范围。运动的范围和计算机生成的角色同时在屏幕上展现给美术师。这样,轨道操纵器针对美术师选择的计算机生成角色的部位,直接告知美术师该部位可进行何种程度的运动。
[0006]附图简述
[0007]图1A是屏幕截图,展示一个示范性计算机生成角色。
[0008]图1B是屏幕截图,展示一个示范性计算机生成角色骨架结构。
[0009]图2是屏幕截图,展示一个示范性计算机生成角色骨架结构。
[0010]图3是屏幕截图,展示一个示范性计算机生成角色骨架结构。
[0011]图4A-4B是屏幕截图,展示示范性轨道操纵器。
[0012]图5A-5B是屏幕截图,展示示范性轨道操纵器。
[0013]图6A-6B是屏幕截图,展示示范性轨道操纵器。
[0014]图7是屏幕截图,展示示范性轨道操纵器。
[0015]图8是一个流程图,展示轨道操纵器的实施例中所使用的示范性轨道操纵器流程。
[0016]图9是一个块状图,展示一个示范性计算系统。
[0017]发明详述
[0018]以下说明阐述了示范方法、参数等等。但是应当认识到,此处的阐述并非限制本发明的范围,而是对示范实施例进行说明。
[0019]使用角色骨架为计算机生成角色建立模型使得对计算机动画系统的支持更加复杂。计算机动画的观众通常期待计算机生成角色的各个相连的肢体部位所做运动协调一致。为了达到这种效果,计算机动画系统在确定计算机生成角色某部位的运动时,必须考虑到计算机生成角色其它部位对正在建立模型的具体运动的影响。角色骨架某个部位的运动可能受到其它部位的限制。
[0020]图1A-1B展示了一个示范性计算机生成角色老虎100,以及一个角色骨架,即骨架结构110,用于为老虎100建模。老虎100是一个虚拟的类人角色。骨架结构110包含骨骼111-123,它们由很多的关节连接起来。骨架结构110中的骨骼可以围绕关节旋转或运动。所以骨架结构110可以从姿态111开始运动为其它的姿态。
[0021]计算机动画系统可提供一个轨道操纵工具(“轨道操纵器”)来协助美术师运动骨架结构110的某部分,从而创造出老虎100不同的姿态。轨道操纵器对于美术师所关注的骨架结构的某个指定部位,向美术师展示一系列的这个部位可以完成的动作,所依据的是骨架结构所设定的限制(或者,更宽泛的讲,由角色骨架所限定的)。美术师选择骨架结构的某部位后,该部位运动的范围被即时计算出并向美术师显示。
[0022]轨道操纵器示范性实施例如下所述,可参考图2-6。为简单起见,图2-6展示的轨道操纵器以老虎100和骨架结构110 (图1A-1B)为参考。然而值得一提的是,对于其它计算机生成角色及/或其它类型的角色骨架,如自由格式的角色骨架,轨道操纵器也可以用来做动画。自由格式的角色骨架也如骨架结构一样,对计算机生成角色可能完成的运动定义了一系列的限制,却没有依赖骨骼和关节的概念。
[0023]图2展示老虎100的骨架结构的下肢,包括足骨201,胫骨202以及股骨203。如图所示,足骨201和胫骨202在踝关节204处连接,而胫骨202和股骨203在膝盖骨关节205处连接。足骨201也在老虎的跖球处与趾骨206,207和208连接。本领域内的普通技术人员能够理解,足骨201和胫骨202的连接处,即踝关节204的运动受限于其它临近骨骼(包括趾骨206-208和股骨203)的位置和/或运动范围。
[0024]在某些情况下,足骨201和胫骨202围绕踝关节204运动的范围很小。例如,如果计算机动画系统中将趾骨206-208定义为与地面211永久接触,且股骨203定义为固定不动,则踝关节204 (即足骨201和胫骨202)将被限定只能在与地面211平行的平面上x方向和z方向上做小幅运动。这种运动范围由曲线段212显示。
[0025]在其它情况下,足骨201和胫骨202围绕踝关节204运动的范围是比较大的。如图3,如果趾骨206-208在计算机动画系统中定义为与地面211永久接触,但是股骨203被定义为可绕胯关节301旋转,那么踝关节204 (即足骨201和胫骨202)可延X方向、y方向和z方向做大范围的运动,如曲线段212和302所示。
[0026]轨道操纵器的实施例显示一些线段及/或曲线段,它们反映了用户(如美术师)所选计算机生成角色的某部位的可能的运动范围。换言之,轨道操纵器可以将曲线段212(图2)和曲线段302 (图3)以图象显示,并与计算机生成角色一起显示在计算机动画系统的一个显示屏上。参照图4-6讨论可以使用轨道操纵器生成的示范性显示。
[0027]图4A显示老虎100 (图1A)的腿400为初始姿态。腿400的姿态取决于内在的骨架结构401。骨架结构401由计算机生成的皮肤层覆盖,该皮肤层形成腿部的视觉外观,并且不一定会向用户显示(但也有可能会显示)。计算机动画系统提供节点402、403和404,从而使腿400运动到不同的姿态。节点402-403可对应为骨架结构401中骨骼的控制点。如图4B,节点404与腿400的踵部相连,当用户(如美术师)选择节点404,轨道操纵器显示曲线段410,指出踵部可以沿X轴和y轴运动的范围。如图所示,腿400的踵部可在曲线段410的端点411和412之间运动,因为骨架结构401上其它骨骼的限制使得所选踵部不能做更大范围的运动。这样,轨道操纵器即时计算计算机生成角色某个部位的运动自由度,并将可能完成的运动告知用户。
[0028]图5A显示老虎100 (图1A)的腿400再次处于初始姿态。如图5B显示,节点403和腿400的球状部位相连,当用户选择节点403,轨道操纵器显示曲线段510,指出球状部位沿I轴和z轴可能完成的运动范围。由于腿400骨架结构上其它骨骼的限制,腿400的球状部位可以在节点511和512之间的范围内运动。曲线段510描述了腿400的球状部位的运动范围,节点403是一个指示点,它指示了腿400的球状部位当下在运动范围内所处的位置。
[0029]图6A显示老虎100 (图1A)的腿400再次处于初始姿态。节点402与腿400的脚趾相连,当用户选择节点402时,轨道操纵器显示曲线段610,指示脚趾沿X轴和y轴可能完成的运动范围。如图6B所显示,由于腿400的骨架结构上其它骨头的限制,腿400的脚趾只能在曲线段610的节点611和612之间的区域内运动。
[0030]在上述的图4-6中所显示的例子中,轨道操纵器提供一维的线段和/或曲线段,显示二维的可能完成的运动(在图4A-4B和6A-6B的例子中为沿着x轴和y轴的运动,在5A-5B的例子中为沿着I轴和z轴的运动)。但是计算机生成的角色可能有些部位可以在更多的维度上运动。在这种情况下,轨道操纵器可以选择性地接收额外的用户输入,这些输入指示用户想要选择的特定运动方向,然后轨道操纵器根据输入显示相应的动作范围。也就是说,如果用户选定的计算机生成角色的部位可在三个方向做运动,用户可以额外指示想要完成的运动是沿什么方向进行的,如在z平面沿X轴和y轴运动。作为回应,轨道操纵器以一个简单的线段或一个曲线段显示所选计算机生成角色的部位可能运动的范围。
[0031]另一种情况,如果用户不提供额外的输入来指示想要选择的运动方向,轨道操纵器可能显示所有可以进行运动的方向上的可能的运动范围的轮廓,它可能被称作“扫掠面”。轨道操纵器的这个方面显示在图7中。图7所示,用户已经选择了节点404,该节点与老虎100 (图1A)的腿400的踵部相连。根据老虎100整体骨架结构的定义,踵部可以围绕老虎的跖球跖球自由旋转。所以,作为对用户选择节点404的回应,轨道操纵器使用线段和曲线段的组合显示扫掠面710。扫掠面710是一个二维面,反映踵部沿X轴、y轴和z轴方向可能的运动范围。扫掠面710类似于一个球体的四分之一,因为老虎跖球跖球的运动应符合当前情况。轨道操纵器可以选择性地显示四分之一球体(根据扫掠面710)的带阴影的球面,以指示所选踵部潜在的运动区域。
[0032]图8展示示范流程800,显示计算机动画系统中计算机生成角色某部分可能的运动范围。在模块810中,流程800含有计算机生成角色模型(例如,角色骨架)。在模块820中,流程800接收用户输入,该输入指示角色骨架的哪个部位要运动。用户输入可以在角色骨架中选择一块骨头的控制点。在某些实施例中,计算机动画系统在计算机生成角色的皮肤层提供视觉指示,对应皮肤层下角色骨架的控制点。例如,如果用户选择腿400 (图4)的踵部附近的节点404 (图4),轨道操纵器可将该选择解读为选择足骨201 (图2)上的一个控制点。
[0033]在模块830中,如果对应的骨头不受其他角色骨架部位的限制,流程800决定所选控制点的可能的运动范围。总的来说,某指定控制点可能的运动范围由角色骨架本身决定。在模块840中,流程800评估角色骨架的限制,从而决定在考虑到角色骨架限制的情况下,所选控制点可能的运动范围(在不受限制时)中哪些部分是真正可实现的运动范围。例如,当用户选择和足骨201 (图2)关联的控制点时,轨道操纵器可确定趾骨206 - 208 (图2)、胫骨202 (图2)、和股骨203 (图2)将限制所选控制点的运动。因此足骨201 (图2)可能的运动范围将会受限于趾骨和股骨有限的运动范围。
[0034]流程800可通过直接评估所选控制点从目前位置到临近位置可能进行的运动,执行模块840。例如,在如下几种情况中,模块840可评估出运动结果:所选控制点向左移动某值的距离,所选控制点向右移动某值的距离。所选控制点可能的运动范围可通过评估增加的运动值决定。如此一来,模块840可决定所选控制点在X轴方向移到某X轴坐标,在Y轴方向移到某Y轴坐标。为了和某些处理能力较低的计算机处理器兼容,流程800也可以根据所选控制点在角色骨架上的预设定义来估算所选控制点可能进行的运动,从而执行模块840。该角色骨架的预设定义可能没有考虑相连骨骼的当前位置和/或当前运动范围对所选控制点运动所产生的限制,因此只是估算。在模块850中,轨道操纵器在屏幕上显示为计算机生成角色所选部位确定的运动范围。
[0035]图9展示计算系统900,该系统中很多组件都是执行上述流程可使用的。主系统902包括具有I/O区段906的主板904,一个或多个中央处理器(CPU) 908,以及可与闪存卡912相连的内存区段910。I/O区段906与显示器924、键盘914、磁盘存储单元916及媒体驱动单元918相连。媒体驱动单元918能读写计算机可读媒介920,计算机可读媒介920能包括程序922和/或数据。
[0036]根据上述流程结果得出的值至少有一部分可以被储存下来,供以后之用。另外,非临时性计算机可读媒介可用来存储(例如,有形的实施例)一个或多个计算机程序,用于通过计算机执行上述任一流程。该计算机程序可由通用编程语言编写,(例如Pascal、C、C++、Java)或某一专用编程语言编写。
[0037]尽管上文只详细描述了某些示范性实施例,但本领域内的专业人士很容易理解,这些示范性实施例可以作出很多修改,而不实质脱离本发明的新颖性主张和优点。例如,虽然轨道操纵器的示范性实施例使用老虎100为例,但是轨道操纵器可应用于不同的计算机生成角色,包括有生命的或无生命的,真实的或虚拟的计算机生成对象。轨道操纵器适用于符合解剖学或者不符合解剖学的计算机生成对象。本公开说明中实施例的各方面可被并入其它组合,形成另外的实施例。所有这些修改都应包含在本公开说明所述的技术范围之内。
【权利要求】
1.一种在计算机动画系统中指示计算机生成角色的运动范围的计算机化方法,所述方法包括: 获得计算机生成角色的模型,其中所述模型包括含有在一个或多个关节上连接的多块骨头的骨架; 接收用户对模型第一个部位的选择,其中所选的第一个部位对应所述多块骨头中第一块骨头的至少一部分,其中第一块骨头位于初始位置; 识别和第一块骨头相连的第二块骨头; 根据第一块骨头初始位置和第二块骨头的位置,决定所选第一个部位的运动范围,其中所选第一个部位的运动范围受限于第二块骨头的位置;以及在显示屏上显示所选第一部位的运动范围。
2.如权利要求1所述的方法,所述方法进一步包括: 决定所述第二块骨头的运动范围;及 根据所述第二块骨头的运动范围决定所选第一部位的运动范围,其中所选第一部位的运动范围也受限于所述第二块骨头的运动范围。
3.如权利要求2 所述的方法, 其中,显示所选第一部位的运动范围包括显示有两个端的一条线段或曲线段, 其中一端代表某方向上所选第一部位运动的最大限度,及 其中另一端代表相反方向上所选第一部位运动的最大限度。
4.如权利要求3所述的方法,其中所述接受到的用户输入代表所选第一部位到新位置的运动,所述方法进一步包括: 在直线或曲线段上显示出指示,其中所述指示代表所选第一部位相对于所显示的所选第一部位运动范围所处的新位置。
5.如权利要求2所述的方法,其中: 显示所选第一部位的运动范围包括,显示代表三维运动范围的二维轮廓。
6.如权利要求1所述的方法,所述方法进一步包括: 接收额外的用户输入,其中所述额外的用户输入指示所选第一部位离开初始位置的运动,所述额外的用户输入具有在所决定的第一部位运动范围内的第一个运动的组成部分,所述额外的用户输入在所决定第一部位运动范围之外具有第二个运动的组成部分; 对应所决定的第一部位运动范围,限制所选第一部位运动范围,及 响应所接受用户输入的至少一部分,显示所选第一部位运动。
7.一种非临时性计算机可读存储媒介,所述媒介储存计算机可执行的命令,用于指示计算机生成角色的运动范围,其中当计算机可执行的命令被一个或多个计算机处理器执行时,会指示一个或多个计算机处理器执行下列操作: 获取一个计算机生成角色模型,其中所述模型包括含有以一个或多个关节连接的多块骨骼的骨架; 接收用户对所述模型第一个部位的选择,其中所选的第一个部位对应所述多块骨头中第一块骨头的至少一个部分,其中所述第一块骨头位于初始位置; 识别和所述第一块骨头相连的第二块骨头; 根据所述第一块骨头初始位置和第二块骨头的位置,决定所选第一部位的运动范围,其中所选第一部位的运动范围受限于所述第二块骨头的位置;以及 在显示屏上显示所选第一部位的运动范围。
8.如权利要求7的计算机可读存储媒介,进一步包括用于执行下列操作的计算机可执行命令: 决定所述第二块骨头的运动范围;以及 根据所述第二块骨头的运动范围决定所选第一部位的运动范围,其中所选第一部位的运动范围也受限于所述第二块骨头的运动范围。
9.如权利要求8所述的计算机可读存储媒介, 其中显示所选第一部位的运动范围包括显示有两个端的一条线段或曲线段, 其中一端代表某方向上所选第一部位运动的最大限度,及 其中另一端代表相反方向上所选第一部位运动的最大限度。
10.如权利要求9所述的计算机可读存储媒介,其中所述接受到的用户输入代表所选第一部位到新位置的运动,所述计算机可读存储媒介进一步包括用于执行下列操作的计算机可执行命令: 在线段或曲线段上显示出指示,其中所述指示代表所选第一部位相对于所显示的所选第一部位运动范围所处的新位置。
11.如权利要 求8所述的计算机可读存储媒介,其中: 显示所选第一部位的运动范围包括显示代表三维运动范围的二维轮廓。
12.如权利要求7所述的计算机可读存储媒介,进一步包括用于执行下列操作的计算机可执行命令: 接收额外的用户输入,其中所述额外的用户输入代表所选第一部位离开所述初始位置的运动,所述额外的用户输入在所决定第一部位运动范围内具有第一个运动组成部分,所述额外的用户输入在所决定第一部位运动范围之外具有第二个运动组成部分; 对应所决定的第一部位运动范围,限制所选第一部位运动范围,及 响应所接受用户输入的至少一部分,显示所选第一部位运动。
13.一种用于对计算机生成角色实现动画化的计算机图形系统,所述系统包括有效连接显示屏和用户输入设备的服务器,其中所述服务器经过配置可执行下列操作: 获得计算机生成角色模型,其中所述模型包括含有以一个或多个关节连接的多块骨骼的骨架; 接收用户对所述模型第一个部位的选择,其中所选的第一个部位对应所述多块骨头中第一块骨头的至少一个部分,其中所述第一块骨头位于初始位置; 识别和所述第一块骨头相连的第二块骨头; 根据所述第一块骨头初始位置和第二块骨头的位置,决定所选第一部位的运动范围,其中所选第一部位的运动范围受限于所述第二块骨头的位置;以及在显示屏上显示所选第一部位的运动范围。
14.如权利要求13所述的系统,其中所述服务器经过进一步配置可执行下列操作: 决定所述第二块骨头的运动范围;及 根所述据第二块骨头的运动范围,决定所选第一部位的运动范围,其中所选第一部位的运动范围也受限于所述第二块骨头的运动范围。
15.如权利要求14所述的系统, 其中显示所选第一部位的运动范围包括显示有两个端的一条线段或曲线段, 其中一端代表某方向上所选第一部位运动的最大限度,及 其中另一端代表相反方向上所选第一部位运动的最大限度。
16.如权利要求15所述的系统,其中所述服务器经过进一步配置可执行下列操作: 在直线段或曲线段上显示指示,其中所述指示代表所选第一部位相对于所显示的所选第一部位运动范围所处的新位置。
17.如权利要求14所述的系统,其中: 显示所选第一部位的运动范围,包括显示代表三维运动范围的二维轮廓。
18.如权利要求13所述的系统,其中服务器经过进一步配置可执行下列操作: 接收额外的用户输入,其中所述额外的用户输入代表所选第一部位离开初始位置的运动,所述额外的用户输入在所决定第一部位运动范围内具有第一个运动的组成部分,所述额外的用户输入在所决定第一部位运动范围之外具有第二个运动的组成部分; 对应所决定的第一部位的运动范围,限制所选第一部位运动范围,及 作为对所接受用户输入的至少一部分的反应,显示所选第一部位的运动。
【文档编号】G06T13/40GK104050702SQ201410097640
【公开日】2014年9月17日 申请日期:2014年3月17日 优先权日:2013年3月15日
【发明者】A·P·鲍威尔 申请人:梦工厂动画公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1