交互式电子动画演出的分布式控制的系统和方法

申请号 CN200880106575.4 申请日 2008-09-11 公开(公告)号 CN101801483B 公开(公告)日 2013-02-13
申请人 迪士尼企业公司; 发明人 A·威兰;
摘要 公开了一种交互式 电子 动画演出的分布式控制的系统和方法。系统(100)包括多个电子动画演员(110、120、130、140、150),至少一个演员包括处理器(320)以及由处理器控制的一个或多个 电机 (332)。该系统还包括将每个演员互联的网络(160),以及向网络提供消息的多个 传感器 (170、180),其中消息指示经过处理的信息。每个处理器执行 软件 ,该软件按照表示了观看演出的观众(505)的属性的传感器消息、以及指示了相应演员对动作就绪的状态,来调度和协调对应于处理器的演员的动作。相应演员的动作可以包括:演员的动画运动,对其他演员做出响应和/或对观众的成员做出响应。动作可以产生由电机的控制所导致的演员的至少一个部件的运动。
权利要求

1.一种用于交互式演出的分布式控制的系统,所述系统包括:
所述交互式演出中的多个机器演员,至少一个所述机器演员包括:
处理器,以及
由所述处理器控制的一个或多个电机
将每个所述机器演员互联的网络;以及
向所述网络提供消息的多个传感器,其中所述消息指示经过处理的信息;
其中每个处理器按照表示了观看演出的观众的属性的传感器消息、以及指示了对应于所述处理器的机器演员对动作就绪的状态,来调度和协调对应于所述处理器的机器演员的动作。
2.根据权利要求1所述的系统,其中所述对应于所述处理器的机器演员的动作包括输出声音或者投影效果。
3.根据权利要求1所述的系统,其中所述对应于所述处理器的机器演员的动作包括对另一机器演员做出响应或者对观众的成员做出响应。
4.根据权利要求1所述的系统,其中至少一个所述机器演员还包括:音频/视频设备和/或电/磁/机械/声学/静态变换器。
5.根据权利要求1所述的系统,其中所述多个传感器中的一个向每个机器演员广播相同的消息。
6.根据权利要求5所述的系统,其中所述消息指示由所述多个传感器中的至少一个检测到的移动最大的观众成员、或者由所述多个传感器中的至少一个所检测到的最靠近一个机器演员的观众成员的位置
7.根据权利要求1所述的系统,还包括与所述网络连接的一个或多个演出部件,至少一个所述演出部件包括处理器。
8.根据权利要求7所述的系统,其中所述演出部件包括演出幕布、演出效果设备以及演出照明中的至少一个。
9.根据权利要求1所述的系统,其中至少一个所述传感器包括数字相机。
10.根据权利要求1所述的系统,其中所述传感器之一包括游戏控制器
11.根据权利要求10所述的系统,其中至少一个所述消息禁止特定的动作和/或禁止通过使用所述游戏控制器选择的一个或多个机器演员执行动作。
12.一种交互式演出的分布控制的方法,所述交互式演出具有多个机器演员和连接所述机器演员的数据通信网络,所述方法包括:
标识观看所述交互式演出的观众中的一个或多个感兴趣成员;
向所有所述机器演员广播表示所述一个或多个感兴趣成员的属性的第一消息;
处理所述第一消息和一个机器演员的位置,从而响应于所述一个或多个感兴趣成员来启动所述机器演员的动作;以及
向其他机器演员广播表示所述机器演员的所述动作的第二消息,使得所述其他机器演员可以对所述动作做出响应。
13.根据权利要求12所述的方法,还包括:由所述其他机器演员之一确认广播的所述第二消息,从而指示对执行动作就绪。
14.根据权利要求12所述的方法,其中所述属性包括所述一个或多个感兴趣成员在世界坐标系中的位置。
15.根据权利要求12所述的方法,其中所述属性包括关于所述一个或多个感兴趣成员正在做什么的信息;以及还包括:基于所述一个或多个感兴趣成员正在做什么,改变所述机器演员的动作。

说明书全文

交互式电子动画演出的分布式控制的系统和方法

技术领域

[0001] 该系统和方法涉及交互式演出,并且更具体地涉及交互式电子动画演出的分布式控制。

背景技术

