用于产生对象的行为的装置和方法

文档序号:6480564阅读:220来源:国知局
专利名称:用于产生对象的行为的装置和方法
技术领域
本发明涉及一种用于产生对象的行为的方法和装置。尽管本发明并不限于此,但是特别感兴趣的一个应用是产生用于传达虚拟代理或对象(例如,化身(avatar))的肢体语言的自主行为。
背景技术
动画对象,无论是虚拟的(例如化身)还是机器人(例如宠物“玩具”),都在其行为方面变得越来越复杂。具体地,顾客要求诸如化身和动画代理的虚拟对象能够表达更多的实际行为。在本发明的上下文中,化身被定义为用户在虚拟环境中的任意适当形式的可视表示。动画代理是基于智能软件的代理,用于在虚拟环境中和用户进行交互,或者用于交互娱乐。类似地,动画代理可以采用任意适当的形式。
当对象能够具有动画行为时,希望相对不擅长编程的用户具有使该对象的行为个人化的能力。当用户例如在组设置中寻求产生个性的感觉,以丰富该对象所扮演的角色,或者反映该用户自己的个性时尤其如此。为了使对象让人类用户更加感兴趣,如果可以为对象提供个性,即,如果可以由用户来修改行为,则希望具有用户所期望的特定特性。
为了满足这些要求,用于产生动画对象的行为的行为模型变得越来越复杂。由于相对不擅长编程的用户缺乏对表示行为模型的复杂程序进行处理以及对支持该行为的代码进行修改所需的专业知识,所以当他们希望修改对象的行为时,会产生冲突。
本领域中已知的用于产生对象的自主行为并为对象提供个性的技术的应用有限。通常,当向非本领域的个人提供适当的手段来修改对象的行为并支持该对象的复杂行为时,实现了较差的折衷。如果用户希望实时修改对象的行为,则尤其如此。
现有技术中已经公开了使得非专业用户能够对诸如化身的虚拟对象的行为进行修改的有限装置。例如,在Brush II等人的美国专利No.US5,884,029“User interaction with intelligent virtual objects,avatars,which interact with other avatars controlled by differentusers”中,公开了一种方法和装置,其使得用户能够将个性编程到诸如化身的智能虚拟对象中。在该示例中,通过利用预先编程的响应设定,使得化身能够对外部刺激半自主地进行响应,来创建化身的个性。该方法由于许多原因而应用受限,尤其因为非专业用户不能选择哪一种个性特征来定义自主行为,还因为非专业用户不能实时地修改化身的个性。
在Ball等人的美国专利No.US 6,212,502“Modelling andProjecting Emotion and Personality from a Computer User Interface”中公开了一种方法,该方法确定用户的可能情绪状态,然后在个人化身中表达用户的情绪行为,以增长用户对虚拟世界的经验。因为如果用户希望化身的行为与他们本身的不同,则用户不能干涉和控制化身的行为,所以该方法的应用受限。
在Liles等人的美国专利No.US 5,880,731“Use of avatars withautomatic gesturing and bounded interaction in on-line chatsession”中,当化身不活动时,用户可以从有限的菜单中为化身选择特定的手势,以使其自主地执行动作。由于个性包括当化身没有在用户的控制下执行预备的动作时常常自动显示的所选择的手势,所以没有对行为进行修改,以在用户的有意控制下增强动作。

发明内容
本发明希望提供一种用于产生对象的自主行为的装置和方法,其消除和/或减少了上述现有技术中已知的缺点。
根据本发明的第一方面,提供了一种用于在行为控制器的控制下产生对象的行为的方法,该方法包括以下步骤接收与行为动作相关联的输入;根据用于产生对象行为的行为框架,通过所述输入来推断多个行为参数值;根据所推断的多个行为参数值获得输出;以及使用根据这些参数值获得的输出来产生对象的等效行为。
根据本发明的第二方面,提供了一种用于推断对象的行为控制器的多个内部参数值的方法,该方法包括以下步骤接收表示行为动作的输入;根据所述接收的输入推断与该对象的等效行为动作相对应的至少一个输出值的集合;以及根据所述至少一个输出值的集合为所述多个内部参数中的每一个推断值,其中为所述多个内部参数中的每一个推断的值通过行为控制器产生输出,从而获得与该等效行为动作等效的行为。
根据本发明的第三方面,提供了一种用于产生对象的行为的方法,该方法包括根据第二方面的方法推断对象的行为控制器的多个内部参数值,该方法还包括使用所述推断出的多个参数值来产生与所述等效行为相关联的所述输出值的集合;以及使得所述有关节对象执行所述行为。
根据本发明的第四方面,提供了一种用于控制有关节对象的行为的方法,该方法包括以下步骤使用用于向该对象的行为控制器提供输入的行为设计界面,向与该对象的行为特性相关联的行为参数集合赋值,各个所述行为参数集合都包括影响行为特性的至少一个参数;使该参数集合中的每一个参数都与下述的参数值相关联,该参数值是通过使用由行为简档限定的默认值对所赋的值执行一函数而获得的;将该参数值输入对象的行为控制器;根据所述输入推断出由行为控制器产生的输出;使该输出与对象的行为动作相关联;以及使对象执行该行为动作。
根据本发明的第五方面,提供了一种计算机程序产品,其包括计算机程序或者计算机程序集合,这些计算机程序包括指令集合,这些指令使得一个或更多个计算机执行本发明的方法方面中的任意一种。
根据本发明的第六方面,提供了一种装置,其包括用于产生对象的行为的行为控制器,该控制器包括用于接收与行为动作相关联的输入的装置;用于根据用来产生对象行为的行为框架,通过所述输入来推断多个行为参数值的装置;用于根据所推断的多个行为参数值来获得输出的装置;以及使用根据这些参数值获得的输出来产生对象的等效行为的装置。
根据本发明的第七方面,提供了一种包括行为设计界面的装置,该界面包括用于允许向行为参数集合赋值的装置,该参数集合包括与该对象的行为特性相关联的至少一个参数值,其中将使用该界面赋的值作为输入提供给根据第六方面的装置。
根据本发明的第八方面,提供了一种其上存储有至少一个计算机程序的集合的设备,该至少一个计算机程序的集合可以在该设备上执行,以使该设备用作根据本发明第六或第七方面的装置。
根据本发明的第九方面,提供了一种包括能够彼此进行通信的多个计算机型设备的网络,这些设备中的至少一个包括根据本发明第八方面的设备,其他设备用于远程访问该至少一个计算机程序的集合中的至少一部分,以使得能够通过该至少一个计算机程序的集合来控制在所述其他设备的环境中进行操作的对象。
根据本发明的第十方面,提供了一种用于直接操控对象以控制其行为的方法,该方法包括以下步骤操控对象以执行行为动作;向行为框架的输出节点提供表示该行为动作的输入,该输出节点还用于提供用于产生对象的等效行为的输出;在该行为框架内对该行为框架的输出节点接收的输入进行映射,以获得该框架的其他行为节点的至少一个参数值的集合;根据所获得的至少一个参数值的集合推断输出值的集合,该输出值的集合用于产生对象的其他等效行为。
根据本发明的第十一方面,提供了一种用于在包括节点框架的行为控制器的控制下产生对象的行为的方法,该方法包括以下步骤至少一个节点接收与行为动作相关联的输入;所述至少一个节点中的每一个将所接收的输入映射为输出;使用所述输出为该框架内的其他节点推断多个行为参数值;使用所述推断出的行为参数值对所接收的输入进行映射,以通过用于产生对象的等效行为的行为控制器来提供输出。
根据本发明的第十二方面,提供了一种用于在行为控制器的控制下产生对象的行为的方法,该方法包括以下步骤接收与行为动作相关联的输入;将所述接收的输入映射为与该对象的等效行为相对应的至少一个输出值的集合;根据用于产生该对象的行为的行为框架,通过所述至少一个输出值的集合推断多个行为参数值;以及通过将所述参数值载入到行为控制器中,来使用所述参数值产生对象的等效行为。
根据本发明的第十三方面,提供了一种虚拟环境,其中多个虚拟对象在参与该虚拟环境的一个或更多个用户的观察下进行交互,其中该虚拟环境中的所述多个虚拟对象中的每一个都使用从该虚拟环境中的一个或更多个其他虚拟对象的行为动作中的一个或更多个获得的一个或更多个输入,来表示使用行为系统产生的半自主行为。
优选地,参与该虚拟环境的每个用户都能够控制通过向该行为系统提供输入而产生的半自主行为。
本发明的另一方面提供了一种平台,用于支持以上方面的虚拟环境,其中该平台提供了用于参与该虚拟环境的所述一个或更多个用户之一提供所述输入的装置。
优选地,用户通过所显示的行为设计界面来提供所述输入,通过用于控制由所述行为系统产生的行为的行为控制器来处理所接收的输入。
该行为系统可以包括根据以上任意方面的行为控制器,以及根据以上任意方面的行为框架。
优选地,该系统使得能够提供对象的行为控制器的行为翻译设备,该设备包括用于将表示符合第一文化的行为的信息映射为符合第二文化的行为的装置。优选地,该信息由行为控制器作为输入接收。优选地,其中该信息由行为控制器作为输出提供。
优选地,由于对象的等效行为可以包括以预定顺序执行的多个行为动作,所以可以由相对不精通本领域的用户来提供更复杂的行为。更优选地,可以将随时间变化的行为参数并入到行为控制器中,以提供更真实的自主动画行为。
优选地,通过具备根据输入来推断随后可以用来产生对象的等效动作的内部参数值的能力,该产生行为的方法使得用户能够进行相对简单的数据输入,来产生复杂的对象行为。
优选地,可以产生复杂的行为,该复杂的行为可以包括一个以上的行为动作,这些行为动作中的两个或更多个可以同时执行。例如,可以对诸如化身的有关节对象的行为进行控制,以使该化身的摆姿势和凝视行为同时执行。例如,该化身可以在捡起物体时自动盯着该物体,或者另选地,作为另一示例,如果一化身不敢响应于具有侵略性的另一化身,则该胆小的化身会在姿势和凝视方面同时改变,耸肩并向下看。
优选地,本发明提供了一种装置,用于通过增加用户在聊天室的虚拟介质中可以传达的表情的数量,来提高聊天室经验。肢体语言的存在(具体地,当通过同时执行诸如摆姿势和凝视的两个或更多个行为动作来传达时),使得化身更加生动和人性化,并提高了它们交流的质量。本发明的优点使得一组化身可以协调它们的行为,以使每个化身都可以按照适当的方式对其他化身的肢体语言做出反应。
对于本领域的技术人员,显然可以按照任意适当的方式将从属权利要求中所述的优选特征与以上方面中的任意方面进行适当的组合。


