动画控制设备的制作方法

文档序号:6410987阅读:189来源:国知局
专利名称:动画控制设备的制作方法
技术领域
本发明涉及由动画组件组合那些来自预存部件库的图象而产生动画序列。具体地,本发明涉及一种用于允许在一动画显示中的动画绘画图象序列的实时交互控制的方法和装置,并且涉及一种用于控制和监视物体部件运动序列的产生的方法和装置。
为了显示,所述动画可以包括一简单的二维卡通(cartoon),此卡通具有一个角色在其上运动的大而静止的背景,并且具有基于从一角色姿势存储库中调用的连续帧的角色显示。其中,当所述角色执行一重复动作,例如走过屏幕时,所述动画套件可以存储行走动作所需的连续姿势,此连续姿势可以看作在相应地修改角色屏幕位置的情况下循环的一序列。
在一个较复杂的动画中,不管是根据相关的部件运动显示还是仅仅模拟,主题(图象)可以是一个三维模型,例如人或动物体的三维模型。但另一方面,基本物体部件的形状和运动序列已预先存储并可以在需要时调用。这样的动画套件的一个例子是“Life Forms”,它是一个用于产生舞蹈分解图(dance choreography)的制作工具,由Simon FraserUniversity,B.C.Canada开发并通过Kinetic Effects Incorporated以各种形式推向市场。注意,“Life Forms”是Kinetic Ettects Inc of Seattle,USA的一个注册商标,并且此术语在这里的所有使用承认这一事实。“Life Forms”的开发描述于论文“The Evolution of an Interface forChoreographers”中,此论文由SFU的T.W.Calvert等人撰写并发表于Inter Chi’93,24-29 April 1993。
为了提高动画和仿真的真实感,已有人提出对动画的控制采用人工智能(AI)技术,以使它们对在其中被模拟的虚拟世界的限制更易于反应。因为其便于模拟限制关系的优点,所以人们推出了基于规则的语言。
基于规则的处理器系统典型地支持行为语言,在行为语言中行为是根据一个值或者规则执行的简单操作,这里,一个规则定义在两个事件之间的逻辑和时间关系(行为状态改变)。因此,与一规则的条件部分(也称为一个规则的左部行为)相关联的事件引起与此规则的响应部分(右部行为)相关联的连续的事件。这样的一个基于规则的实时语言的例子是Real Time ABLE(RTA),它描述于Proceeding of the EuropeanSimulation Multiconference 1991,226-231页。ABLE代表AgentBehaviour Languag,并且ABLE是一种用于仿真中介(agent)和多中介(multiple agent)系统的高并发产生式规则语言(highlyconcurrent production rule language)。ABLE为比较紧密的时间集成提供产生式规则语言。这种语言可以方便地编译成一种虚拟异步逻辑电路的表示,前述的逻辑电路包括许多诸如AND元件、OR元件、延迟元件等等互连元件。
RTA采用与搜索策略不同的一种传播(propagation)技术以获得一种快速产生式规则系统。基于规则的语言的另一个例子在“The Behaviour Language;User’s Guide”,RABrooks,Al Memo 1227,Massachusetts Institute of Technology ArtificialIntelligence laboratory,April 1990中给出。
由于采用传播基于规则的系统而带来的一个问题是协调规则的事件驱动开关和在动画产生的选择/绘制/显示序列的更加同步性质的限制。
因此,本发明的一个目的是允许通过一种基于规则的处理器系统而控制一动画或模拟组件,而同时使由于不同的时序系统产生的不连续性减小到最低程度。
根据本发明的第一方面,提供了一种用于控制一计算机产生的动画组件的设备,此动画组件包括存储的图象部件和部件运动参数的数据库以及用于产生图象帧序列的装置,通过此序列,一个或多个图象部件根据一个或多个运动参数而运动,所述设备包括接口装置,此接口装置能够连接到图象发生装置并包括存储装置,此存储装置容纳一功能规范库,当被调用或应用到所述图象发生装置时,所述功能规范库的每一个起动图象部件运动的一个或一个预定序列;以及一个传播的基于规则处理器,此处理器连接到所述接口装置并且包含有一组规则,每一规则对一给定的条件定义一响应,而当所述相关的条件满足时,所述处理器产生一响应;其中所述的处理器被耦合以接收关于一产生的图象帧的一个或多个特性的数据,所述的数据符合至少一个规则的条件部分,并且其中,所述接口功能规范的每一个的调用是相应规则的响应部分。
为了避免同步问题,最好是提供时序管理装置接着在所述基于规则的处理器中规则点火传播(rule firing propagation)的一预定期间的开始和完成而通过所述动画组件起动每个连续的图象帧的产生。对于所述动画组件的实时操作,所述时序管理装置可以适当地设计成以一基本上为常数,例如30帧/秒的频率来起动连续图象帧的产生。
根据本发明的第二方面,提供了一种用于控制一计算机产生的动画组件的设备,此组件包括物体部件和部件相对运动参数的存储库和用于为一个或多个物体部件产生运动序列的装置,其中所述的部件根据一个或多个运动参数而运动,所述设备包括接口装置,此接口装置能够连接到序列发生装置并包括存储装置,此存储装置容纳一功能规范库,当被调用或应用到所述图象发生装置时,所述功能规范库的每一个起动一个或一个预定序列的物体部件运动;以及一个传播的基于规则的处理器,此处理器连接到所述接口装置并且包含有一组规则,每一规则对一给定的条件定义一响应,而当所述相关的条件符合时,所述处理器产生一响应;其中所述的处理器被耦合以接收关于一运动序列期间一物体部件的一个或多个特性的数据,其数据满足至少一个规则的条件部分,并且其中,所述接口功能规范的每一个的调用是相应规则的响应部分。
适当地,到达处理器的数据通过所述接口装置接收并且确定图象或者物体部件特性的一个或多个预定接合,并且适当地,所述传播的基于规则处理器为这样一种类型,它包括一种装置,此装置用于将一异步逻辑电路模拟成多个电路元素,其功能由一组规则管理(例如,支持一RTA规则集的处理器)。
根据本发明的两个方面之一的设备,最好包括用户接口装置,此接口装置连接到所述基于规则的处理器,通过此接口装置的使用,用户可以有选择地修改所述规则集,或者可以有选择地调用一个或多个所述接口功能规范,所述处理器含有所述规则的一个子集,其中每个规则具有象其各响应部分那样的一个相应的接口功能规范,并且具有象其各条件部分那样的一不同的预定用户输入。
而且,根据本发明的第一和第二方面,提供了一种用于分别控制一动画组件和一模拟组件的方法,正如所附权利要求书中定义的那样,现在将对其进行说明。
通过给出的例子并且参照附图,从本发明的较佳实施例的下列描述中,本发明的其它特性和优点将变得清晰。其中