[0002] 电子动画(animatronic)形象是一种机器人形象、木偶或者其他可运动的对象,其经由一个或多个机电设备而被动画化。术语“动画”意味着被解释为运动来进行动作。机电设备包括电子、机械、液动和/或气动的部分。电子动画形象在诸如主题公园的娱乐场所中非常受欢迎。例如,在主题公园的演出、游乐设施或者其他活动中可以看到电子动画色。电子动画角色的身体部分(诸如,头和手臂)通常可以自由运动。数十年中已经创建了各种电子动画系统用以控制电子动画形象。
[0003] 目前,电子动画演出由集中式系统来控制。这些系统在整个系统中使用精确的同步时钟和专用的高速通信链路来触发事件和回放内容。这种已有方法是昂贵的,需要专用的基础设施,受制于单点故障,并且难以扩展为大型交互式演出。标准方法包括集中式演出控制器,通常是计算机,其向各个部件发送信号——使其发声、发光或者带来形象的动作。在剧场中,通常有人“位于控制板处”,其经由诸如音乐设备数字接口(MIDI)、数字复用(DMX)等协议来触发事件。在主题公园式的景点中,控制通常来自于专用的控制箱。发明内容
[0004] 在一个实施方式中,一种用于交互式演出的分布式控制的系统,该系统包括:交互式演出中的多个演员,至少一个演员包括处理器,以及由该处理器控制的一个或多个电机;将每个演员互联的网络;以及向该网络提供消息的多个传感器,其中该消息指示经过处理的信息;其中每个处理器执行软件,该软件按照表示了观看演出的观众的属性的传感器消息、以及指示了相应演员对动作就绪的状态,来调度和协调对应于该处理器的演员的动作。
[0005] 相应演员的动作可以包括演员的动画运动。动作可以得到由电机的控制所导致的演员的至少一个部件的运动。相应演员的动作可以包括输出声音或者投影效果。相应演员的动作可以包括对另一演员做出响应或者对观众的成员做出响应。至少一个演员还可以包括音频/视频设备和/或电/磁/机械/声学/静态变换器。相应演员的至少一个电机可以配置用于将该演员转向附近的观众成员,或者将该演员转向另一演员。多个传感器之一可以向每个演员广播相同的消息。消息可以指示由多个传感器中的至少一个检测到的移动最大的观众成员、或者由多个传感器中的至少一个所检测到的最靠近特定演员的观众成员的位置。消息可以指示超过尺寸阈值的、正在移动的以及靠近特定演员的观众成员的位置。消息可以指示观众中感兴趣成员的属性。该属性可以包括关于以下至少一个的信息:感兴趣成员正在看哪里,感兴趣成员是否在交谈,感兴趣成员正在说什么,以及感兴趣成员正在做什么。
[0006] 该系统还可以包括与该网络连接的一个或多个演出部件,至少一个演出部件可以包括处理器。演出部件可以包括演出幕布、演出效果设备以及演出照明中的至少一个。多个传感器中的至少一个可以包括处理器,其配置用于将传感器数据处理为消息。至少一个传感器可以包括数字相机。传感器之一可以包括游戏控制器。至少一个消息可以禁止特定的动作和/或禁止通过使用游戏控制器选择的一个或多个演员执行动作。
[0007] 在另一实施方式中,一种交互式演出的分布控制的方法,该交互式演出具有多个机器演员和连接该机器演员的数据通信网络,该方法包括:标识观看交互式演出的观众中的一个或多个感兴趣成员;向所有机器演员广播表示该一个或多个感兴趣成员的属性的第一消息;处理该第一消息和特定机器演员的位置,从而响应于该一个或多个感兴趣成员来启动特定机器演员的动作;以及向其他机器演员广播表示该特定机器演员的动作的第二消息,使得其他机器演员可以对该动作做出响应。
[0008] 该方法还可以包括:由该其他演员之一确认广播的第二消息,从而指示了对执行动作就绪。标识一个或多个感兴趣成员可以包括处理传感器数据,从而标识与特定的标准相匹配的一个或多个成员。标准可以对应于演出观众的一个或多个成员的尺寸、速度和位置中的至少一个。属性可以包括一个或多个感兴趣成员在世界坐标系中的位置。属性可以包括有关一个或多个感兴趣成员正在做什么的信息。该方法还可以包括:基于一个或多个感兴趣成员正在做什么,改变特定演员的动作。
[0009] 在另一实施方式中,一种交互式演出的分布式控制的方法,该交互式演出具有多个机器演员以及连接机器演员的数据通信网络,该方法包括:向连接多个机器演员的网络提供传感器消息,其中传感器消息指示经过处理的信息;以及执行按照表示了观看演出的观众的属性的传感器消息、以及指示了机器演员对动作就绪的状态,来调度和协调机器演员的动作的软件。
[0010] 执行调度和协调机器演员的动作的软件可以包括:调度和协调机器演员的动画运动。调度和协调机器演员的动画运动可以包括:控制用于移动机器演员的至少一个部件的电机。移动机器演员的至少一个部件可以包括:将机器演员转向附近的观众成员,或者将机器演员转向另一机器演员。向互联多个机器演员的网络提供传感器消息可以包括:向每个机器演员广播相同的消息。向每个机器演员广播相同的消息可以包括:确定由多个传感器中的至少一个检测到的移动最大的观众成员或者由多个传感器中的至少一个所检测到的最靠近特定演员的观众成员的位置。向每个机器演员广播相同的消息包括:确定超过尺寸阈值的、正在移动的以及靠近特定演员的观众成员的位置。向每个机器演员广播相同的消息可以包括:确定观众中感兴趣成员的属性。确定观众中感兴趣成员的属性可以包括确定关于以下至少一个的信息:感兴趣成员正在看哪里,感兴趣成员是否在交谈,感兴趣成员正在说什么,以及感兴趣成员正在做什么。
[0011] 该方法还可以包括:将一个或多个演出部件连接至网络,至少一个演出部件包括处理器。该方法还可以包括:将一个或多个演出部件连接至网络,至少一个演出部件包括演出幕布、演出效果设备和演出照明中的至少一个。向网络提供传感器消息可以包括处理传感器数据从而将其形成到消息中。执行调度和协调机器演员动作的软件可以包括:调度和协调输出声音或投影效果。执行调度和协调机器演员动作的软件可以包括:协调和调度对另一演员做出响应或者对观众成员做出响应。执行调度和协调机器演员动作的软件可以包括:禁止一个或多个选定的演员执行动作。
[0012] 在又一实施方式中,一种用于具有多个机器演员的交互式演出的分布控制的系统,该系统包括:用于标识观看交互式演出的观众中的一个或多个感兴趣成员的装置;用于向所有机器演员广播表示该一个或多个感兴趣成员的属性的第一消息的装置;用于处理该第一消息和特定机器演员的位置的装置,从而响应于该一个或多个感兴趣成员来启动特定机器演员的动作;以及用于向其他机器演员广播表示该特定机器演员的动作的第二消息的装置,使得其他机器演员可以对该动作做出响应。
[0013] 该系统还可以包括:用于由该其他演员之一确认广播第二消息的装置,从而指示对执行动作就绪。用于标识一个或多个感兴趣成员的装置可以包括用于处理传感器数据从而标识与特定的标准相匹配的一个或多个成员的装置。标准可以对应于演出观众的一个或多个成员的尺寸、速度和位置中的至少一个。属性可以包括一个或多个感兴趣成员在世界坐标系中的位置。属性可以包括有关一个或多个感兴趣成员正在做什么的信息。该系统还可以包括:用于根据一个或多个感兴趣成员正在做什么来改变特定演员的动作的装置。附图说明
[0014] 图1是系统的一个实施方式的部件示例配置框图
[0015] 图2是诸如图1中所示的传感器子系统的一个实施方式的部件示例配置框图。
[0016] 图3是诸如图1中所示的演员子系统的一个实施方式的部件示例配置框图。
[0017] 图4是诸如图3中所示的演员子系统的操作的示例实施方式的流程图
[0018] 图5是系统的另一实施方式的部件的示例配置框图。