下面将参照附图,仅以示例的方式来说明本发明的优选实施例,附图中图1A示意性地表示了本发明的第一实施例;图1B示意性地表示了图1A所示的行为设计用户界面的放大视图;图2A更详细地表示了图1A所示的两个化身的中立姿势;图2B表示当Bill化身具有较高的男子气概时两个化身的姿势;图2C表示当Bill化身具有较高的挑逗性时两个化身的姿势;图2D表示当Bill化身具有较低的挑逗性时两个化身的姿势;图2E表示当BOB化身具有较高的putUpon和聆听级别以及较低的domSub级别时两个化身的姿势;图3表示根据本发明的行为体系结构的示意性概要图;图4表示根据本发明实施例的行为模型的分级层次;图5是根据本发明实施例的对象的行为控制器的简化框架的示意图;图6是诸如图5和7中所示的体系结构的框架中的行为节点的示意图;
图7是根据本发明另一实施例的比图5所示的更加复杂的用于对象的行为控制器的框架的示意图;图8是示意性地表示根据本发明的产生对象行为的方法中的实时步骤以及离线简档和形容词(adjective)设计的流程图;图9A是表示行为框架如何产生根据本发明的等效行为的流程图;图9B是表示用户如何控制化身的肢体运动以对赋给行为控制器的特定行为参数的值进行重新赋值的流程图。
具体实施例方式
下面参照附图来说明发明人当前构想的本发明的最佳实施方式。然而,对于本领域的普通技术人员而言,很明显,本发明的说明仅是示例性的,并且并不旨在将本发明仅限制为所述实施例。
下面参照附图中的图1A,示出了本发明的第一实施例,其包括用于产生、推断和设计化身和虚拟角色的肢体语言的工具。本发明的该实施例是对互联网聊天室以及计算机游戏型环境等中的虚拟对象的行为特性进行控制的具体应用。
在图1A中,示出了计算机设备1。假定该计算机设备1由不具备高级计算机编程技能的人类用户(未示出)来操作。“计算机设备”一词用于暗示可以安装在可视显示器上的具有数据处理能力的任意设备,例如游戏控制台、个人数字助理,以及诸如移动电话的移动通信设备等。
计算机设备1具有可视显示装置2,例如监视器,该可视显示装置2具有显示器3。用户可以采用任意适当的操纵(navigate)装置(例如鼠标或键盘(未示出))来操纵显示器3。其他实施例可以包括诸如铁笔、轨迹板,以及游戏杆的操纵工具,可以以等效的方式来使用它们。
显示器3包括其中运行虚拟环境应用的窗口4。窗口4中显示有包含虚拟对象的虚拟环境。为了清楚起见,在本发明的该优选实施例的上下文中仅讨论两个虚拟对象。如图1A所示,这两个虚拟对象是包括能够进行动画的两个化身5、6的有关节对象。这里,也将化身5称为Bob,而将化身6称为Bill。尽管Bill和Bob具有图1A所示的实施例中的有关节形式,但是虚拟对象也可以是无关节的,例如包括可以扭曲以显示情绪等的面部。因此,行为的基准包括对象的面部表情行为以及任意形式的行为,而与对象的形式无关。
尽管虚拟对象5、6被构造为能够半自主地动画(这种情况下,它们需要来自用户的至少某些输入),但是也可以对虚拟对象5、6中的至少一个进行离线编程,以使用根据本发明其他实施例的行为控制器自主地进行操作。在本发明的上下文中,离线是指当虚拟对象未在它们的虚拟环境中执行动画行为,或者当这种行为暂停或中断,而在继续之前进行离线编程时,对行为控制器进行编程。
下面返回图1A,虚拟环境中的虚拟对象5、6包括两个人类化身。然而,本领域的技术人员可以理解,虚拟对象可以采用的形式可以根据情况而发生相当大的改变。例如,根据其角色,虚拟对象可以是动物或者能够进行动画的任意其他的有关节对象。有关节一词在此定义为包括能够彼此相对运动的部分,例如,肢体或关节。
显示器3还显示行为设计用户界面7。行为设计用户界面7包括相对于虚拟环境窗口4的独立窗口。行为设计用户界面7使得用户能够向行为控制器提供输入,以通过一个或多个虚拟对象5、6来产生行为。行为设计用户界面应用可以包括应用的包括行为控制器的部分,或者可以作为与包括该行为控制器的应用连接的独立软件应用的一部分来提供。
行为控制器包括根据预定行为框架设置的连接节点的集合,该框架中的每个节点都基于多个参数将输入映射为输出。下面详细说明行为控制器。
在图1A中,用户通过使用行为设计用户界面的轨迹条9中的滑块8适当地选择行为参数值,来对两个虚拟对象5、6进行控制。为了清楚起见,图1A中仅标出了用于男子气概行为参数设置的轨迹条和滑块。然而,下面参照图1B,示出了图1A的行为设计用户界面的放大图。
行为设计界面图1B更详细地示出了图1A的行为设计用户界面7。如图1B所示,行为设计用户界面7为用户提供了在图1A的虚拟环境窗口4中进行交互的虚拟对象Bob和Bill中的每一个的菜单选择范围。在本发明的另选实施例中,用户可以对该环境中的其他虚拟对象的行为进行较少的直接控制,但是为了简单,这里假定用户希望对Bob和Bill都进行直接影响。
然而,即使在没有提供对另一虚拟对象的直接控制的情况下,用户仍然可以间接影响其他虚拟对象的行为,如下面将详细说明的。
在图1B中,为了清楚起见,仅标出了用于选择轨迹条9a、11a中的标有挑逗性的行为参数设置的值的滑动条8、10。
如图1B所示的行为设计用户界面7包括两个行为简档9a至9h和11a至11h。所示的每个行为简档都包括“形容词”集合或与虚拟对象的特定行为特性相关联的等效行为参数集合。如图1B所示,行为参数集合包括挑逗性9a、11a;友善性9b、11b;男子气概(9c,11c);其他爱好(9d,11d);悲哀(9e,11e);自傲(9f,11f);害羞(9g,11g)以及优越感(9h,11h)。
用户可以构造包含行为参数集合的不同选择的其他行为简档。还可以修改多个个体行为参数中的每一个的特性,该多个个体行为参数包括行为参数集合。通过行为控制器的行为框架来限定行为参数集合的设计,以集中修改预定的行为特性。因此,参数集合设计是比简单选择哪些行为参数集合来形成参数简档需要更多技能的任务。参数集合可以仅包括单个参数。例如,其值可以对行为框架内的所有行为节点的输出产生影响的全局参数,或者其值仅对框架的单个行为节点的输出产生影响的内部参数。
返回图1B,轨迹条9a至9h和11a至11h的轨道长度表示用户可以通过定位滑动条8或9来选择的可能值的范围。应该理解,在图1B中,为清楚起见,仅标注了第一挑逗性行为参数设置的滑动条。在其他另选实施例中,可以使用其他的值选择装置,例如,单选按钮、下拉窗口等,或者直接输入控制数据。然而,使用滑动条和轨迹条是特别优选的,因为这使得能够容易地向参数赋予连续范围的值,而不会不适当地使用户偏移主画面显示虚拟环境窗口4。
图1B所示的值为虚拟对象5、6提供了与各个所显示的行为参数设置相对应的中立姿态,这些参数已经由用户赋予了值0。在图2A中更清楚地示出了这种情况,图2A示出了图1A所示的两个虚拟对象的中立姿态以及图1A和1B中所示的对应行为参数设置值。
图2B示出了用户如何通过移动用于虚拟对象6(Bill)的男子气概轨迹条中的滑块来直接影响Bill的行为,以及间接影响Bob的行为。在图2B中,用户使用男子气概行为参数设置轨迹条中的滑块赋值14,并且Bill显示通过用于Bill的行为控制器而产生的行为。Bill的行为控制器已经根据用户输入,通过获取该输入并通过行为框架对其进行传播,以向框架的行为输出节点赋予合适的值,来推断出需要哪种等效的男子气概行为。
Bill的行为控制器已经通过所赋予的男子气概值14推断出图2B所示实施例中的等效行为动作包括Bill保持男子气概姿势。可以获得多种男子气概姿势,以及其他男子气概行为,例如男子气概手势、凝视、姿态、面部表情等。Bill的行为控制器还向反映Bill的男子气概行为动作的Bob的行为控制器输出一个或更多个值。该输出包括要由Bob执行的行为动作,该行为动作表示他对Bill的男子气概的反应。
Bob的行为控制器接收根据Bill的行为动作而获得的输入,该输入使得Bob的行为控制器能够有效地解释由Bill的行为所传达的肢体语言。该输入可以表示包括对Bill的男子气概行为的响应的行为动作,例如,将改变由Bob的行为框架产生的行为的一个或更多个参数值。另选地,Bob可以仅接收表示Bill的行为的参数值指示,并且Bob的行为控制器可以根据由Bill提供的参数值来推断出哪些输出值与该响应相对应。然后,Bob的行为控制器能够根据这些输出值推断出其他行为参数值(这些行为参数值将在Bob的行为框架中产生与该响应等效的行为),并使用这些行为参数值产生输出,然后执行该行为。如图2A所示,其包括Bob在Bill面前采取顺从姿态。
通过以上所述的方式,用户能够通过改变虚拟对象6的行为参数设置值,间接地修改虚拟对象5的行为。假定Bob具有更顺从的姿态,而无需用户直接将Bob的轨迹条移动到顺从位置。一个虚拟对象(Bob)的行为控制器对另一虚拟对象(Bill)的行为所传达的肢体语言进行解释。这已经通过第一对象的控制器产生由另一对象的行为控制器所接收的输出得以实现,该另一对象传达了表示肢体语言的信息。随后通过另一虚拟对象的行为控制器推断出适当的内部行为参数值,这些内部行为参数值对另一虚拟对象的行为进行修改。对于本领域的技术人员,很明显,如果每个虚拟对象都具有用于接收输入的适当行为控制器,则可以将肢体语言信息传达给一个以上的虚拟对象。
在图2A所示的本发明的实施例中,与角色Bob(虚拟对象6)相对应的行为框架的参数值并不受赋予给Bill的值的直接影响,并且Bob的显示滑块值并不改变。然而,在本发明的其他实施例中,也可以自动更新滑块值以反映它们的新值。
图2C示出了在本发明的一个实施例中,如何将一个虚拟对象的肢体语言传达给另一虚拟对象,以建立适当的行为响应。在图2C中,在图2B所示的行为之后,Bill的用户为男子气概赋予值1,并为挑逗性赋予值10。此时,Bill的行为控制器产生自动行为,例如图2C所示,使Bill伸手并接触Bob的手臂。Bob的行为控制器将Bill的肢体语言解释为表示他缺少男子气概且更加友善,以及伸手接触Bob的动作因此是友善的并没有恶意。例如,这可以通过使用Bob的行为控制器已接收的输入将由Bill的控制器提供的参数值解释为表示Bill是友善的来实现。因此,与显示防御行为(例如,如果Bill以敌对的方式接触Bob,则产生防御行为)相反,Bob采取低防御姿态,并略微前倾,而不是保持顺从姿态。看到Bob为低度防御,用户此时可以将Bill的挑逗性和男子气概的级别设定为较低值,如图2D所示,这导致了两个化身的更加友善的行为。
如图2A至2D所示,用户无需表示特定的肢体移动或文本中的关键字以表示行为动作,行为控制器响应于所赋的行为参数设置值,实时自主地产生适当的行为。
优选地,通过将行为设计用户界面7设置为窗口型软件应用,可以根据用户需求来改变所显示的界面范围。在图2E中,Bob的行为简档在行为设计用户界面窗口7中可见,并且对于Bob显示了不同的行为简档,其包括与图2A至2D中的行为简档中所示不同的行为参数集合。
在图2E中,用户为Bob赋予了较高的聆听行为参数设置值、一样高的putUpon行为参数设置值。图2E所示的其他参数设置包括touchyFeely、domSub等。对Bob赋予了相对低的domSub值。Bob的行为控制器使用这些值产生了适于这些值的行为,因此,Bill采取直立的姿势,而Bob采取更顺从的姿势。
附图的图3示意性地表示了本发明的行为控制器如何根据行为模型30来产生对象的行为。行为模型30定义了对象的特定行为框架31,该行为框架31管理如何使用该框架所接收的输入来产生特定的行为,例如姿势32、手势33、面部运动34、凝视35。行为框架31包括多个节点,并稍后对其进行详细说明(参见图5和7的行为框架的示例)。
可以从各种外部和内部源获得框架31的输入。例如,从外部环境/事件36、从其他角色37、从其他情绪暗示38、从预定简档39。框架31本身也可以用于设计特定的简档40,所得到的简档39随后向框架31提供输入,以修改赋予框架节点的一个或更多个行为参数的值。
在用户直接操控化身或使用行为设计用户界面41直接输入值的情况下,可以利用通过移动而赋予该框架31的姿势32、手势33、面部34以及凝视34行为输出节点的值,直接向框架31提供输入。该框架随后推断行为动作的适当值,并且用户界面/跟踪系统40随后使用该动画系统产生适当的动作。
利用动画子系统43,集中地使用由姿势、手势、面部和凝视行为节点的输出值来适当地产生动画行为。可以通过任何适当的动画应用,例如,诸如Quake引擎的计算机游戏引擎或者诸如SGI的Open Inventor库的基于场景图的计算机图形系统来提供所使用的动画子系统。
行为模型体系结构下面将参照附图的图4,图中示意性地表示了根据本发明的分层等级行为模型的分级结构。
图4示出了本发明的优选实施例,其中该行为模型的功能包括五层第一层,其在功能上涉及用于限定行为模型51的框架中的行为节点的设计;第二层,其在功能上涉及行为体系结构本身52a的设计并涉及“内容创建”52b(其涉及通过本领域技术人员进行的与输出行为相对应的实际动画等的创建);第三层,其在功能上涉及行为形容词(等效地,为行为参数集合)53的设计;第四层,其在功能上涉及参数值选择机制,例如图4所示,滑块功能54a,涉及行为简档54b的设计,并涉及通过直接操控虚拟对象54c来直接向该模型提供输入;以及最后的第五层,其涉及实时控制55。
在本发明的其他实施例中,可以在行为设计和控制体系结构中提供更多层的复杂结构,然而,如果要支持实时控制,则本发明的优选实施例最少需要5层。
与该行为模型的层连接所需的专业知识的级别和/或信息量通常取决于框架的具体特征或者用户想要修改的功能。例如,对模块的上层(例如,层4和5)的连接需要用户部分相对少的专业知识,即,任何人都可以根据本发明的该方面对虚拟对象进行实时控制。然而,希望设计节点类型(即,对行为等级的级别1的连接)的用户可能是专业程序员。
图4所示的行为模型与Scerri & Ydrèn的已知多层行为设计和控制体系结构(参见下文)的不同之处在于,层数(其增大了复杂度)和模型中包括实时控制(例如,参见Scerri和Ydrèn[End User Specificationof RoboCup Teams,RoboCup-99,Robot Soccer World Cup III,Springer-Verlag Lecture Notes in Computer Science(2000)],以获得该简单多层体系结构的更多细节)。除了具有更加复杂的分级结构,以及实现实时控制功能的能力以外,其他的区别特征包括提供了行为参数推断方案,该方案使得能够根据所输入的参数值内部推断出行为框架的行为参数值。因此,当用户输入与行为特性相关联的一个或更多个行为参数值的集合,或者操控对象以产生特定的行为动作时,可以使用所接收的输入来产生包括一个或更多个行为动作的其他等效行为。以下将更详细地说明该行为参数推断系统。
在图4中,设计节点型层51涉及对与动画控制系统连接的输出节点的设计。通常,输出节点的输出由该节点的其他部分使用,以使虚拟对象进行动画。该动画系统包含多个参数,这些参数控制其产生的行为。输出节点对于动画系统的每一个参数具有一个输出,并且将该参数直接设定为该输出的值。例如,在姿势节点的情况下,根据各个基本姿势的权重,作为一组基本姿势的组合而产生新的姿势。姿势与运动组合系统按照其权重的比例组合在一起。姿势节点对于各个姿势都具有与其权重相对应的输出。其他输出行为在参数和行为之间具有更复杂的映射。例如,可以通过程序员(通常非常精通其技术领域)创建该节点类型的子类型,然后通过在运行时将该新类型添加至该体系结构的框架中来创建输出节点,该节点可以用于在行为控制器定义中从文件进行读取。在本发明的其他实施例中,输出节点调整其输出以适应正在使用的动画系统。
通常需要对用户进行训练,使其在对行为设计模型的层2的体系结构设计52a或内容创建52b特征进行修改之前熟悉该行为框架。层2包括用于创建特定应用的虚拟对象的框架。其包括对行为控制器的设计以及对输出节点的内容的设计。例如,输出节点可以被设计为产生基于预先存在的运动或其他内容的行为。许多输出行为都基于某些预先存在的动画和类似内容,例如,姿势模型基于一组预先存在的姿势,而面部表情模型基于一组预先存在的面部表情。这可以由专业设计人员使用商业3D建模工具来创建。
通常通过设计规范文件(例如,XML文件或者可以手工编辑的其他合适的文件类型(可能是特殊设计的文件类型))来指定行为控制器的设计。在另选实施例中,由于行为控制器具有图形结构,所以可以提供简单的图形编辑工具,以对设计规范文件进行编辑。当对设计规范文件进行了编辑时,可以使用上述行为框架将其编译(complied)到控制器中。
图4中的形容词设计层53和滑块54a、简档设计52a、直接操控52c,以及层3、4和5的实时控制特征用于使普通技能的用户能够定制对象的行为。具体地,用户可以通过设计行为简档来与层3和4进行连接,如以下参照附图的图8进行的详细说明。
行为控制器下面参照附图的图5,该图示出了根据本发明第一实施例的虚拟对象的行为控制器的框架60。在图5中,行为控制器的框架60包括多个计算节点,用于将来自一个或更多个源的输入映射为一个或更多个输出。框架60内的节点包括用于提供外部输入的节点61,该外部输入例如是可以从其他虚拟对象的行为得到的输入;全局参数节点62,其提供可以由框架中的所有节点访问(直接或间接)的全局框架参数及其相关的输入值;行为节点63a、63b、63c、63d,通过名称对这些行为节点进行标识,并且这些行为节点与特定节点内部的一个或更多个值相关联;以及输出节点64、65,其可以包括外部输出节点64或行为输出节点65,外部输出节点64输出可以外部使用(例如,由其他虚拟对象的行为控制器使用)的参数值,行为输出节点65提供由行为动画机制使用的参数值,以产生提供适当行为的虚拟对象的实际所需动画。从编程的角度来看,每一个参数都由名称-值对构成,例如,纹理名称以及所赋予的数值。所使用的行为模型的精确体系结构确定了行为控制器的框架60的形式。
在图5中,框架60包括多个行为节点63a、b、c、d,它们的功能是根据多个参数将多个输入映射为多个输出。图5示意性示出了外部输入61和全局参数输入62如何集中地向行为节点63a、b、c、d提供输入。节点63a、d还从节点63b、c接收输入。
外部输入61包括与环境和其他对象相关的高级信息,例如,其他角色的友善或顺从程度。
全局参数输入62包括虚拟对象的高级属性,这些高级属性影响虚拟对象的行为,并且修改由各个行为节点确定的特定行为。例如,全局参数值可以包括诸如对象的情绪或态度(例如愉快或友善)的特征。再次简要地参照图1B,标出了多个行为参数设置,以表示各种全局参数,例如角色有多友善或者有多害羞。
输入到行为控制器框架内的行为节点63a、b、c、d的每个全局参数名称—值对都产生一个或更多个数值输出。这些数值输出随后作为外部输出节点64的外部输出进行传送,或者与输出节点65的行为输出相关联。
外部输出64包括与外部输入等效的信息,例如虚拟对象有多友善或多顺从。作为外部输出而提供的参数名称-值对传达肢体语言信息。当该外部输入由其他虚拟对象接收时,其使得能够推断出其他虚拟对象的内部行为参数,该内部行为参数对其他虚拟对象的行为进行修改。通过匹配具有相同名称的名称-值对,使一个控制器的外部输出与提供给其他虚拟对象的行为控制器的外部输入相互关联。
每个行为输出节点65都产生与行为动作相对应的输出。从编程的角度来看,行为输出节点65包括行为节点63a、b、c、d的子类型(在面向对象方面),并执行与从参数到行为相类似的从输入到输出的映射。行为输出节点65产生可以由该输出节点的其他部分使用,以使该角色进行动画的输出。例如,在姿势输出节点中,存在一组基本姿势以及用于各个基本姿势的参数,根据这些基本姿势来产生新的姿势。根据对象的关节角度(作为欧拉角)来存储姿势的实际表达。通过使用姿势的参数作为权重,对与基本姿势相对应的角度执行加权求和,来产生新的姿势。将所产生的角度直接传送给基本几何表达中的对应变换。
框架中的行为节点的结构和功能下面参照图6,该图示出了图5的行为节点63d的放大视图。图6示意性地表示了行为节点可以如何使用来自多个不同源的输入。如图6所示,行为节点63d能够接收多达3种不同类型的输入,这些输入由行为节点根据其内部参数设置沿前向方向映射为一个或更多个输出。在图6中,对行为节点63d的输入可以来自另一行为节点(例如节点63b、c)的输出;来自由一个或更多个全局参数名称-值对提供的输入62;和/或来自该框架外部的源的外部输入61。可以根据交互规则的预定设置,通过与该对象进行交互的另一对象来产生外部输入61。可以通过该节点来修改对行为节点的外部输入。例如,如果输入超出可接受范围,则可以忽略该输入,或者将其限制为最大或最小值。另选地,如果外部输入表示根据与用户的文化不同的文化执行的动作,则可以首先对该外部输入进行适当的修改,以保证该框架实际上使用与用户自己的文化中的适当行为相对应的外部输入,来修改用户的虚拟对象的响应。
图6还示出了行为节点如何可以使其功能颠倒并执行逆映射。无论何时通过框架以与行为节点的输出相对应的级别接收到输入时,都执行逆映射。例如,当用户直接操控对象,以与行为节点65的输出等效的级别对框架提供输入时,会产生这种情况。于是,所接收的“输出”为通过框架进行的逆映射的起始点,每一个内部行为节点都具有以上述方式(以下将更加详细地说明)推断出的参数值,直到最终确定该框架(用于产生所接收的“输出”)的全局参数值为止。
在前向或后向方向上,该框架中的各个行为节点都能够根据该节点的功能,基于多个参数将一个或更多个输入映射为一个或更多个输出。
前向映射在前向映射的情况下,以多项和的形式Oi=ΣjTij]]>给出由对象的行为控制器提供的输出,其中各个项Tij是多个因子的乘积Tij=ΠkFijk,]]>其中各个因子是内部参数或节点的输入。如上所述,对节点的输入可以来自另一节点的输出,为全局赋予整个体系结构的参数,或者为来自另一体系结构(即,来自另一对象的行为控制器)的外部输入。
例如,可以使用具有值1.2的全局参数“友善”(表示该角色本质友善)对角色进行设置,该角色也可以从另一角色接收具有值1.5的外部输入“快乐”(表示该另一角色快乐)。在节点内将这些值相乘,以产生具有值1.8的输出“靠近”(表示该角色应该对其他角色采取靠近的姿势)。然后将该输出传送至其他节点,这些其他节点确定该角色应该通过组合两个基本姿势(向前倾和朝向另一角色)来实现该动作。应该根据该“靠近”输出来计算这两个姿势的权重,并将其传送给用于产生新姿势的动画系统。
下面参照图7,该图更加详细地示出了根据本发明第二实施例的行为控制器的框架。在图7中,行为节点包括直接均衡、支配因子、直接差异、响应、支配差异、从属关系、状态、快乐、亲近、空间填充(spacefling),以及放松。行为输出节点65包括面部表情、高级姿势节点、凝视、手势以及姿势。其他实施例可以包括更多的行为输出节点,例如语调、语速、重音等。
尽管图7中示意性示出的框架的复杂性比图5所示的简化框架的要高,但是可以构造更复杂的框架来适应本发明的特定应用和实施例。为了使用户能够修改对象根据其行为框架而产生的行为,构造了包括一个或更多个行为参数的集合的行为形容词,这极大地简化了用户需要提供的输入级别。
行为形容词的示例包括图1B中所示的那些,其中各个虚拟对象5、6的行为简档包括以下形容词挑逗性、友善性、男子气概、其他爱好、悲哀、自傲、害羞,以及优越感。这些行为形容词中的每一个都包括行为参数集合,并且在行为设计用户界面中,通常通过简单的文本名称或短语来表示。通常,“形容词”名称直观地描述了该“形容词”修改的行为方面,以便于用户识别。可以对行为参数集合中的各个参数赋予初始值或默认值,可以通过函数对其进行运算,并且可以结合任意的外部输入的值对其进行运算。例如,该函数可以是简单的线性代数函数,或者简单地将用户赋给行为参数集合的任意值放大预定量。另选地,该函数可以是“恒等”函数,仅返回所输入的值。
图7中示意性示出的框架表示用于执行非口头、个人内在行为的多个方面的本发明的实施例。行为控制器增强了虚拟对象(例如,在线会议或计算机游戏/聊天室场景中的角色)之间的交互,并且使得它们看上去更加可信。具体地,该框架对于半自主化身(即,用户并不具体指示化身的每个行为动作)有用。
由于化身的许多应用涉及个人内在行为,所以适当的非口头行为极大地增强了它们的应用。在图7中,行为控制器对多个个人内在态度进行编码,并潜在地控制多个输出,这些输出产生动画,例如姿势和凝视行为。控制系统基于Argyle提出的理论(Michael Argyle(1988)BodilyCommunication 2ndedition,Routledge)以及Mehrabian提出的理论(Albert Mehrabian(1972)Nonverbal Communication,Aldine-Atherton)。Argyle提出对非口头行为影响最大的人际关系的两个方面亲密和支配-顺从。可以如下所述将其建模为自我平衡动机。与Mehrabian所提出的非口头行为从属关系(爱好)的三个维度相关,显示为微笑、身体靠近和接触、力量/状态,通过放松或紧张以及响应来显示,通过总的身体动作来显示。响应维度是可选的,并且在图7所示的行为控制器中没有实现,但其基于这些量。
在图7中,当Argyle的直接和支配维度与Mehrabian的从属关系和状态维度紧密相关时,它们在体系结构方面相关联。将Mehrabian的维度建模为直接由直接和支配代理确定的行为节点。直接和支配被建模为自我平衡动机。
通过直接均衡和支配因子节点,根据虚拟对象的全局参数和来自任意其他虚拟对象的外部输入来计算变量的期望值。增大期望亲密度的因子包括角色有多友善、它有多喜欢其他角色(全局参数)以及其他角色有多快乐(外部输入)。降低期望亲密度的因子包括该角色有多害羞,以及其他角色有多占优势。所有这些因子都具有可以根据其简档在角色之间变化的权重。期望支配因子是两个角色之间的状态的期望差异,其也取决于多个其他因子。直接差异是期望直接与实际直接之间的差异,其由其他角色有多么亲密(外部输入)来确定,如果实际直接为Ia,而期望直接为Id,则直接差异为ΔI=Id-Ia对于支配的公式是类似的,虽然因子不同。本发明的其他实施例中实现了行为响应的第三维。
在本发明的该实施例中,角色的行为按照高级类型行为进行定义快乐、接近、空间填充、放松。这些用作等级的动机级别和动作产生级别之间的媒介。快乐是一般的愉快行为,例如笑脸,而相反的可能是反对或侵略性手势。它是从属关系的表示(喜欢或不喜欢)。快乐在姿势上没有许多表达,但是一个示例是“歪头”,其中角色将头向其他角色侧倾斜,这通常被解释为友好的姿势。接近是社交距离(靠近),包括身体距离以及诸如身体朝向或相互注视。低社交距离是高从属关系的结果。在姿势方面表示为诸如前倾或接触其他角色的多种方式。高社交距离与此相反,并且可以表示为向远离方向倾斜以及扭转整个身体。空间填充是例如通过姿势或者更加扩张或相反的手势,使得自己的空间更大或更小的倾向。示例姿势包括伸展至最大高度或者分腿站立或坐下。高空间填充与支配相关,低空间填充与顺从相关。放松是低度身体紧张,主要与姿势相关,并且还与其他类型的行为有关。高放松是支配状态的迹象,并且可以表示为姿势的不对称。
在本发明的该实施例中,存在多个高级姿势节点,用于将高级行为因子转换为实际姿势。每一种姿势都具有一个高级姿势节点。每一种姿势都取决于一个或更多个高级行为类型。将高级行为类型的值与权重相乘,以产生姿势的值。这确定了角色执行该姿势的程度。权重取决于角色简档,因此不同的角色对于相同的高级行为会产生不同的姿势。然后将该姿势的值传送给姿势输出节点。姿势输出节点存储该姿势的实际表达。这是根据关节角度的表达。使用姿势的值作为权重对与各个姿势相对应的关节角度求和,并且其结果为角色的实际姿势,将该结果直接传送给基本几何表达。
图8示出了虚拟对象的行为产生的特定阶段。这些阶段包括第一,设计一个或更多个行为形容词;第二,设计包括多个行为形容词的行为简档;第三,由用户对简档中的行为形容词进行赋值;最后,通过行为控制器产生随后的行为。形容词和简档设计阶段通常离线进行,而用户输入和通过行为控制器产生行为可以实时地动态进行,尽管用户在虚拟环境中为在线状态。
在本发明的上下文中,形容词包括一个或更多个行为参数的集合。选择行为控制器的框架中的哪个行为参数影响了行为特性是相对专业的任务。然而,通过提供形容词,减少了数据量和行为设计界面的用户的理解要求。以上参照图7说明了用于对行为参数进行赋值的形容词设计70和默认值的选择71。
简档设计与进行形容词设计所需的知识水平相反,选择哪个形容词应该包含在对象72的行为简档中与构造形容词所需的知识水平相比并不是复杂的任务。行为简档的设计阶段使得用户能够使用行为设计界面来选择哪个行为特征与用户想要控制的对象的行为相关。
行为简档因此由一个或更多个形容词构成。形容词可以包括单个全局或者唯一赋予的行为节点参数值,或者各种类型的参数名称—值中的一个或多个的多种类型。通过这种方式,用户可以为行为控制器设置内部和/或全局参数。在本发明的一个实施例中,行为简档包括两部分,这两部分都使用参数名称—值对来表述。第一部分说明了对象的整体个性(个性一词在此用于表示对象的总体性格)。第二部分包括态度名称值的集合。在本发明的一个实施例中,“个性”部分中的每个形容词都包括全局参数,而“态度”部分中的每个形容词都包括唯一的行为节点参数。
态度包括虚拟对象的行为变化的多个方面,其他虚拟对象根据这些方面与该虚拟对象进行交互。例如,虚拟对象对一个角色可以比对另一角色更加友善。态度包括角色(或角色集合)的名称和参数值集合,该参数值集合仅在与该角色进行交互时才被载入。在本文中,态度为“形容词”的形式,因为其包括由至少一个行为参数名称—值对构成的集合。
行为简档的态度参数部分包括用于交互中存在的各个命名对象的至少一个参数值的集合。这些值被载入行为框架的参数中,以产生适当的行为。也可以对一类对象,或者单个对象的参数值的集合(例如,用于“陌生人”类别的对象的参数值)进行赋值,以反映出该对象不喜欢该化身以前没有遇到过的其他化身的事实。
参数的值可以任意适当的方式进行设定。认为以下两种方式非常合适。第一,可以通过使用节点名称、参数名称,以及用于设定参数的值指定框架参数,来直接指定值。第二,多个框架参数可以与在此所述的被称为“形容词”的数据结构相关联,在此已定义的“形容词”一词是指包括该行为框架的一个或更多个行为参数的集合。用户可以为形容词选择的值的可能范围可以包括在简档设计阶段73中(或者另选地,其可以构成形容词设计阶段的一部分)。
最后,当用户已经为“形容词”赋了值时(步骤74),在步骤75中确定该集合中的每个参数的实际值,并作为在形容词设计阶段定义的默认值的函数给出每个参数的实际值(步骤73),并且用户将该值赋给形容词(步骤74)。
例如,用户可以为表示“快乐”的行为参数设置“形容词”赋值“10”。当将行为简档读入行为控制器时,对于已通过形容词设计(步骤70、71)确定的所有参数,随后将用户为“快乐”赋的值“10”翻译为实际参数值,以构造参数集合“快乐”,该实际值是通过对与该形容词相关的输入值进行运算的函数来确定的。
通过简档翻译文件来确定哪些参数集中包括行为参数集合。该简档翻译文件定义每个行为参数集合并与每个“形容词”名称(或者该行为参数集合的某些等效名称或短语,即直观上与参数集合所修改的行为特征相关联的名称)相关联。该简档翻译文件还定义了属于该行为参数集合的至少一个参数。总之,由行为模型使用的各个参数中的最终值都是在简档中所赋的值和/或赋给行为参数集合的值的函数。
用户可以通过多种方式修改简档。例如,对代码进行文本编辑、使用滑块或者通过直接操控虚拟对象来赋值,以下将详细进行说明。
现返回图8,提供用户为对象的行为形容词所赋的值作为该对象的行为控制器的输入。该行为控制器随后获取该输入,并通过该输入推断应该为哪个参数赋哪个值,以产生适当的行为输出(步骤75、76、77、78)。图9A中更加详细地示意性表示了将所接收的输入用于产生对象的行为的机制。
图9A示出了框架操作的两种方式。第一,该框架可以仅使用前向映射来进行操作,在设定了诸如外部输入的高级输入或者全局参数或形容词时会出现这种情况。在这种情况下,框架前向运行,仅在节点处根据输入产生输出(也参见图6),并执行前向映射,直到确定了输出节点的值为止。
第二,该框架可以在输出改变而不是输入改变时执行逆映射(再次参见图6)。例如,当直接操控对象时。然而,也可以接收多个输入以执行这两种映射,逆映射可以通过直接映射来影响输出,所以,在本发明的某些实施例中,首先执行这种映射。
下面参照图9A,行为控制器接收输入(步骤81)。如果在输入节点(例如在与外部输入参数或全局参数相对应的框架中的高级节点)接收到了输入(步骤81),则随后在所连接节点的行为控制器的框架内对该输入进行前向映射(步骤83),以产生特定输出(步骤83),该特定输出用于向动画系统提供值,以产生所期望的行为(步骤85)。所期望的行为包括与输入处表示的行为等效的行为。然而,该等效行为可能更加复杂和/或包括更多动作,其中某些动作可以同时和/或顺序执行。
逆映射如果相反地从诸如该对象的直接操控的源接收到输入,则所接收的输入与产生该框架的输出节点中的一个或更多个的输出(与动画系统相结合)的行为等效。在这种情况下,在一个或更多个输出节点处接收到输入(步骤81),并通过行为框架进行第一逆映射,以确定哪种输入值会导致要产生的这种输出(步骤82b)。
该逆映射需要推断出该框架中的所有相关节点的参数值,直到推断出将产生这种行为的全局参数为止(步骤84、85)。保留所获得的这些参数值,用于前向映射处理,该前向映射处理从所推断出的全局参数值开始并用于产生其他行为。结果,尽管仅使用了一个动作来提供直接输入,控制器所产生的行为也可以比原始直接操控的输入更加丰富和复杂,并且可以包括一个或更多个行为动作,或者甚至一系列的行为动作。以下再次对其进行更加详细的说明。
前向映射例如,考虑其中行为设计界面为一个或更多个全局参数赋值的本发明的实施例,例如,全局参数表示诸如化身的虚拟对象的特定情绪,以及可能的特定节点具体参数值,例如,表示该化身对另一虚拟对象的态度。下面参照图7和图9A,通过行为框架中的适当节点来接收输入62(步骤82a),然后通过内部行为节点63由行为框架进行映射(步骤83),例如,参照图7,可以首先通过直接平衡和支配因子节点对该参数值进行映射,然后是直接差异、响应,以及支配差异节点,其随后前向映射至从属关系和状态节点,以及快乐、接近、空间填充以及放松节点,直到抵达输出节点65为止。在图7所示的本发明的实施例中,输出节点包括面部表情、高级姿势节点(并且其进一步映射至姿势节点)、凝视,以及手势节点,其中的每一个都产生可以提供给适当的动画系统以使化身进行动画并产生适当行为的输出。当通过框架对输入进行前向映射时,提供全局参数作为对该框架中的其他节点的输入,这使得能够得到次级行为变化。这些全局参数值由此使得能够通过化身来执行更复杂的行为。
直接操控在图7所示的本发明的实施例中,输出节点包括面部表情、高级姿势节点(并且其进一步映射至姿势节点)、凝视,以及手势节点,其中的每一个都产生能够提供给适当的动画系统以使化身进行动画并产生适当行为的输出。现在参照图9,考虑其中例如用户对化身的姿势进行直接操控(例如,通过点击该化身的手臂,步骤90)以接触另一化身的手臂(步骤91)的示例。这在框架的姿势节点处产生了特定的输入(步骤92)。可以将通过化身产生这种行为的全局参数值设定为仅在希望对其他化身友善时才进行该操作。行为控制器通过该框架的相关节点根据由姿势节点产生的值执行逆映射(步骤93),直到抵达该框架的全局参数输入节点为止,其中可以推断出全局行为参数“友善”的适当输入值(参见步骤93)。这些全局参数值随后用于通过该框架来开始前向映射。
例如,该逆映射还为该框架中的其他行为参数值(例如快乐和放松)赋值(参见图7)。根据所推断出的全局参数值执行前向映射(步骤94),使用所赋的值来产生更多的输出(步骤95),该更多的输出产生其他行为(步骤96)。例如,赋给快乐和放松的值可以在面部表情的输出节点处产生另外的行为,这导致化身微笑。还可以产生其他行为,例如将凝视改变为看着其他化身的脸部,并且可以产生诸如握手的手势以跟随接触手臂的动作。因此,尽管用户仅直接操控化身的姿势来接触另一化身的手臂,但是行为控制器解释了用户提供给化身的肢体语言,从而推断出该化身对其他化身友善并希望和该化身打招呼,并因此产生适当的行为。
总之,通过根据作为输入接收的信息推断出更多信息,使用逆映射而产生的行为可以包括一个或更多个行为动作,这些行为动作可按顺序执行或随机执行,并且可以同时执行诸如凝视、姿态、运动等的一个或更多个行为动作。这极大地提高了对象所表现的行为的复杂度,同时还为用户提供了非常简单的控制机制。以下详细说明推断机制。
可以由用户使用鼠标点击虚拟对象的身体部分,然后将身体部分拖动到新的位置,对虚拟对象进行直接操控来实现直接操控。可以通过对于本领域的技术人员来说公知的任何适当的方式,使用其他计算机操纵工具或工具的组合,例如,光标和键盘、操纵杆、轨迹球、指示器等对虚拟对象进行操控。在通过行为控制器控制真实对象的本发明的实施例中,用户可能希望通过手直接改变对象的姿势。该运动的特征(可能包括该运动的位移或速度)以及在运动过程中靠近其他对象等,将确定向行为控制器输入哪种输出。
这样,用户能够通过虚拟对象来表示特定的期望动作,并且行为框架于是能够外推出更多的行为动作,这些行为动作与用户指示为所期望的行为一致。新的输出参数值可以用于再现用户指示的动作以及适合于不同环境的类似运动。此外,随后可以将参数设置保存为行为简档,或者作为随后可以由用户用来构建行为简单的形容词。因为儿童可以容易地对玩具进行编程使之执行复杂的行为,所以直接操控对象以触发更复杂行为的产生对于对象是玩具的情况特别有用。
下面详细说明虚拟对象的行为控制器的行为框架推断内部和全局参数的方式。
行为推断方案用于限定行为控制器的操作的行为框架的结构使得能够使用逆映射,例如,当用户直接操控该虚拟对象时,根据到该框架的输入来推断出内部参数值。再次参照图9A,考虑行为控制器接收从该框架外部的源获得的输入的情况。其中输入与输出直接相关,例如,如果通过直接操控获得,则需要执行逆映射,以产生用于进行前向映射的全局参数值。使用以下概述的行为推断方案来执行该逆映射。
输入的外部源可以通过该对象的环境来确定。例如,该输入可以包括另一对象提供给该对象的信息。另选地,其可以包括来自另一对象的行为控制器的输出。另选地,其可以包括来自用户的输入,例如,通过用户携带的运动传感器提供的数据。另选地,其可以包括由用户直接输入的值,或者通过行为设计用户界面的输入。该输入可以提供另一对象的肢体语言的表示,在这种情况下,该信息可以用于推断适当的响应。
当通过行为控制器接收到了输入(步骤80)时,所接收的输入值与对象的输出值相关联(步骤81)。这是通过使用针对各种不同类型的行为输出节点的特殊目的的映射来执行的。当已在输出节点处执行了该初始映射时,通过整个框架执行逆映射,以推断出节点的内部参数和全局参数。这是通过使用为行为框架中的每个节点的各个受影响输出而建立的公式来实现的Tij=ΠkFijk]]>其中各个因子是内部参数或者节点的输入。
这样,输出的每一项Tij具有使其与该输出的其他项Tij相区别的可分解因子。项Tij包括可分解因子,其可以是诸如内部参数值的内部值或者全局参数值。在这种情况下,可分解因子被简单地重新赋予一新值。如果从另一节点输入该可分解因子,则通过形成一组新的公式来重复该处理,以表示来自源节点的输入。输出处的变化由此在节点的分级中向上传播,直到可以通过内部或全局参数来表示该可分解因子为止。
每一项Tij都具有两个可分解参数第一个用于在推断实时控制的内部状态时进行分解,而另一个用于简档编辑。
每一个节点根据可分解因子的输出为Oi=ΣjfijSij]]>其中fij是不可分解因子的总和,而Sij是可分解因子。然后使用适当的线性代数方法来分解该线性方程。例如,如果用户执行多次编辑函数,则以矩阵形式存在一系列的线性方程o=Fs其中o是每次编辑的输出的向量,F是不可分解因子的矩阵(可能取决于上下文,例如外部输入的不同设置或者随时间变化的参数),而s是可分解因子的向量。由于在F不是方阵的所有情况下存在一个以上的精确解,所以可以使用伪逆方法来寻找最小平方解。
s=F+o该方法使得能够推断出单个节点的参数。为了推断出节点的参数直到没有与输出直接连接的分级,提供可分解因子中的某些作为节点的输入而不是内部参数。这些输入可以是外部输入、全局参数或者其他节点的输出。外部输入不能是可分解参数。在求解过程中直接设定全局参数的值。
如果该输入是另一节点的输出,则分解需要对其他节点进行分解,这可以通过创建包括该节点和向该节点提供输入的任意节点在内的公式的系统来实现。在这种情况下,另外的节点向其他节点提供输出,因此要求解的公式优选地表示为以下形式0=ΣjfijSij-Oi]]>要根据给定输出节点的输出来确定每个行为节点。
实时控制在其中行为分级的最后一层使得用户能够向对象实时地提供复杂行为的本发明的实施例中,用户可能希望从多种源向行为控制器提供输入,或者希望使用任意单个对象的一个以上的行为设计界面。例如,或者提供输入的其他设备可以包括使用运动跟踪器(例如位于用户的头部和/或身体上)。用户可以同时操作两个或更多个控制设备,以减小操作负荷。所使用的控制设备利用形容词的使用来设置行为模型中的特定参数,以保证用户无需持续控制虚拟对象的身体的所有部分,而是仅需要不时地对有限数量的部分进行操控。
无论是通过直接操控获得还是通过用于跟踪用户的传感器获得,对象的行为产生可以使用适当的接口装置传送给行为控制器的信息。当该信息表示与特定行为输出节点的参数值等效的参数值时,行为控制器通过该框架执行逆映射,以对需要通过该虚拟对象产生该特定行为的相关参数进行内部赋值。这使得对象能够产生与这些参数相关的其他行为。例如,用户可以使对象的手臂进行动画,以接触另一角色的手臂,如图2C所示。该框架将推断出该手势与高值的挑逗性相对应。这随后会导致其他挑逗行为,例如向前倾并微笑。
参数值可以表示多种行为模式,例如“友善”,其可以与在使用跟踪器的情况下的用户行为相对应。在本发明的该实施例中没有使用任何统计机制来推断用户的行为,因为推断机制简单地求解了与虚拟对象的操控相关的代数方程,以确定表示何种类型的行为。当认为是“友善”行为时,该框架再现出更宽范围的友善行为。该更宽范围的行为超过了用户预期实时地直接控制的范围,例如,可以通过该框架使虚拟对象微笑,尽管事实上用户仅通过操控化身进行握手来表示该化身友善。如果没有提供输入,则该框架使得虚拟对象能够继续自主地动作。这使得不熟悉该行为设计用户界面的用户变得更习惯于该虚拟环境,并且可以学习该环境,而不必试图从刚开始就操控该虚拟对象。这提供了非常容易使用的界面,甚至适用于非常小的儿童。
附图所示的行为控制系统基于支持非口头行为的本发明的实施例。然而,在本发明的总体上下文中,行为被表示为分别通过特定参数进行修改的身体动作和/或声音动作。例如,诸如肢体语言的身体动作可以通过对象的当前内部状态(例如,该对象是否害怕)来修改。可以通过诸如音调的参数来修改声音动作。在该上下文中,“行为”一词可以定义为作为对特定激励的受控或非受控(自发的)响应而产生的一个或更多个动作。行为包括长期典型特征(例如,胆小或好斗)以及更加短暂、情绪化的特征(例如,开心或伤心)。
本发明的非口头行为实施例的示例使用亲密和支配-顺从的概念对人际关系进行建模。在本实施例中,行为控制系统产生非口头动作,以表示多种程度的特定属性,例如从属关系、力量/状态,这些属性反映了双方之间的亲密和支配/顺从级别。例如,通过适当行为表现(例如,通过诸如微笑、身体靠近和/或接触等的动作)来表示从属关系。力量/状态例如可以通过姿势中所表现的放松或紧张来表示。可以表示的其他非口头动作包括由一般的身体动作表现的响应。在该上下文中,图1B所示的参数值在本发明的实施例中是预定的情绪/个人内在参数,例如与从属关系相对应的“友善”和“其他爱好”,或者与支配相对应的“男子气概”或“自傲”。
本发明的其他实施例上述实施例主要说明了虚拟对象的受控行为。然而,即使在以上说明中没有明确描述,在此所述的行为控制概念也可以很容易扩展到对非虚拟的,即,真实或有形对象的控制,因此,对于本领域的技术人员来讲,很容易将本发明扩展至真实和虚拟对象的行为。
本发明的以上实施例具有实质上为静态的行为框架。在静态框架中,当用户设定了参数值时,该参数值就保持该值直到被重置为止。通过随时间而改变参数可以产生更多的自主动画。为了产生真实动画,将该框架修改为包括时变参数。
行为框架可以支持不同类型的时变参数。例如,随机变化的参数可以提供偶然的姿势变化,而不同的类型可以产生更加可预测的动画。这种参数可能需要更加复杂的技术来执行逆映射,所以在本发明的最佳方式中没有考虑。然而,通过控制参数变化的任意定时的变更,可以获得更加真实的姿势变化。
本发明的另一动画实施例需要提供多个简档,这些简档随时间而相互改变或者内插。这将一次改变一组参数。实现本发明的该实施例的一种方式是在动画方面作为关键帧提供多个简档并在它们之间进行内插。实现更多动画的另一方式是使用有限状态机系统来控制角色,其中每一种状态都附有简档。状态会由于环境中的事件或者该角色的内部因素而发生改变,并且当输入新状态时,载入其简档。
本发明的其他实施例具有其他类型的输出节点。例如,在本发明的一个实施例中,可以仅提供姿势节点作为输出节点。该输出节点提供了从参数到行为的简单映射,为每个姿势而存在的参数以及这些参数的值提供了姿势之间的内插。可以将该模型应用于其他类型的行为,例如可以按照相同的方式对运动片段进行内插。然而,更复杂的行为需要更复杂的映射,这增大了根据行为推断出内部参数的后向映射的复杂度。
解决该问题有多种方法。第一种是忽略它并且使可以产生行为的某些输出节点继续而不是解决该问题。只要存在可以控制的其他类型的行为,这就是可行的选择。可以忽略某些方面,因为它们对于用户进行控制(例如凝视)来说太难了。另一种方法是为每一种类型的输出节点提供手工映射。这非常耗时。最后的方法是使用某种学习方案来学习映射,例如Bayesian或神经网络。
本发明的一个实施例组合了有限状态机扩展和统计Bayesian网络扩展。在该实施例中,网络中的每个节点都具有多个状态,每个状态都具有不同的内部参数设置以及在输入和输出之间的这种不同映射。在本实施例中,节点处于给定状态的可能性取决于其他节点的状态,以及全局参数或其他节点的输出。于是,该框架具有两种不同类型的节点间关系。一种是连续的,如在节点之间具有连续值参数的当前系统的情况。
另一种是离散的,节点处于一组离散状态之一。给予两种信息相等的重视,因为某些行为特征本质是离散的,而其他行为不是。例如,某人可以交叉手臂或者不交叉,并且某人可以正在交谈或者没有在交谈,每种情况50%的概率不是非常有意义。然而,其他行为特征本质上是连续的,例如,对象应该能够在开心和发怒之间随时间而连续变化,而并不是作为离散步骤序列来进行。
在本发明的这些实施例中,不同的方法适用于推断各种类型的信息。这里所述的框架确实适于连续数据,而Bayesian网络可以推断出一组离散状态的概率。在本发明的某些实施例中,行为框架的扩展使得可以组合用于推断信息的两种方法。
以上参照附图进行说明的方法是非统计的,并且可以在各个节点的状态已知时用于推断连续状态。在其中组合了两种推断方法的本发明的其他实施例中,可以预先使用Bayesian网络,并且可以将节点状态以及它们之间的概率关系视为Bayesian网络,并用于根据输出推断各个节点的状态。无论被视为Bayesian还是连续网络,网络的拓扑将保持相同。当这些因素适当时,可以根据人类行为的数据自动学习该系统的内部参数。
在本发明的其他实施例中,上述用于设计简档的方法可以扩展为大量示例,以学习基于真实数据的内部参数的集合。Bayesian学习技术可用于学习概率关系。同时该系统的参数可以基于来自真实人的数据,并且可以更加准确地反映出理论上很难捕捉的人的行为。
下面说明本发明的一个实施例,其中用户通过在线聊天室进行交互。在本实施例中,允许用户使用肢体语言以及向行为控制器提供输入的文本来表达自己。这同样适用于诸如其中化身表示人类辅导员的在线辅导的本发明的实施例,以及其他虚拟环境,例如在线调解、在线会议(即,其中通过一组虚拟对象来交换信息)、在线协作(即,其中通过一组虚拟对象来执行任务),以及在线商业环境(例如,化身出售房屋)。
肢体语言包括通过在所述框架内设计的体系结构自主产生的行为,通过使用来自简档的预定情绪/个人内在参数的集合来产生该行为。用户使用标准台式PC来访问该系统。用户用来向行为控制器提供输入的计算机操纵设备限于在这种环境下通常可用的设备,例如鼠标和键盘。键盘用于输入文本而鼠标可用于控制角色运动。由于用户大部分希望专注于输入文本,所以对角色运动的控制是偶然的。一个输入(例如,通过行为设计用户界面)将导致对角色总体行为而不是单个运动的校正,因此充分利用了少量的用户输入。这可以通过根据该输入推断出情绪/个人内在参数而容易地实现。通过当前图形聊天系统中所使用的“图释”来执行化身的情绪的更直接的输入。这些可以直接设定全局参数。
本发明的另一实施例通过进一步包括由用户的运动提供的输入,对以上实施例进行了扩展。例如,家用计算机通常具有带有廉价的视频相机,其可以用来通过特定的输出节点执行面部跟踪,该特定输出节点向行为控制器提供输入,该输入用于推断用户的状态。
通过允许用户编辑其化身的简档,上述本发明的实施例允许用户定制其化身的行为。对于最终用户,必需尽可能地以用户友善的方式来执行该操作,并且图1A至2E所示的实施例尤其适用于使用通过行为设计用户界面提供的一组滑块来编辑形容词。
本发明具有许多应用,包括国际化身会议,其可以按照类似于聊天室的方式来实现。在这种情况下,捕捉与会者的实际肢体语言更加重要,尤其对于商业谈判。这可以通过具有更复杂的肢体跟踪系统来实现,该系统包括高质量的用户面部跟踪。也可以利用诸如语调的其他线索来推断用户的状态。行为控制器的框架可以更加复杂,以保证正确地推断每个用户的行为。
行为翻译上述推断方案使得能够确定虚拟代理或化身的内部状态的模型,其将行为控制器的应用扩展为包括在不同文化行为之间进行翻译的能力。例如,在化身用作个人虚拟代理的情况下,对于在诸如网络会议的在线环境中与来自不同文化背景的用户进行交互的用户来说,可能不希望直接表达该用户的实际动作和情绪的能力。
本发明的这种实施例可以被修改为包括在输入或输出阶段通过行为控制器来翻译行为。这可以通过以下操作来实现使用与一种文化相对应的行为框架来产生外部输入;以及使用与另一种文化相对应的不同框架根据该外部输入再现该行为。除非两个框架相同,否则使用与不同文化相对应的不同简档。
这也可以如下来实现包括翻译单元,其使得能够将行为控制器所接收的与对应于第一文化的行为动作相关联的输入第一翻译为与不同的第二文化中的等效行为动作相关联的输入。类似地,可以实现一种翻译单元,其从与符合第二文化的行为相对应的行为控制器的输出行为节点接收输出,并将其翻译为第一文化。
该翻译单元可以配备控制器,用于实现从一种文化到另一种文化的肢体语言翻译。可用来实现这种操作的一种机制是通过将表示肢体语言片段的含义的高级参数与不同简档一同使用,来产生不同文化环境下的不同肢体语言。这将保证其他观察者可以感知在其自身文化中该参与者的化身的肢体语言。因此,可以通过文化A的观察者将特定行为输入该系统,并且通过与文化A相对应的简档将其解释为友善行为。随后将友善参数发送至机器组,该机器组中具有包含与文化B相对应的简档的机器。该机器将产生不同的但具有文化B中的友善含义的行为。
在计算机游戏环境中使用的本发明的实施例中,可以通过用户对其角色的命令来产生富于表情的肢体语言,并推断出其角色处于何种内部状态。可以通过多种方式来执行用户输入,例如如上所述,用户可以直接操控角色的姿势。另选地,可以使用大幅度行为来推断例如动作的选择、是否与某人交谈或词语选择。当推断出该行为框架的全局参数时,可以使游戏中的角色对其进行响应。优选地,本发明提供了一种行为设计工具,其使得游戏设计者能够使用强大但直觉的工具对角色的行为设计进行精细控制。
在其中对象需要执行角色的本发明的实施例中,用户使用设计界面创建的简档可以用来保证行为适于该角色,以及保证内部状态的任意推断都反映了对其行为进行了推断的对象的角色。
机器人应用尽管上述实施例尤其与虚拟环境相关,但是下述的概念可以在真实世界,尤其是例如机器人玩具中得到应用为用户提供简单的输入设备,以操纵能够产生复杂、持续行为的行为控制器。因此,本发明的其他实施例为用户提供了简单的机制,用于产生机器人对象的复杂行为,尤其是诸如玩具娃娃的有关节机器人对象。
这种实施例使得儿童可以为机器人宠物或玩具提供复杂特性,而仅需要对分配给行为简档的直观标签进行操控。在这种应用中,行为设计用户界面可以设置为远程控制型设备。于是,可以无线地提供行为控制信息以指示机器人设备的适当动作。行为控制器可以被设置为接口设备的一部分(仅将动画指令发送给机器人设备),或者设置为机器人设备本身的一部分,或者设置为随后对机器人设备的行为指令进行中继的代理设备的一部分。
在本发明的其他实施例中,制造或生产线环境中使用的机器人设备可能类似地需要使用诸如在此所述的分级行为模型框架来控制其行为,并且行为设计用户界面可以具有行为选项,这些行为选项是根据机器人设备要执行的任务的更多任务细节。根据这些机器人设备的情况,可以通过有线或无线连接来远程控制这些机器人设备。例如,在生产线中,可以通过有线通信链路来控制机器人设备,而在水下环境中,海下机器人可能需要无线通信链路和/或有线通信链路。
优选地,本发明提供了对复杂的机器人行为使用行为设计界面的简单方法,其在机器人对象必须执行需要由用户进行实时控制的具有某种程度的自主/半自主行为的在时间方面重要的任务的情况下的应用尤其重要。
对于本领域的技术人员,显然可以通过硬件和/或软件的适当组合来实现本发明,并且硬件和软件的组合并不旨在由上述特定部分来限定。
此外,可以通过在一个或更多个设备上运行的一个或更多个计算机程序的集合来实现本发明。这些设备可以分布在通信网络中。
在其中虚拟环境中的实体的行为受到该虚拟环境中的一个或更多个其他实体的存在的影响的本发明实施例中,对于本领域的技术人员,显然还可以确定其他虚拟实体的总体影响,并且可以使用该总体影响作为受到影响的实体的行为控制器的高级输入。即使虚拟环境中的影响该化身的一个或更多个甚至全部其他实体没有出现在其行为受到影响的化身的观察者面前,这也可能发生。例如,如果化身正在辅导一组其他实体,并且其他实体通过其行为表示他们很厌烦,则进行辅导的化身可以采取更加生动的行为和/或增加其语调变化和音量,以通过自主的方式提高其听众的兴趣。例如,即使发言者不能直接观察到其所有的虚拟听众,这也使得用户能够保持对在线会议的兴趣。通常,通过在将所处理的输出作为输入提供给其行为受到影响的实体的行为控制器之前,根据一处理方案对其他实体的行为控制器提供的输出进行处理来确定总体影响。例如,可以在被其他实体用作对其行为受到影响的实体的行为控制器的输入之前,确定由一个或更多个其他实体提供的各个输出的平均参数值(尽管不是所有实体都对任意的特定参数值有贡献)。
以下重复摘要的内容作为本说明书的一部分分级行为框架用于产生和控制有关节对象的自主和半自主行为。行为控制器用于接收与行为动作相关联的行为,使用该框架来推断多个行为参数值,以及当将这些参数值载入到该行为控制器中时使用这些参数值来产生该有关节对象的等效行为,以产生与该等效行为相对应的输出。
该等效行为可以再现所输入的行为动作,并且/或者包括一个或更多个其他行为动作,这些行为动作可以同时执行或者作为动作序列的一部分来执行。
权利要求
1.一种用于在行为控制器的控制下产生对象的行为的方法,该方法包括以下步骤接收与一个或更多个行为动作相关联的输入;根据用于产生对象的行为的行为框架,通过所述输入来推断多个行为参数值;根据所推断的多个行为参数值来获得输出;以及使用根据所述参数值获得的输出来产生对象的等效行为。
2.根据权利要求1所述的方法,其中所述框架具有内部柔性结构。
3.根据权利要求2所述的方法,其中所述框架包括行为节点的分级。
4.根据权利要求2或3中的任意一个所述的方法,其中所述框架是动态柔性的。
5.根据以上任意一项权利要求所述的方法,其中所接收的输入与多个行为动作相关联,并且各个所推断的参数值都是通过所述多个行为动作输入的组合来确定的。
6.根据以上任意一项权利要求所述的方法,其中所述输入包括与产生所述行为动作的输出直接相关联的至少一个行为参数值的集合,其中在所述推断步骤中,推断出至少一个或更多个其他行为参数值,通过这些参数值来获得进一步的输出,以产生所述行为动作的等效行为。
7.根据以上任意一项权利要求所述的方法,其中所述框架包括多个节点,每一个节点都与一函数相关,该函数用于对一个或更多个参数值进行运算,以提供对该对象的行为的特性进行修改的输出。
8.根据权利要求7所述的方法,其中由用于对一个或更多个行为参数值进行运算的函数产生的输出向动画系统提供输入,以产生所述行为。
9.根据权利要求7所述的方法,其中所述函数对唯一赋给所述节点的至少一个行为参数值进行运算。
10.根据权利要求7所述的方法,其中所述函数对至少一个行为参数值进行运算,该至少一个行为参数值是可以由所述框架的任意节点使用的全局参数值。
11.根据权利要求10所述的方法,其中所述全局参数值与对象的情绪状态相关联,其中对由所述框架的节点的输出提供的该对象的行为的特性进行修改,以表示该对象的情绪。
12.根据权利要求9所述的方法,其中所述节点使用下述函数通过输入产生输出,该函数对与影响该对象的行为特性的个性特征相关的内部参数值进行运算。
13.根据权利要求9至12中的任意一项所述的方法,当从属于权利要求7时,其中在所述框架的输出节点处接收所述输入,并且所接收的输入包括与产生所述行为动作的输出直接相关联的一个或更多个参数值的集合,并且在推断进一步参数值的所述步骤中,通过已经确定的参数值集合来执行逆映射,以推断所述框架的内部节点的进一步的多个行为参数值。
14.根据以上任意一项权利要求所述的方法,其中在接收输入的所述步骤中,在所述框架的全局参数节点处接收输入,并且所述网络的节点将所接收的输入映射到一个或更多个其他节点,以推断所述框架的一个或更多个其他节点的多个行为参数值。
15.根据权利要求1所述的方法,其中在产生对象的等效行为的所述步骤中,通过有关节对象来产生所述等效行为。
16.根据以上任意一项权利要求所述的方法,其中在产生对象的等效行为的所述步骤中,所述等效行为包括面部表情行为。
17.根据以上任意一项权利要求所述的方法,其中所述对象的等效行为包括以预定顺序执行的多个行为动作。
18.根据权利要求17所述的方法,其中所述对象的等效行为包括以随机顺序执行的多个行为动作。
19.根据权利要求16或17中的任意一项所述的方法,其中在一时间段内执行所述行为动作。
20.根据权利要求16或17中的任意一项所述的方法,其中同时执行所述多个行为动作中的一个或更多个。
21.根据以上任意一项权利要求所述的方法,其中所述行为包括从以下组中选择的行为动作凝视、四肢运动、发言、姿态。
22.根据以上任意一项权利要求所述的方法,其中所接收的输入是根据所述对象的行为动作获得的,该行为动作已通过人类用户对所述对象的直接操控而产生。
23.根据以上任意一项权利要求所述的方法,其中所接收的输入是根据与所述对象进行交互的一个或更多个其他对象的行为动作而获得的。
24.根据权利要求23所述的方法,其中所述对象是在虚拟环境中进行操作的虚拟对象,其中所接收的输入是根据与该虚拟环境中的对象进行交互的一个或更多个其他有关节虚拟对象的行为动作而获得的。
25.根据权利要求23或24所述的方法,其中根据预定的处理方案对根据所述一个或更多个其他对象中的每一个获得的多个输入进行处理,并且使用该处理的结果来推断所述多个行为参数值。
26.根据权利要求25所述的方法,其中所述处理方案确定所述多个输入中的每一个的平均值。
27.根据以上任意一项权利要求所述的方法,其中所接收的输入包括与由所述行为控制器的用户执行的行为动作相关联的输入。
28.根据以上任意一项权利要求所述的方法,其中所述方法还包括以下步骤将作为输入接收的行为动作翻译为在文化上等效的行为动作,以及产生该文化上等效的行为动作的等效行为。
29.一种用于控制有关节对象的行为的方法,该方法包括以下步骤使用用于向所述对象的行为控制器提供输入的行为设计界面,向与所述对象的行为特性相关联的行为参数集合赋值,各个所述行为参数集合都包括影响所述行为特性的至少一个参数;使用由行为简档限定的默认值,使所述参数集合中的每一个参数都与通过对所赋的值执行一函数而获得的参数值相关联;将所述参数值输入所述对象的行为控制器;通过所述输入推断出由所述行为控制器产生的输出;使所述输出与所述对象的行为动作相关联;以及使所述对象执行所述行为动作。
30.根据权利要求29所述的方法,其中所述函数是恒等函数。
31.一种用于直接操控对象以控制其行为的方法,该方法包括以下步骤操控所述对象以执行行为动作;向行为框架的输出节点提供表示所述行为动作的输入,该输出节点还用于提供用于产生所述对象的等效行为的输出;在所述行为框架内对所述行为框架的输出节点接收的输入进行映射,以获得所述框架的其他行为节点的至少一个参数值的集合;根据所获得的至少一个参数值的集合推断输出值的集合,该输出值集合用于产生所述对象的其他等效行为。
32.一种用于推断对象的行为控制器的多个内部参数值的方法,该方法包括以下步骤接收表示行为动作的输入;根据所述接收的输入推断与所述对象的等效行为动作相对应的至少一个输出值的集合;以及根据所述至少一个输出值的集合为所述多个内部参数中的每一个推断值,其中为所述多个内部参数中的每一个推断的值通过所述行为控制器产生输出,从而获得与所述等效行为动作等效的行为。
33.一种用于产生对象的行为的方法,该方法包括根据权利要求32的方法来推断对象的行为控制器的多个参数值,该方法还包括使用所述推断的多个参数值来产生与所述等效行为相关联的所述输出值的集合;以及使所述有关节对象执行所述行为。
34.一种用于在包括节点框架的行为控制器的控制下产生对象的行为的方法,该方法包括以下步骤至少一个节点接收与行为动作相关联的输入;所述至少一个节点中的每一个将所接收的输入映射为输出;使用所述输出为所述框架内的其他节点推断多个行为参数值;使用所述推断出的行为参数值对所接收的输入进行映射,以通过用于产生所述对象的等效行为的行为控制器来提供输出。
35.一种用于在行为控制器的控制下产生对象的行为的方法,该方法包括以下步骤接收与行为动作相关联的输入;将所述接收的输入映射为与所述对象的等效行为相对应的至少一个输出值的集合;根据用于产生所述对象的行为的行为框架,通过所述至少一个输出值的集合推断多个行为参数值;以及通过将所述参数值载入所述行为控制器,来使用所述参数值产生所述对象的等效行为。
36.根据以上任意一项权利要求所述的方法,其中所述行为框架的参数是推断出的,并且是时变的。
37.根据以上任意一项权利要求所述的方法,其中所推断的参数值是时变的。
38.根据以上任意一项权利要求所述的方法,其中响应于接收到与行为动作相关联的输入,实时地产生所述对象的行为。
39.根据以上任意一项权利要求所述的方法,其中所述对象是设置在虚拟环境中的虚拟对象。
40.根据以上任意一项权利要求所述的方法,其中所述对象是机器人对象。
41.根据以上任意一项权利要求所述的方法,其中所述对象是从包括以下对象在内的对象组中选择的真实玩具;游戏角色;化身。
42.一种用于产生对象的行为的行为控制器,该控制器包括用于接收与行为动作相关联的输入的装置;用于根据用来产生对象行为的行为框架,通过所述输入来推断多个行为参数值的装置;用于根据所推断的多个行为参数值来获得输出的装置;以及使用根据所述参数值获得的输出来产生对象的等效行为的装置。
43.根据权利要求42所述的行为控制器,其中用于产生等效行为的所述装置包括用于将根据所述参数值获得的输出传送给用于对所述输出进行运算的动画系统,以使所述对象进行适当行为动画的装置。
44.根据权利要求42或43所述的行为控制器,其中所述接收装置包括用于从所述对象的行为框架外部的源接收至少一个参数值作为输入的装置。
45.根据权利要求42至44所述的行为控制器,其中用于推断多个行为参数值的装置包括节点框架,每一个行为节点都用于将至少一个输入参数值映射为至少一个输出参数值。
46.根据权利要求45所述的行为控制器,其中至少一个节点被设置用来对从包括以下参数的组中选择的至少一个参数值进行映射对所述行为框架中的各个节点定义的参数;在所述行为框架的各个节点中定义的参数;以及在所述行为框架外部定义的参数。
47.根据权利要求42至46中的任意一项所述的行为控制器,其中用于接收输入的所述装置用于从行为设计界面接收输入,该行为设计界面包括用于允许向行为参数集合赋值的装置,该行为参数集合包括根据所述对象的行为框架定义的至少一个行为参数;以及用于通过预定的函数对赋给所述行为参数集合的值进行运算,以确定内部参数的值的装置。
48.根据权利要求42至47中的任意一项所述的行为控制器,其中所述对象是用于在虚拟环境中进行操作的虚拟对象。
49.根据权利要求42至48中的任意一项所述的行为控制器,其中以适于由另一对象的行为控制器作为输入接收的形式来提供来自所述行为控制器的输出。
50.根据权利要求42至49中的任意一项所述的行为控制器,其中所述行为控制器还包括翻译单元,用于将根据符合第一文化的行为而获得的所接收的输入映射为符合第二文化的输入。
51.根据权利要求42至50中的任意一项所述的行为控制器,其中所述行为控制器还包括翻译单元,用于将符合第一预定文化的行为输出映射为符合第二预定文化的行为输出。
52.根据权利要求42至51中的任意一项所述的行为控制器,其中所述对象是用于在从包括以下虚拟环境的组中选择的任意虚拟环境中进行操作的虚拟对象虚拟计算机游戏、虚拟在线会议、在线游戏、在线聊天室、化身宴会会议、化身辅导会议、基于化身的调解环境、基于化身的销售环境、在线协作环境、在线顾客关系管理环境。
53.根据权利要求42至52中的任意一项所述的行为控制器,其中用于接收输入的所述装置包括与用于产生行为动作的输出直接相关联的至少一个行为参数值的集合,其中用于进行推断的所述装置被设置用来推断至少一个或更多个其他行为参数值,根据这些行为参数值来获得进一步的输出以产生所述行为动作的等效行为。
54.根据权利要求53所述的行为控制器,其中用于接收输入的所述装置接收包括至少一个行为参数值的集合的输入,该至少一个行为参数值与对应于所述对象的直接操控的输出直接相关联。
55.根据权利要求42至54中的任意一项所述的行为控制器,其中用户向所述装置提供所述输入。
56.根据权利要求42至55中的任意一项所述的行为控制器,其中软件代理向所述装置提供所述输入。
57.一种行为设计界面,该界面包括用于允许向行为参数集合赋值的装置,该参数集合包括与对象的行为特性相关联的至少一个参数值,其中将使用该界面赋的值作为输入提供给根据权利要求42至56中的任意一项的行为控制器。
58.一种其上存储有至少一个计算机程序的集合的设备,该至少一个计算机程序的集合可以在该设备上执行,以使该设备用作根据权利要求42至56中的任意一项所述的行为控制器。
59.一种其上存储有至少一个计算机程序的集合的设备,该至少一个计算机程序的集合可以在该设备上执行,以使该设备用作根据权利要求57所述的行为设计界面。
60.一种包括能够彼此进行通信的多个计算机型设备的网络,这些设备中的至少一个包括根据权利要求58或59所述的设备,其他设备用于远程访问该至少一个计算机程序的集合的至少一部分,以使得能够通过该至少一个计算机程序的集合来控制在所述其他设备的环境中进行操作的对象。
61.一种计算机程序产品,其包括计算机程序或者计算机程序的集合,这些计算机程序包括指令集合,这些指令使得一个或更多个计算机执行权利要求1至41中的任意一项所述的方法。
62.一种其上存储有计算机程序的设备,该计算机程序可以在该设备上执行,以使该设备执行根据权利要求1至41中的任意一项所述的方法中的一个或更多个步骤。
63.一种虚拟环境,其中多个虚拟对象被设置用来在参与该虚拟环境的一个或更多个用户的观察下进行交互,其中该虚拟环境中的所述多个虚拟对象中的每一个都使用根据该虚拟环境中的其他虚拟对象中的一个或更多个的一个或更多个行为动作获得的一个或更多个输入,来表示使用行为系统产生的半自主行为。
64.根据权利要求63所述的虚拟环境,其中参与所述虚拟环境的各个用户都能够控制通过向所述行为系统提供输入而产生的所述半自主行为。
65.一种平台,用于支持根据权利要求64所述的虚拟环境,并且提供了用于使参与所述虚拟环境的所述一个或更多个用户之一提供所述输入的装置。
66.根据权利要求65所述的平台,其中所述用户通过所显示的行为设计界面来提供所述输入,通过用于控制由所述行为系统产生的行为的行为控制器来处理所接收的输入。
全文摘要
分级行为框架用于产生和控制有关节对象的自主和半自主行为。行为控制器用于接收与行为动作相关联的行为,使用该框架来推断多个行为参数值,以及当将这些参数值载入到该行为控制器中时使用这些参数值来产生该有关节对象的等效行为,以产生与该等效行为相对应的输出。该等效行为可以再现所输入的行为动作,并且/或者包括一个或更多个其他行为动作,这些行为动作可以同时执行或者作为动作序列的一部分来执行。
文档编号G06T17/00GK1764889SQ200480007933
公开日2006年4月26日 申请日期2004年3月25日 优先权日2003年3月25日
发明者丹尼尔·巴兰, 马尔科·吉利斯 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1