图1是一方框示意图,显示了通过实施本发明的一接口单元链接一基于规则处理器和动画组件;图2是关于诸如图1所示的设备的用户接口选择的示意性描述;图3是一流程图,说明了在图1的设备中的时序管理;图4是根据本发明的一可选择实施例的一模拟组件结构的部件的示意描述;以及图5是图1的接口单元所拥有的功能集的命令列表。
图1显示了实施本发明的一设备,它在一基于规则处理器和一动画组件之间提供了一接口链接,其中的基于规则处理器含有一个RTA规则全集,其中的动画组件模拟一个人体及其运动。通过此接口链接,所述处理器能够控制与单个或多个角色动画相关的一基本特性集。
基于规则处理器10有一个与其相关联的随机存取存贮器(RAM)12,RAM12提供许多不连续的存储区域,其中的第一区域14存有一个表,此表含有编译的RTA规则全集的异步逻辑电路表示的各个元素的细节。每一个行为(注册元素(register element))、时间注释(延迟元素)逻辑功能元素和规则在前述的表中为一行。此表中的每一行标识元素号、装置的状态标志、装置的排队状态标志、内部状态和传播功能开始地址。当所述表的一行所涉及的元素状态改变时(这里称为一个事件),一传播功能被执行,从而对可能被这一改变影响的所有元素产生任意适当的改变。这些传播功能适当地设置在某些存贮单元或起始地址。不是通过搜索由一事件影响的所有元素,而是通过传播这样一种方式来改变元素状态,这样使得所述设备能够高效地操作。
开始于所述起始地址的所述传播功能存储在RAM12的另一区域16中;RAM12还提供用于未来元素状态变化18、事件堆栈20和程序存储器22的其它存储区域。程序存储器22存有一个用于一中介的规则集,每一个的形式为至少一个定义一条件的特定行为以及定义相关联的响应的至少一个另外的行为。如果需要的话,程序存储器22和传播功能16存储在另一个存贮装置中,例如一只读存贮器中。
RAM12通过一数据总线24和一地址总线26以一公知的方式连接到处理器10。而且一时钟(CLK)28也以一公知的方式连接到所述处理器。处理器10处理来自程序存储器22的所述中介规则,通过产生定义相关联的响应的一个或多个另外的行为而响应条件行为的满足。如下面将要描述的那样,一用户接口装置(UID)30允许输入控制数据和命令。
用于未来中介元素状态变化的存储区域18是一个含有多个时隙和元素号的两行表。任意数量的元素号能够被存储以响应一特定时隙和在此时隙中将改变的所有元素状态。此表也可设计用于一连续的时隙序列,但最好是采用一种堆栈,此堆栈仅仅存贮那些其元素号被存储的时隙,当由于程序操作的需要时,可以方便地插入元素号和时隙。
通常,虽然如果需要的话,其它的元素状态变化也能够延迟,但是,除了那些对应于延迟元素的以外,所有的中介元素状态变化都将在当前时隙中执行。在没有时间延迟的情况下产生的这些元素状态变化可以放在事件堆栈20中以便用于在最近的将来-即在当前时隙稍后的执行,但是在进行到下一个时隙之前,要为此时隙确定一个事件。
总是标识为32的所述动画组件包括一图形引擎、一部件存储器36和一显示驱动器38,其中的显示驱动器输出用于在监视器/CRT40上显示的信号。所述部件存储器36为当前帧或序列产生提供短期存贮并且存贮从海量存储器52中调用的相关图象部件和运动参数信息,作为一个例子,其中的海量存储器可以是一CD-ROM存储器。在(被要被描述的)一替换实施例中,所述动画组件还可以有一个用户接口和时钟源但是,在所显示的这个实施例中,这些功能通过链接所述动画组件到基于规则处理器的一接口单元42来处理。
在操作中,动画组件通过首先从存贮在部件存储器36中的构架库中选择一构架(线帧模型(wire frame model))并且确定其在虚拟世界中的最初位置和方向而产生图象。这里的构架具有关节特征,例如,当模拟人体时,所述的确定可以是分阶段的处理,开始是利用各关节的角度产生一初始姿势,然后在虚拟世界中对已产生姿势的构架定位和方向。最后的阶段是构架的“肌肉表现”(flesh out),此阶段可以通过传统的绘制技术或者通过装配来自部件存储器36的表面来完成。
为了通过基于规则处理器10提供对所述组件的控制,接口单元42在由局部处理器46访问的存贮器44中保持有一功能集,其中的处理器分别通过数据总线48、50连接到基于规则处理器10和图形引擎34。接口单元处理器46链接每一功能到图形引擎34的控制集,使得在调用时,每一功能确定由所述组件执行的一特定操作或者操作序列。需要说明的是,这里的一个序列可用于整个“物体”或者其部件;例如,在一个人体中,可以允许一个序列规定腿的行走运动,而另一个序列规定手臂的摆动,这些序列可以互相独立地运行。
所述控制集的功能还提供了用于基于规则处理器的“句柄”(handle),它使得一个功能的实现能够表示成一个规则的响应部分,这样就使得规则定义用户输入和一动画序列的实时播放之间的关系。通过应用基于规则系统的限制功能,也可以指定一动画角色的动作和所模拟的虚拟世界的特性之间以及两个或多个独立的模拟角色之间的关系。
UID可以根据需要的交互作用的形式和级别而采用不同的形式,并且它可以连接到所述动画组件的图形引擎或者直接连接到RTA程序存储器,而不是象图1所示那样直接读入所述基于规则处理器。图2示意性地表示了在一RTA规则集60、动画产生于其中的虚拟世界62、以及处理图象产生的硬件64之间的链接。根据具体的应用,用户输入可以是三个级别(标识为UI.1、UI.2和UI.3)的任意一个或其组合。
RTA规则集的输入UI.1将控制动画角色如何对由虚拟世界施加的限制进行反应。虚拟世界的输入UI.2将允许性能的控制和改变,动画角色根据RTA规则集而与前述的控制和交替相互配合。硬件的输入UI.3将允许通过绘制图象操作的控制而在动画角色出现时产生变化。
UID的物理结构也将依赖于交互作用和控制的形式,并且其范围可以是从一鼠标或控制杆、辅助键盘或键盘、到允许在虚拟世界中模拟物理目标的一传感器阵列(sensor array)。
RTA的时序控制和动画程序如图3的流程图所示。首先,RTA时隙递增,使得由于自上一时隙的条件变化的规则点火(以及那些对具体时隙的排队)能够通过规则集开始传播。接下来在102,根据来自前面的传播时隙的调用的功能的图象帧被计算,绘制并显示。一旦完成,就检查用户接口(104),并且登记任何新输入的命令或数据以便用于在下一个RTA传播时隙中处理,然后定时器等待(在106)直至一预定时间为止,并且然后(在108),定时器发送一个帧前进信号(frameadvance signal)到所述动画组件。然后,时序控制循环回到开始下一个RTA传播时隙的第一处理。
对于一个动画的实时运行,所述帧前进信号最好是一个实际的常数频率(诸如30帧/秒)。但是,通过根据RTA传播而控制所述的帧前进,较慢帧的更新能够被调节,其中存在具体的复杂规则限制或图象细节。可以替换的是,对于其中RTA传播时间加上产生和绘制时间将总小于一个帧周期的应用,在与开始一RTA传播时隙和检查用于与此同步的用户输入情况下,所述帧前进信号可以在动画组件内通过一时钟而产生成一周期信号。
在一替换实施例中,该系统可具体涉及运动物体部件之间的相互关系,即可能特别涉及到并且可以不要求图象的全生成。在这种情况下,广义的系统构造可如图4所示,它带有连接在一起的一RTA规则全集120、物体部件动画引擎130和模拟组件,并且还带有耦合到一虚拟世界模型150的模拟组件。如虚线所示,还可以提供一图形引擎160以便显示模拟组件的输出功能集的内容在某种程度上将依赖于动画的形式。图5的表给出了一功能集的优选命令的非穷举列表,在其中动画组件将模拟一三维虚拟世界中的三维物体的运动而产生一系列帧。这些命令的实现如下-Create根据所标识的存储构架库(线帧模型)的其中之一而建立一个新形象。对此命令的响应是此新形象的一个标识符(“Figure”)。-Delete删除所标识的形象。-Set Sequence为一给定形象确定一运动序列,此序列为从当前帧开始的n个帧,如果没有指定位移,那么就用新序列代替当前活动序列,虽然最好是提供一“中断”周期以允许在中断处的形象姿势和位置与所述新序列开始时的形象姿势和位置之间进行插入。也可以指定一时间偏差因子(time warp factor)(见下面)。-Set Loop Mode确定一给定形象的当前序列是否循环(例如一行走动作)或者是否仅执行一遍。-Set warp Factor确定一放大或缩小的周期,当前序列在此周期内再现完毕。如果具备这一能力,那么就可以通过图形引擎内插基于特定帧的中间帧来处理。可以替换的是,所述的偏差可以在RTA中通过改变单个规则的时间注解或者通过加速整个规则全集而处理,这就是说通过增加调用连续RTA时间周期的频率来处理。-Advance Time将当前序列的位置前进n帧。-Display调用图形引擎以显示所述序列中的当前形象位置的一帧。-Bound计算在所述序列的当前帧的位置处一形象周围的三维边界框。-Get Position计算在虚拟世界中所述形象的当前位置,这特别适用于其中的角色已经正在进行了一个长序列的情况。-Get Orientation计算在虚拟世界中所述形象的当前方位(即所述形象朝向哪里)。-Get Pose计算所述形象的当前姿势,即,各个物体部件相互之间的位置和方位。-Set Position允许在虚拟世界中设置所述形象的位置。-Set Orienation允许在虚拟世界中设置所述形象在一特定位置上的方位。
可以理解的是,根据具体的应用可以定义许多其它的功能。例如,通常需要用于系统初始化和数据加载的功能,并且也需要用于诊断的功能。
通过阅读本发明,对于本领域的技术人员来讲,其它的变形和修改将是显而易见的。这些修改和变形可能包括公知的其它性能,并且这些公知性能可能用于代替或者附加已经描述的性能。例如,如图1所示的两个单独装置,可以理解的是,所述基于规则处理器10和接口处理器46可以是单个装置,尽管最好是具有多任务处理能力。另外,虽然图1显示了用于图象部件细节的本机海量存储器52和用于规则传播的本机存储器22,但是可以理解的是,这两个存储器或者其中之一都可以例如通过一个数据网络从远程存储器提供,该动画组件和/或基于规则处理器具有到该网络的一个适当的接口。
虽然在本申请的权利要求中已经提出了具体的性能组合,但是可以理解的是,本发明的范围也包括在其中,清楚或含蓄地公开的任意新性能或其结合,而不管它是否涉及如当前任意权利要求中声明的相同发明,以及是否减轻如当前声明的发明那样的任意或所有的相同技术问题。因此,申请人提请注意的是,在本发明或由此导出的其它申请的实施过程中,可以对这种性能或其结合提出新的权利要求。
权利要求
1.一种用于控制一计算机产生的动画组件的设备,此组件包括存储图象部件和部件运动参数的数据库以及用于产生图象帧序列的装置,通过此序列,一个或多个图象部件根据一个或多个所述运动参数而运动,所述设备包括接口装置,此接口装置能够连接到图象发生装置并且包括存储装置,此存储装置容纳一功能规范库,当被调用或应用到所述图象发生装置时,所述功能规范库的每一个起动一个或一个预定序列的图象部件运动;以及一个传播的基于规则处理器,此处理器连接到所述接口装置并且包含有一组规则,每一规则对一给定的条件定义一响应,而当所述相关的条件符合时,所述处理器产生一响应;其中所述处理器被耦合以接收关于一产生的图象帧的一个或多个特性的数据,所述的数据符合至少一个规则的条件部分,并且其中,所述接口功能规范的每一个的调用是相应规则的响应部分。
2.如权利要求1所述的设备,其中所述数据通过所述接口装置接收并且确定图象帧特性的一个或多个预定接合。
3.一种用于控制一计算机产生的动画组件的设备,此组件包括存储物体部件和部件相对运动参数的数据库和用于为一个或多个物体部件产生运动序列的装置,其中所述的部件根据一个或多个运动参数而运动,所述设备包括接口装置,此接口装置能够连接到序列发生装置并且包括存储装置,此存储装置容纳一功能规范库,当被调用或应用到所述图象发生装置时,所述功能规范库的每一个起动一个或一个预定序列的物体部件运动;以及一个传播的基于规则处理器,此处理器连接到所述接口装置并且包含有一组规则,每一规则对一给定的条件定义一响应,而当所述相关的条件符合时,所述处理器产生一响应;其中所述处理器被耦合以接收关于一运动序列中一物体部件的一个或多个特性的数据,其数据符合至少一个规则的条件部分,并且其中,所述接口功能规范的每一个的调用是相应规则的响应部分。
4.如权利要求3所述的设备,其中所述的数据通过所述接口装置接收并且确定物体运动特性的一个或多个预定接合。
5.如权利要求1或3所述的设备,其中所述的传播基于规则处理器包括一种装置,此装置用于将一异步逻辑电路模拟成多个电路元件,其功能由一组规则管理。
6.如权利要求1或3所述的设备,还包括用户接口装置,此接口装置连接到所述基于规则处理器,通过此接口装置的使用,用户可以有选择地修改所述规则集。
7.如权利要求1或3所述的设备,还包括用户接口装置,此接口装置连接到所述基于规则处理器,通过此接口装置的使用,用户可以有选择地调用一个或多个接口功能规范,所述处理器含有所述规则的一个子集,其中每个规则具有一个相应的接口功能规范作为相应的响应部分,并且具有一个不同的预定用户输入作为它们的相应的条件部分。
8.如权利要求1所述的设备,还包括时序管理装置,此装置接着在所述基于规则处理器中一预定时期的规则点火传播的起动和完成而通过所述动画组件起动每个连续的图象帧的产生。
9.如权利要求8所述的设备,其中所述的时序管理装置以一基本上常数频率起动连续图象帧的产生。
10.一种用于控制一计算机产生的动画组件的方法,所述组件包括存储图象部件和部件运动参数的数据库以及用于产生图象帧序列的装置,通过所述序列,一个或多个图象部件根据一个或多个所述运动参数而运动,所述方法包括提供一功能规范库,当被调用或应用到所述图象发生装置时,所述功能规范库的每一个起动一个或一个预定序列的图象部件运动;以及提供一个传播的基于规则处理器,此处理器包含有一组规则,每一规则对一给定的条件定义一响应,而当所述相关的条件符合时,所述处理器产生一响应;其中关于一个或多个预定图象帧特性的数据包括至少一个规则的条件部分,并且其中,所述功能规范库的每一个的调用是相应规则的响应部分。
11.如权利要求10所述的方法,其中所述的数据从动画组件接收并且确定图象帧特性的一个或多个预定接合。
12.如权利要求11所述的方法,其中所述的一个或多个预定接合确定在两个图象部件之间的距离或距离值的范围。
13.一种用于控制一计算机产生的动画组件的方法,所述组件包括存储物体部件和部件相对运动参数的数据库和用于为一个或多个物体部件产生运动序列的装置,其中所述的部件根据一个或多个运动参数而运动,所述方法包括提供一功能规范库,当被调用或应用到所述图象发生装置时,所述功能规范库的每一个起动一个或一个预定序列的物体部件运动;以及提供一个传播的基于规则处理器,此处理器包含有一组规则,每一规则对一给定的条件定义一响应,而当所述相关的条件符合时,所述处理器产生一响应;其中关于一运动序列中一个或多个物体部件特性的数据符合至少一个规则的条件部分,并且其中,所述功能规范库的每一个的调用是相应规则的响应部分。
14.如权利要求13所述的方法,其中所述的数据从动画组件接收并且确定物体部件特性的一个或多个预定接合。
15.如权利要求13所述的方法,其中还提供一另外的功能规范库,此功能规范库的每一个是相应规则的响应部分,并且每一个的调用使得模拟组件输出关于一个或多个物体部件特性的信息。
16.如权利要求15所述的方法,其中所述的模拟组件在三维虚拟世界中模拟一个或多个物体部件的运动,并且与所述另外的功能规范库中的一个的调用相对应的信息输出确定在虚拟世界中的所述多个物体部件或其中之一的瞬时位置。
17.如权利要求15所述的方法,其中所述的模拟组件在三维虚拟世界中模拟一个或多个物体部件的运动,并且与所述另外的功能规范库的其中之一的调用相对应的信息输出确定在虚拟世界中的所述多个物体部件或其中之一的瞬时方位。
18.如权利要求15所述的方法,其中所述的模拟组件在三维虚拟世界中模拟两个或多个物体部件的运动,并且与所述另外的功能规范库的其中之一的调用相对应的信息输出确定所述至少两个物体部件的瞬时相对方位。
全文摘要
一种用于控制一计算机产生动画组件(32)的方法和设备,其中,所述组件从图象部件和部件运动参数存储库中产生图象帧序列。一接口(42)包括功能规范存储器(44),其中的每个功能,当其被调用或用于动画组件时,它将起动一个或一预定序列的图象部件运动。一基于规则处理器(10)包括用于将一异步逻辑电路模拟成多个电路元件的装置,每个电路元件的功能由一存储的规则集(14,22)管理,每个规则对一给定的条件定义一响应,而当相关条件满足时所述处理器产生一响应。图象帧特性的预定接合被确定为一些规则的条件部分,并且,每个接口功能规范的调用是相应规则的响应部分,还描述了用于控制一运动模拟组件的方法和装置。
文档编号G06T13/20GK1166221SQ96191203
公开日1997年11月26日 申请日期1996年8月16日 优先权日1995年8月21日
发明者R·J·艾伦, R·D·盖拉利 申请人:菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1