具体实施方式

[0019] 以下对某些实施方式的详细描述给出了对本发明具体实施方式的各种描述。本发明可以按照权利要求中限定和涵盖的多种不同方式来具体化。在本说明书中,对附图进行参考,其中类似的部分始终表示为类似的符号。
[0020] 对于在此给出的描述中所使用的术语,并非仅仅因为其与本发明的某些特定实施方式的详细描述结合使用,而意在将其以任何受限的或限制性的方式加以解释。此外,本发明的实施方式可以包括若干新颖的特征,其中没有一个单独的特征独立负责其期望的属性或是对于实践在此描述的发明而言必不可少。
[0021] 系统包括如以下详细讨论的各种模、工具和应用。本领域的普通技术人员可以理解,每个模块可以包括各种子例程、过程、定义性声明和宏。每个模块通常是独立编译的,并且被链接到独立可执行的程序中。因此,下文对每个模块的描述是为了方便描述优选系统的功能。由此,每个模块所经历的过程可以任意地重新分配给其他模块之一、在单个模块中合并在一起、或是使其例如在可共享动态链接库中可获得。
[0022] 系统模块、工具和应用可以通过诸如C、C++、Python、BASIC、Visual Basic、Pascal、Ada、Java、HTML、XML或者FORTRAN的任何编程语言来编写,并且在诸如Windows的变形、Macintosh、UNIX、Linux、QNX、VxWorks的操作系统或者其他操作系统的操作系统上执行。C、C++、Python、BASIC、Visual Basic、Pascal、Ada、Java、HTML、XML或者FORTRAN是工业标准编程语言,针对该工业标准编程语言可以使用多种商用编译器来创建可执行代码。
[0023] 定义
[0024] 下面提供在描述所公开发明的某些实施方式中使用的多个有用的可能定义。
[0025] 网络可以涉及跨越任何地理区域的网络或网络组合,诸如控制器区域网络、局域网、广域网、地区性网络、国家网络和/或全球网络。因特网是当前全球性计算机网络的一个示例。上述术语可以表示硬连线网络、无线网络或者硬连线和无线网络的结合。硬连线网络例如可以包括光纤线路、电缆线路、ISDN线路、线等。无线网络例如可以包括蜂窝系统、个人通信服务(PCS)系统、卫星通信系统、分组无线电系统以及移动宽带系统。蜂窝系统例如可以使用码分多址(CDMA)、时分多址(TDMA)、个人数字电话(PDC)、全球移动通信系统(GSM)或者频分多址(FDMA)等。
[0026] 计算机或计算设备可以是允许访问网络的、任何处理器控制的设备,包括终端设备,诸如个人计算机、工作站、服务器、客户端、微型计算机、主机计算机、膝上型计算机、个体计算机的网络、移动计算机、掌上计算机、手持计算机、电视机顶盒、其他类型的支持web的电视、交互式信息亭、个人数字助理、交互式或支持web的无线通信设备、移动web浏览器或其组合。计算机还可以具有一个或多个输入设备,诸如键盘鼠标触摸板、操纵杆、笔输入板、游戏板等。计算机还可以具有输出设备,诸如视频显示器和音频输出。这些计算设备的一个或多个可以形成计算环境。
[0027] 这些计算机可以是单处理器机器或者多处理器机器。而且,这些计算机可以包括可寻址存储介质或者计算机可访问介质,诸如随机访问存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、可擦除可可编程只读存储器(EPROM)、硬盘软盘、激光盘播放器、数字视频设备、压缩盘、录像带、录音带、磁性记录轨、电子网络以及借助于例如程序和数据来传输或存储电子内容的其他技术。在一个实施方式中,计算机配备有网络通信设备,诸如网络接口卡、调制解调器或者适用于连接至通信网络的其他网络连接设备。此外,计算机可以执行适当的操作系统,诸如Linux、UNIX、QNX、任意版本的Microsoft Windows、Apple Mac OS、IBMOS/2或者其他操作系统。适当的操作系统可以包括通信协议实现,其处理在网络上传递的所有传入和发出消息业务。在其他实施方式中,尽管操作系统可以根据计算机的类型而不同,但是操作系统将继续提供适当的通信协议,以建立与网络的通信链路。
[0028] 计算机可以包含程序逻辑或者表示数据和指令的其他基本配置,其致使计算机按照特定的和预定义的方式进行操作,如在此描述的。在一个实施方式中,程序逻辑可以实现为一个或多个对象框架或模块。这些模块可以配置为驻留于可寻址存储介质上,或者配置为在一个或多个处理器上执行。模块包括但不限于执行特定任务的软件或硬件部件。由此,作为示例,模块可以包括:部件(诸如软件部件、面向对象的软件部件、类部件和任务部件)、进程、函数、属性、过程、子例程、程序代码段、驱动、固件微码电路、数据、数据库、数据结构、表、数组和变量。
[0029] 系统的各部件可以通过诸如以下的机制来彼此通信以及与包括相应计算机的其他部件通信:进程间通信、远程过程调用、分布式对象接口以及其他各种程序接口。此外,在部件、模块和数据库中提供的功能可以合并为较少的部件、模块或者数据库,或者进一步分为附加的部件、模块或者数据库。而且,部件、模块和数据库可以实现为在一个或多个计算机上执行。在另一实施方式中,某些部件、模块和数据库可以实现为在一个或多个外部计算机上执行。
[0030] 计算设备可以使用各种通信模式和协议来通过网络进行通信。例如,此类通信模式可以包括:通用串行总线(USB)、火线、红外信号、蓝牙无线通信、IEEE 802.2信号、射频信号(诸如,900兆赫或更高的射频信号)、直通或交叉以太网缆线、交换分组或套接字传输、令牌环、中继、T-1线路、DS连接、光纤连接、RJ-45和RJ-11连接、串行管脚连接、声波频率连接以及卫星通信。其他通信模式和协议也是可行的,并且也在本发明的范围之内。
[0031] 详细讨论
[0032] 公开了一种计算环境,其为控制电子动画演出系统提供了比之前所见的更大灵活性,并且提供了产生栩栩如生的动作以及提供更大程度容错度的能。一般地,该计算环境可以应用于机器人系统,并不限于仅仅是电子动画系统。
[0033] 下面将参考电子动画演出系统来描述该计算环境的各个特征。在一个实施方式中,计算环境为不同类型的演出提供资源,电子动画形象可以在这些演出中执行运动的组合和序列,以产生栩栩如生的运动,诸如响应于演出的观众。对交互式演出的分布式控制可以这样来实现:使每个演出部件智能化,也即,将演出部件与小型计算机或者处理器相关联,这允许其感知演出状态并与其他演出部件通信这两方面。
[0034] 系统中的每个演出部件可以与小型计算机和本地传感器相关联,并且可以使用标准联网方法来进行通信。在某些实施方式中,每个部件监测本地环境,包括其自身状态和演出状态二者,并且使用它来确定和递送演出内容。因此,基于本地可用的信息来进行本地化决策。某些部件(演员)与递送演出内容更为相关,其他部件(传感器)与监测更为相关,而另一些部件(舞台管理器)与协调和处理意外事件更为相关。这不是明显区别,而是各职责的统一体。尽管该方法可以用来递送精确的固定演出,其同样特别适用于管制比较不严格的演出内容。交互包括对演员周围的进展情况做出响应,即对观众到达准确位置和系统其他部分的状态的反应,例如,要拾取对象。
[0035] 这一能力还使得系统是容错的。如果系统部件发生故障,这类似于表演者忘记了其部分或者出现了错误。在此分布式控制的系统中,此类意外事件的结果是一段时间的消息(对于观众而言不可见),以解决“故障”。例如,不同的演员可以说出下一句台词,或者可以跳过部分演出,或者添加一句台词以进行补救。注意,系统将感知到其是“正在解决”(working around)系统的各部分,或者其在某些方式上没有完美地工作。在主题公园环境中,期望演出系统全天可操作,经常多达16个小时不停,继而在夜间关闭和检修。可以到那时再解决这些非致命错误。
[0036] 相同的能力允许通过对观众和其他本地事件做出响应来改进和增强演出。在每个部件执行其任务时,其向其他部件发送消息,告知它们其意图(正在为不远的将来而计划的动作)或者动作(例如,已经启动的演出部分)。这允许协调的演出。注意,这明显不同于现有技术,现有技术实际上是将每个人的时钟同步到公共时间、或者由单个控制器告知每个表演者何时开始说出每个以及所有台词。
[0037] 演出部件基于其内部状态来响应消息。由于可能发生的细微变化,这提供了较为简单且更加容错的控制方法,并且看上去更为“自然”。诸如照相机的传感器可以向电子动画演员馈送信息。在某些实施方式中,该信息不是原始的传感器读取信息,而是关于观众以及系统其他部分的响应的经处理信息。因此,传感器信息变在网络四处发送的另一类消息。传感器本身也具有监测其自身状态以及通知系统其他部分的某些能力。这例如允许演员(其通常等待指示观众成员已经靠近该演员的传感器输入)在等待特定的时间量之后仅决定说出一句台词,因为看起来传感器损坏了。
[0038] 图1示出了一个示例演出系统100,其配置用于以交互式栩栩如生方式的不同类型演出的分布式控制(在某些实施方式中,以实时方式)。演出可以是诸如演员#1(110)、演员#2(120)、演员#3(130)、演员#4(140)或演员#N(150)的一个或多个电子动画的运动的序列,其由演出系统100产生动画。在某些实施方式中,每个演员都双向连接至网络160,诸如控制器区域网络(CAN)或者传输控制协议/互联网协议(TCP/IP)网络。CAN是广播、差分串行总线标准,其被设计为在电磁噪声环境中是鲁棒的。可以在其他环境中使用其他类型的网络(诸如之前所描述的)。诸如传感器#1(170)或传感器#M(180)的一个或多个传感器也双向连接至网络160。
[0039] 如图1中的示例所示,传感器170通过信号路径172、或者传感器180通过信号路径182向网络160发送响应于传感器数据而生成的消息。在图1所示的一个实施方式中,网络160通过信号路径112向演员1传递消息,通过信号路径122向演员2传递消息,通过信号路径132向演员3传递消息,通过信号路径142向演员4传递消息,以及通过信号路径152向演员N传递消息。如图1中的示例所示,演员#1(110)可以通过信号路径114向网络160广播消息,以便通过信号路径124分发至演员#2(120),通过信号路径134分发至演员#3(130),通过信号路径144分发至演员#4(140)以及通过信号路径154分发至演员#N(150)。
[0040] 在一个实施方式中,使用实时赋值的脚本语言来描述演出元素。演出元素是戏剧元素,可以从较小的动作和姿势变化至复杂的交互式运动。这些演出元素包含针对演员(诸如,演员110)的动作集合,以及由演出部件(未示出)控制的音频和其他计算机,诸如照明、视频、幕布以及效果设备(例如,烟雾机)。演出元素通常使用脚本语言通过组合较为简单的部件演出元素以产生复杂的、栩栩如生的动作来构建。
[0041] 一类演出是木偶演出。木偶演出是受操作者控制的动作序列,其中操作者向演出系统100人工输入演员(例如演员110)的期望运动。在用户人工输入每个期望动作之后,演员110以实时的方式产生相应的动作。演出系统100指示演员110即时产生期望动作,或者在用户人工输入期望运动命令之后的短时间之后产生期望动作。因此,演员看起来是按照用户向演出系统100输入的期望动作进行移动。
[0042] 另一类演出是固定演出。固定演出是预先制作动画的序列的记录,其可以回放一次、由触发器重复地激活或是循环继续。操作者可以选择固定演出,并且为演员制作动画,而不必像提供木偶指令时操作者要做的那样在进行演出的同时输入每个运动。存在用于创建固定演出的几种不同方式。在一个实施方式中,固定演出是木偶操作运动序列的用户的记录。在另一实施方式中,固定演出是用户通过图形用户界面(GUI)输入的运动的记录。在另一实施方式中,动作是从其他源得出的,诸如通过分析已录制语音而得出嘴部位置。在另一实施方式中,运动数据是通过来自动画影片的动画数据得出的。在另一实施方式中,使用这些方法的组合。在一个实施方式中,用于固定演出的指令存储在计算机可读介质上。
[0043] 在一个实施方式中,用户通过按钮或者其他类型的选择器(未示出)输入对固定演出的选择,其指示演出系统100按照选定的固定演出的预先录制动作来为电子动画演员(例如,演员110)制作动画。可以提供多个按钮,每个按钮表示不同的固定演出选择。在另一实施方式中,用户利用触摸屏显示器来输入对固定演出的选择。在另一实施方式中,用户通过转盘来输入对固定演出的选择。在另一实施方式中,用户通过向与语音识别软件结合操作的麦克的语音命令,来输入对固定演出的选择。
[0044] 演出系统100为用户提供同时按照固定演出和木偶演出来为演员(例如,演员110)制作动画的能力。如果固定演出向演员的一个致动器或者电机提供指令,同时木偶序列向不同的致动器提供指令,则两个指令同时执行,以给出两个不同的身体部分同时运动的表现。如果固定演出和木偶演出向相同的致动器提供指令,则计算该演员的合成动作。
[0045] 又一类演出包括过程化动画,其类似于但又不同于之前描述的脚本语言。在过程化动画中,动作是由软件程序计算的。存在两种被使用的典型示例。第一示例是“即兴表演”(或称空闲序列),其中如果电子动画形象没有对任何其他事物做出响应,则该电子动画形象随机地四处查看。这是为了防止电子动画形象看上去“死板”。过程化动画的另一示例是嘴唇合成语音能力,这与之前描述的木偶控制相关联。人类演员向麦克风中说出的台词基于信号的振幅和音高被进行处理。计算电子动画形象的嘴部位置,并且将音频延迟几十毫秒,从而合成动作和音频。该特征允许角色即时地与客人进行交谈,同时执行木偶、封装和过程化动画。
[0046] 参考图2,将描述一个示例传感器子系统200,诸如图1中所示的传感器170或者180。传感器子系统200通过诸如可从Gumstix(http://gumstix.com)获得的netMMC扩展板的通信输入/输出部件210与网络160进行数据通信。网络160可以包括网络交换机,诸如可从Netgear获得的型号FS116的16端口10/100桌面交换机。通信输入/输出210与传感器处理部件220连接,在一个实施方式中,该传感器处理部件220可以是计算机。一个或多个传感器(诸如,一个或多个相机230、操作杆或游戏板240或者其他设备)连接至传感器处理部件220。
[0047] 在传感器子系统200的一个示例中,在一个实施方式中(参见图5的570),可从Unibrain(http://www.unibrain.com/Products/VisionImg/Fire_i_BC.htm)获得的具有4.3mm镜头的Fire-i数字板相机可以作为传感器。这些相机可以连接至火线集线器,诸如可从SIIG获得的NN-H60112集线器,继而由诸如可从Hewlett-Packard获得的型号xw8000的计算机进行处理。四个火线相机可以配置在演出区域天花板中,其向下注视观众成员或者客人。相机的输出由单个计算机使用公知的“对象跟踪算法进行处理,并且合并到单个集成视图中以找到区域中的“感兴趣”对象(人)。在某些实施方式中,这些对象继而基于其与演出演员的接近程度(距离)、其尺寸以及其速度进行排序。在一个实施方式中,使用自组织(ad hoc)量度来基于对象的尺寸(必须大于阈值)、速度(越高越好)和位置(与所考虑演员的接近程度,越近越好)进行排序。在此实施方式中,排序是位置、尺寸和速度的乘积,其在逻辑上可以认为是“与”操作。在某些实施方式中,相机朝下以跟踪客人位置。
在其他实施方式中,相机可以朝前,特别地,进行人脸检测和跟踪。
[0048] 在上述传感器子系统200中,一旦标识了感兴趣对象,则在消息中通过网络向演员广播关于该对象的信息。在某些实施方式中,该信息包括感兴趣对象的位置。在其他实施方式中,该信息可以包括以下一个或多个:关于感兴趣对象正在看哪里(例如,方向)、对象是否正在交谈、对象正在说什么以及对象正在做什么的数据。
[0049] 作为传感器子系统200的另一示例,可从Logitech获得的双重动作游戏板可以连接至计算机(诸如可从Gateway获得的型号E5400计算机)的USB端口。游戏板可以用来控制演员的木偶和/或固定演出。某些功能或动作可以打开/关闭,这可以针对通过游戏板选择的一个或多个演员来完成。游戏板可以用来触发(启动)特定的演出。其他功能可以通过游戏板在各个时刻进行控制。例如,可以通过游戏板操纵杆之一来直接控制演员之一的头部转向(当操作杆开始移动时,控制将软切换(cross fade)至游戏杆,并且在操作杆停止移动一秒或更长时间之后淡出)。可以触发固定动画(例如,“再见”)。
[0050] 在某些实施方式中,传感器子系统200向每个演员和演出部件广播相同的信息,这允许每个演员在该演员认为合适时使用该信息。例如,相机报告对象(例如,观众成员)在世界坐标中的位置。由于每个演员知道其自己在世界坐标中的位置,演员可以(如果它这样选择的话)使用这两个信息片段来在客人或观众成员四处走动时转向并注视他们。在某些实施方式中,系统可以使用绝对坐标、相对坐标或者绝对坐标和相对坐标的结合来进行操作。例如,为了广播感兴趣对象的位置,本地计算支持对象的相对运动。
[0051] 在其他传感器子系统中可以想到其他类型的传感器。其他传感器可以包括:
[0052] ●麦克风
[0053] ○单个(平触发器,语音识别)
[0054] ○使用多个麦克风的声音本地化
[0055] ●IR(红外)传感器(运动传感器,阻断光束(break beam))
[0056] ●超声波邻域传感器(距离传感器)
[0057] ●地毯(压力传感器)
[0058] ●激光测距仪(例如,http://www.hokuyo-aut.jp/products/urg/urg.htm)[0059] 在某些演出和景点中,存储可获得的大量传感器数据信息,并且其可以被发送至网络以便向演出部件进行广播。信息可以包括与以下有关的数据:
[0060] ●跟踪传感器(例如,骑乘游乐设施的车辆何时通过),其中某些骑乘游乐设施具有RFID(射频标识符)用于识别车辆,或者各个客人具有唯一的RFID标签因此可以标识客人的系统;
[0061] ●环境传感器(例如,何时关闭,客人何时在区域中(诸如出于安全考虑));
[0062] ●与其他演出部件的同步(例如,视频、音频、照明、效果(例如,水雾喷射器)、舞台立体布景(例如,幕布、门)、时间事件),其通常使用SMPTE时间码;
[0063] ●“控制塔”输入,其中骑乘游乐设施通常具有控制室或者控制塔区域,传统上其足够高以查看整个骑乘游乐设施。在塔区域中,通常存在用于开始/停止和/或启用/禁用骑乘游乐设施的控制,并且经常具有调派车辆或者个体效果的控制。
[0064] 参考图3,将描述演员子系统300的一个示例。在某些实施方式中,演员子系统300可以是机动化的手提木偶,包括小型嵌入式计算机、多个电机以及具有扬声器或其他变换器的放大器。演员子系统300可以通过网络(例如CAN)与其他演员子系统300通信。
[0065] 在一个实施方式中,演员子系统300包括用来与网络160(图1)通信的通信输入/输出部件310。通信输入/输出部件310连接至计算机或处理器320或者与之关联。在某些实施方式中,计算机320包括输入响应逻辑模块322,其从通信输入/输出部件310接收输入,并且向行为引擎324提供输出。在某些实施方式中,输入响应逻辑模块322可以是诸如C、C++、C#、Python和Java等软件语言的switch声明。下文将结合图4来描述行为引擎324所执行的某些示例操作。行为引擎324提供诸如电机控制330、声音340和其他输出350的输出,以控制演员的动作。例如,电机控制330控制演员的电机332,使得演员可以运动演员的部分(诸如手臂或者嘴)、旋转整个演员以及其他动作。类似地,行为引擎324的声音340输出驱动放大器和扬声器324。在计算机320中,行为引擎324向输出队列和状态发布模块326发送输出,模块326进一步与通信输入/输出部件310通信,从而向网络160(图1)发送消息。
[0066] 在一个实施方式中,演员子系统300可以包括可从Gumstix(http://gumstix.com)获得的计算机子系统320,其具有Gumstixconnex 400xm计算机主板;以及Gumstix roboaudio-th数字和模拟I/O、R/C伺服电机控制、音频输出。通信输入/输出部件310可以是netMMC 10/100网络、也可以是从Gumstix获得的MC存储卡。电机332可以是可从Hitec(http://www.hitecrcd.com/servos/show?name=HS-625MG)获得的型号HS-625MG。音频子系统340可以包括可从Texas Instruments获得的TPA 3001D1音频放大器,以及可从AuraSound获得的型号NSW1-205-8A扩音器。
[0067] 在某些实施方式中,当演员子系统300未被命令做任何事时,其转向并且注视观众(对象)中“最感兴趣”的客人或成员。当例如由游戏板启用时,作为演员子系统300之一的蓝色狗木偶可以在对象接近(例如,首次进入1.5内)时说“喂”。
[0068] 在一个实施方式中,存在三个电子动画演员子系统300,其包括三个木偶:(Bird)、蓝狗(Blue)和粉狗(Pink)。木偶通常注视正在说话的木偶。示例脚本可以如下:
[0069] Blue:Alright everyone,just like we rehearsed.Welcome...
[0070] Pink:to
[0071] Bird:the
[0072] Blue:Open
[0073] Pink:House
[0074] Bird:eh...,from,eh,never mind,...
[0075] Blue:Birdy,you messed it up!
[0076] Bird:Okay,let′s start again,one more time.
[0077] Blue:No no,we ruined it,it′s over.
[0078] Bird:Start again,welcome
[0079] Blue:to
[0080] Pink:the
[0081] Bird:Open
[0082] Blue:House
[0083] Pink:from
[0084] Bird:R
[0085] Blue:and
[0086] Pink:D
[0087] Bird:That was pretty good.
[0088] Blue:That was pretty good
[0089] Pink:Hee,hee,hee,hee.
[0090] 参考图4,将描述由行为引擎324执行的某些示例操作的演员过程400的流程图。表演者在其演出时向其他表演者发送信息(广播),以允许或者请求其他表演者做出响应。
在某些实施方式中,表演者是演员子系统300(图3),但是在其他实施方式中,表演者可以是人或者人和演员子系统300的结合。如果正在演出的表演者期望脚本化响应(诸如说出的台词或者一段演出),其中该脚本或响应被称为“节(beat)”,则这在进行演出的同时进行协商(例如,执行电握手)。
[0091] 过程400开始于状态402,其等待特定演员开始演出(诸如,演出节)的提示。移动到状态404,过程400广播:演员准备进行演出节。前进到状态406,特定的演员开始进行演出节。继续到状态408,过程400询问预期的下一表演者:你能够演出吗?进行到决策状态410,过程400通过接收到的响应来确定下一表演者是否能够演出。如果下一表演者能够演出,则过程400前进到状态420,在此,特定演员完成演出当前的演出节。在状态420完成之后,过程400移动到状态422,广播:特定演员完成了演出节,并且提示下一节。
[0092] 返回对决策状态410的讨论,如果下一表演者无法演出,则过程400前进到状态430,并且广播针对下一表演者的呼叫。继续到决策状态432,过程400确定是否接收到了对广播呼叫的至少一个响应。如果没有接收到对广播呼叫的至少一个响应,过程继续到状态434,在此确定不存在下一表演者。移动到状态436,过程400可选地相应地修改或者中止当前演出。前进到状态438,过程400移动到对最后节的“紧急情况”响应。这例如可以是代替另一表演者诸如说出(播放)一个词(例如,“哦”),或者确认需要帮助。
[0093] 一般地,紧急情况可以表示不是演员所期望的几乎所有事情。例如,如果过程400开始节,尝试对下一表演者排队,然而该下一表演者不可用(或者没有响应),这可以被认为小的紧急情况。如果过程400广播消息并且期望多个响应,但是继而没有收到任何响应,这是一种坏情况,并且可以认为是主要的紧急情况(例如,所有其他机器人演员都死了?)。紧急情况还可以包括观众响应。如果演员正在与观众中的某些人交谈,而这些人在演员正在说话时转身离开,这将是紧急情况,系统可以考虑打断演出节,并且响应于观众走开而说些什么。对于在状态438中使用的特定响应,取决于各种因素,系统可以使用各种不同类别的响应。例如,如果观众中没有人对于演员的笑话发笑,演员可以做出紧急情况响应,诸如“嘿,这里有人在吗?”或者类似的台词。针对预计紧急情况的其他类别响应可以包括:应对诘责之人,其他演员忘词或者下一句不可获得,以及一般性或未定义的失败,例如演员可以说“咳!真不可思议!”,或者试图岔开话题或者通过说“好的,好的,...怎么样”来掩饰麻烦并继续。
[0094] 返回对决策状态432的讨论,如果接收到了对广播呼叫的至少一个响应,过程400继续到状态440,并且从回复广播呼叫的表演者中选择下一表演者。前进到状态442,过程400向所选的下一表演者发送消息,以验证表演能力。前进到决策状态444,过程400通过接收到的响应来确定所选表演者是否能够表演。如果所选的表演者能够表演,过程400移动到状态420,在此特定的演员完成表演当前的演出节。然而,如果所选的表演者不能表演,过程400继续到上文所述的状态434。
[0095] 图5示出了另一示例演出系统500,其配置用于交互式栩栩如生方式(在某些实施方式中,以实时方式)的不同类型演出的分布式控制。演出的一个或多个客人505可以观看一个或多个电子动画,诸如演员510(视频显示器)、演员520(电子动画形象)以及演员530(电子动画木偶),其由演出系统500制作动画。在某些实施方式中,每个演员都双向连接至网络560,诸如控制器区域网络(CAN)、传输控制协议/互联网协议(TCP/IP)网络或者其他类型网络(诸如之前描述的)。诸如传感器570(对象跟踪)、传感器580(脸部跟踪)和传感器590(舞台管理器)的一个或多个传感器也双向连接至网络560。
[0096] 演员510、520和530是上文结合图3描述的演员子系统300的实施方式的示例。例如,演员520包括由电机526控制并且具有扬声器(以及可选的放大器)524的电子动画形象528。计算机522连接至网络560,并且分别为电子动画形象电机526和扬声器524提供电机控制输出和声音输出。
[0097] 传感器子系统570、580和590是上文结合图2描述的传感器子系统200的实施方式的示例。例如,传感器570执行对象跟踪,并且包括连接至集线器576的四个相机571、572、573和574。集线器576还连接至与网络560互联的计算机578。传感器590充当舞台管理器,并且特别地充当演员的控制台,并且包括同与网络560互联的计算机592通信的操纵杆(或者其他控制器,诸如游戏板)594。舞台管理器590可以用来控制演员的木偶和/或固定演出,并且可以打开和/或关闭某些功能或动作,包括开始特定的演出。
[0098] 系统100可以在主题公园或者其他类型的娱乐或购物场所中的各种设置中使用。示例包括使用演员子系统来娱乐排队的或者橱窗前的客人或者顾客;在特定区域中或者乘骑娱乐设施或者景点入口处的演出,诸如魔术王国中的提基神殿(在新的管理之下),演员在此表演固定的演出;以及宠物公园,其具有与客人交互以及彼此交互的演员子系统。
[0099] 结论
[0100] 尽管上文已经记载了特定的块、部分、设备、功能和模块,但是本领域技术人员将认识到,存在多种方式来划分系统,并且存在多种部分、部件、模块或功能可以替代上文所列出的那些。
[0101] 尽管上文已经示出、描述和指出了适用于各种实施方式的本发明的基本新颖特征的详细描述,但是将会理解,在不脱离本发明意图的情况下,本领域技术人员可以对系统的形式和细节进行各种省略、替换和改变。
QQ群二维码
意见反馈