动画制作系统转让专利

申请号 : CN201910424404.6

文献号 : CN110858408A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : W·李L·唐特彻瓦H·苏布拉蒙亚姆E·亚达

申请人 : 奥多比公司

摘要 :

本公开的实施例涉及动画制作系统。本文所描述的技术涉及集成了剧本起草、表演和编辑的流水线化的动画制作工作流程。对包括动画事件的剧本进行解析以将动画事件编码到故事模型的节点中。当播放头在故事模型中推进并标识(多个)活动节点时,动画事件由表演自动触发。命令界面接受各种命令,这些命令允许表演者通过控制录制和回放来充当导演。录制将所生成的动画事件绑定到每个活动节点。回放触发针对活动节点的所生成的动画事件。动画电影由故事模型中所生成的动画事件组装而成。动画电影可以被呈现为实时预览以向表演者提供反馈,并且提词器界面可以通过呈现和推进剧本以跟随表演来指导表演者。

权利要求 :

1.一种用于生成动画的计算机化方法,所述方法包括:访问包括动画事件的指示的剧本;

对所述剧本进行解析以标识所述动画事件;

将所述动画事件编码到故事模型的节点中;

在所述剧本的表演期间通过以下方式生成动画电影:

由标识所述故事模型的活动节点的播放头推进通过所述故事模型,并且标识所述表演的相关联的部分;

基于所述表演的所标识的所述部分,触发与所述活动节点相关联的所述动画事件的生成;

将所生成的所述动画事件绑定到所述活动节点中的对应的活动节点;以及将所生成的所述动画事件组装成动画电影。

2.根据权利要求1所述的方法,其中所述剧本使用包括触发器和至少一个参数的标记语言的语法来指示所述动画事件。

3.根据权利要求2所述的方法,其中所述方法还包括编译所述剧本以标识所述动画事件的所述语法中的错误。

4.根据权利要求1所述的方法,其中所述剧本使用扩展的标记语言,所述扩展的标记语言在现有的标记语言的评论内嵌入针对所述动画事件的语法。

5.根据权利要求1所述的方法,其中所述剧本指定用于所述动画事件中的至少一个动画事件的计时元素,所述计时元素包括在表演期间触发所述动画事件的开始时间、停止时间、持续时间或延迟中的至少一个,并且其中所述故事模型的所述节点中的对应的一个节点指示所述节点的相关联的参数中的所述计时元素。

6.根据权利要求1所述的方法,其中所述故事模型的所述节点包括语音节点和唇形同步节点,并且其中所述方法还包括在所述表演期间自动生成所述唇形同步节点以触发用于所述语音节点的唇形同步。

7.根据权利要求1所述的方法,其中所述表演包括声音表演,并且其中所述方法还包括:通过将所述声音表演的第一部分的转录的单词与来自所述剧本的第一部分的单词相匹配,来确定所述声音表演的所述第一部分和所述剧本的所述第一部分之间的对准;

确定所述声音表演的第二部分与所述剧本的第二部分之间的未对准;

基于所确定的所述未对准,将所述声音表演的所述第二部分的转录的单词与来自预定义命令的集合的命令短语相匹配;以及执行与所述命令短语相关联的功能。

8.根据权利要求1所述的方法,其中所述方法还包括:在提词器界面上呈现所述剧本;

基于所述表演和所述剧本之间的所确定的对准,使所述提词器界面推进所述剧本。

9.根据权利要求1所述的方法,其中所述方法还包括:在所述表演期间将所述动画电影呈现为舞台界面上的实时预览。

10.根据权利要求1所述的方法,其中所述故事模型的所述节点中的至少一个节点包括即兴表演节点,并且其中录制所述表演还包括:将所述播放头推进到所述即兴表演节点;

录制包括即兴表演的所述表演的对应的第一部分;以及通过检测所述表演的第二部分的转录的单词与所述即兴表演节点之后的语音节点的单词之间的对准来确定所述即兴表演完成。

11.根据权利要求1所述的方法,其中所述表演包括声音表演,并且其中录制所述表演还包括:确定所述声音表演的转录的单词与所述故事模型的第一语音节点之间的匹配;以及基于确定所述匹配,将所述播放头推进到所述故事模型的、所述第一语音节点之后的第二语音节点。

12.根据权利要求1所述的方法,其中所述剧本中的所述动画事件包括对话,并且其中所述方法还包括:将所述对话的台词解析成由连续动画事件分离的单词的连续序列的集合;

为所述集合中的单词的所述连续序列中的每个连续序列生成语音节点;

构造所述语音节点的线性序列;以及

利用有向边连接相邻的语音节点。

13.根据权利要求1所述的方法,其中所述故事模型被构造为具有由公共语音节点触发的平行节点的有向无环图。

14.根据权利要求1所述的方法,其中所述故事模型的所述节点中的一个节点包括动作节点,所述动作节点被配置成在所述表演的对应的部分期间,触发在所述剧本中的相关联的动画事件中被指定的角色动作。

15.根据权利要求1所述的方法,其中所述故事模型的所述节点中的一个节点包括相机节点,所述相机节点被配置成在所述表演的对应的部分期间,触发在所述剧本中的相关联的动画事件中被指定的相机转变。

16.根据权利要求1所述的方法,其中所述表演包括音频和面部表演,并且其中生成所述动画事件包括:作为所生成的所述动画事件中的第一动画事件,录制所述音频的部分;

作为所生成的所述动画事件中的第二动画事件,基于所述音频的所述部分,生成唇形同步动画;

作为所生成的所述动画事件中的第三动画事件,基于所述面部表演的对应的部分,生成面部表情动画;以及作为所生成的所述动画事件中的第四动画事件,根据预定义的动画,生成手势动画。

17.一个或多个计算机存储介质,其存储计算机可用指令,当由一个或多个计算设备使用时,所述计算机可用指令使所述一个或多个计算设备执行操作,所述操作包括:在包括动画事件的指示的剧本的表演的第一次拍摄期间:由标识故事模型的多个节点的活动节点的播放头推进通过所述故事模型;

捕捉所述表演的所述第一次拍摄的第一音频;以及

基于所述表演的所述第一次拍摄,生成所述动画事件中的第一动画事件,其中第一动画事件包括非语音事件;

在所述第一次拍摄期间,通过区分基于语音的命令和所述第一次拍摄的所述第一音频来检测所述基于语音的命令;以及执行所述基于语音的命令。

18.根据权利要求17所述的介质,其中所述基于语音的命令包括重新拍摄命令,所述操作还包括基于检测到所述重新拍摄命令,通过以下方式录制所述表演的第二次拍摄:自动重新定位所述播放头;

在所述第二次拍摄期间,捕捉从重新定位的所述播放头开始的所述表演的所述第二次拍摄的第二音频,并将所述第二音频与所述多个节点的对应的语音节点相关联;以及在所述表演的所述第二次拍摄期间,基于所述表演的所述第二次拍摄重新生成所述第一动画事件,并且将重新生成的所述第一动画事件与所述多个节点的对应的非语音节点相关联。

19.根据权利要求17所述的介质,其中所述故事模型将所述剧本的对话的台词编码到语音节点中,将所述动画事件中的关联的动画事件编码到非语音节点中,并将所述语音节点和所述非语音节点连接到公共父节点。

20.一种计算机系统,包括:

一个或多个硬件处理器和存储器,所述存储器被配置成向所述一个或多个硬件处理器提供计算机程序指令;

用于录制剧本的表演的部件,其中所述表演包括声音表演和动作表演;

提词器界面,其被配置成使用所述一个或多个硬件处理器在所述表演期间呈现和推进所述剧本;

文本对准器,其被配置成使用所述一个或多个硬件处理器来使所述提词器界面基于所述声音表演和所述剧本之间的所确定的对准来推进所述剧本;以及命令解析器,其被配置成使用所述一个或多个硬件处理器以:将所述声音表演的转录的单词与来自预定义命令的集合的命令短语相匹配;以及执行与所述命令短语相关联的功能。

说明书 :

动画制作系统

技术领域

[0001] 本公开的实施例涉及流水线化的动画制作。

背景技术

[0002] 计算机动画是用于数字地生成动画图像的过程。例如,可以使用各种动画技术(诸如逐帧动画、关键帧、程序动画、行为动画、动态动画和动作捕捉)来赋予动画对象生命。现代技术通常聚焦于改进捕捉和处理人类几何、外观、表情和动作的方法。例如,表演动画系统可以直接从演员表演中生成角色动画,从而显著增强了动画制作的工作流程。
[0003] 然而,捕捉和处理角色动作仅是创建引人注目的动画故事的一部分。动画制作的其他方面可以包括创作剧本、协调演员、录制表演以及将录制的表演的集合编辑到动画电影中。表演动画系统的最新发展有助于流水线化动画制作工作流程,从而更容易生成动画角色和动画故事。例如,使用表演动画,演员可以通过简单地演出他们的角色来直接创建对应的角色动画。这种方法现在是专业工作流程的一部分,其中一个或多个I/O组件和伴随的软件将身体动作和音频转换到角色动画中。

发明内容

[0004] 本文所描述的技术涉及使用集成了剧本起草、表演和编辑的流水线化的动画制作工作流程来录制和制作基于表演的动画电影的剧本驱动的方法。在高级别,可以起草剧本来指示动画事件(例如,针对角色的对话和屏幕上的表演行为、布景、相机和声音)以及动画事件之间的时间关系。对剧本进行解析以标识对话的台词和对应的动画事件,并且对话的台词和动画事件被编码到故事模型的节点中。当表演者表演剧本时,对表演进行解释并将其与故事模型对准,并且生成剧本中指示的动画事件。所生成的动画事件可以是音频录制、基于捕捉的表演而生成的动画,或者一些其他合成的动画效果。所生成的动画事件与故事模型中的对应的节点相关联。使用该故事模型,随着播放头(playhead)推进通过故事模型中的对应的节点,剧本中所标识的动画事件能够由表演自动触发。
[0005] 在录制和回放模式期间,播放头遍历故事模型并标识故事模型内的(多个)活动节点。录制将关联的动画事件绑定到每个活动节点。例如,可以将所录制的表演转换为录制的音频(用于语音节点)或动画(用于动作节点)。当播放头推进通过故事模型时,回放播放针对活动节点的任何录制内容。在回放期间,当播放头遍历故事模型时,触发针对每个活动节点的所录制的内容,可以为未录制的节点合成语音和非语音事件(例如,声音效果、动作等),并且跳过需要显式用户表演的未录制的节点。
[0006] 为了便于录制和回放,命令界面可以接受各种输入命令,这些输入命令允许表演者通过控制录制和回放的各个方面来充当导演。在一些实施例中,基于语音的命令可以被用来驱动角色动作、重新录制拍摄(例如,以修复错误或尝试不同的语音)、各种录制模式(例如,按顺序录制剧本、一次一个角色等)、将拍摄自动组装成动画电影等。为了支持语音命令,可以将转录的文本与故事模型中的一个或多个语音节点(例如,活动节点)进行比较,以标识是以及不是剧本化的对话的一部分的语音。被确定为剧本化的对话的一部分(例如,在容差内)的转录的语音可以被用作推进播放头的指示。否则,可以解析转录的语音以从转录的语音中标识命令。以这种方式,命令界面允许表演者导航故事模型(并因此导航剧本)以协调之前不可用的复杂的制作功能。例如,表演者现在可以在声音表演期间发出命令(例如,语音命令)以重新拍摄剧本化的对话的表演、乱序地录制角色动作,以及将动画层叠在之前录制的内容上。
[0007] 可以从故事模型(例如,从与故事模型中的节点相关联的所生成的动画事件)组装动画电影。例如,所生成的动画事件可以被自动组装成动画电影(例如,在表演期间),并且动画电影可以被呈现为实时预览以向表演者提供反馈。同时,提词器界面可以通过呈现和推进剧本以跟随表演来指导表演者。以这种方式,可以例如在一遍中自动组装整个动画电影的粗略剪辑(cut)。本文所描述的技术有助于广泛的动画场景,包括个人表演、协作创作、层叠动画和半自动故事讲述。

附图说明

[0008] 以下参照附图详细描述本发明,其中:
[0009] 图1是根据本发明实施例的示例动画制作环境的示意图;
[0010] 图2a图示了根据本发明实施例的具有指定动画事件的对话和标记的示例剧本;
[0011] 图2b图示了根据本发明实施例的示例故事模型;
[0012] 图3a是示出根据本发明实施例的基本录制状态下的示例故事模型的图;
[0013] 图3b是示出根据本发明实施例的单个角色录制状态下的示例故事模型的图;
[0014] 图3c是示出根据本发明实施例的重新拍摄录制状态下的示例故事模型的图;
[0015] 图3d是示出根据本发明实施例的层叠录制状态下的示例故事模型的图;
[0016] 图4图示了根据本发明实施例的包括提词器界面和舞台界面的示例图形用户界面;
[0017] 图5图示了根据本发明实施例的使用基于语音的命令来录制和制作基于表演的动画电影的示例用户交互;
[0018] 图6是示出根据本发明实施例的用于生成动画的示例方法的流程图;
[0019] 图7是示出根据本发明实施例的用于生成动画的另一示例方法的流程图;
[0020] 图8是可以采用本发明的实施例的示例性计算环境的框图;以及
[0021] 图9是适用于实施本发明实施例的示例性计算环境的框图。

具体实施方式

[0022] 可能难以创建动画电影。基于表演的动画系统(诸如 角色动画师)可以简化动画制作的某些方面,例如,通过自动生成与用户所说的相匹配的嘴部动画。然而,表演者通常通过多个表演者同时录制针对多个角色的表演,或者使用多个层叠的表演(“拍摄”,这需要使用低级时间线编辑操作将多个拍摄手动组装在一起)来控制角色的动作的许多方面(例如,面部表情、身体姿势等)。这些技术中的每一种都可能耗时、低效且易受人为错误的影响。
[0023] 而且,表演不是创建动画电影中的唯一任务。通常,常规的动画制作工作流程由几个阶段定义。这些阶段可以包括创作剧本、协调演员、录制表演以及编辑录制的表演的集合以生成完整的动画电影。这些步骤中的每一步都非常耗时,并且对高效的动画制作造成障碍。
[0024] 另外,常规的动画制作工作流程通常按顺序发生。即,动画制作工作流程中的每个步骤(例如,剧本起草、表演录制、表演编辑)传统上一次完成一个。结果,工作流程中的前期任务不能受益于在动画制作工作流程中的后期阶段期间接收的信息或以其他方式表示动画制作工作流程中的后续阶段期间接收的信息。例如,剧本作者可能不知道特定对话或动作是否将适用于特定演员,或者表演动画在特定场景中是否将很好地工作(例如,在特定的场景中,举手击掌还是碰拳将更好)。此外,上游改变通常需要手动重做下游工作。这些限制增加了创建和迭代动画电影的时间和成本。它们还会在动画制作工作流程中引入冲突,最终减慢宝贵的设计迭代速度。
[0025] 对表演动画系统的之前的改进聚焦于使用姿势和动作捕捉来控制动画角色、改变场景或控制相机变焦的方法。一些表演动画系统可以使用检测到的音频来生成动画角色的某些方面,例如,通过为角色自动生成对应的嘴部动画(即,唇形同步)或姿势。然而,这些技术不允许表演者使用声音命令来控制其他类型的角色动作或触发与角色无关的其他动画效果(例如,相机角度的改变、场景改变等)。
[0026] 更一般地,基于语音的界面通过抽象界面复杂性简化了创意编辑任务。例如,一些视频清理和编辑系统允许用户发出语义查询以通过在对应的抄本中搜索匹配来标识录制中的特定动画帧。其他技术已经将口语输入与物理输入(例如,鼠标指针输入)组合以指导动画角色的行动(例如,“步行到此处”)。该方法支持基于语音的系统命令以用于选择角色、角色行动/动画、开始和结束录制,以及回放控制。然而,在这些系统中,语音输入不能被用来导航剧本或执行更复杂的制作功能。如此,用于动画制作的常规的基于语音的界面当前支持非常有限的制作命令的集合,这限制了表演者与制作界面的交互的效率。常规的动画制作系统中存在这些和其他变化以及缺点的组合。
[0027] 相应地,本文所描述的技术涉及使用集成了剧本起草、表演和编辑的流水线化的动画制作工作流程来录制和制作基于表演的动画电影的剧本驱动的方法。在高级别,可以起草剧本以指示动画事件(例如,针对角色的对话和屏幕上的表演行为、布景、相机和声音)以及动画事件之间的时间关系。对剧本进行解析以标识对话的台词和对应的动画事件,并将对话的台词和动画事件编码到故事模型中。当表演者演出剧本时,对表演进行解释并将其与故事模型对准。更具体地,生成剧本中所指示的动画事件(例如,生成为音频录制、基于捕捉的表演生成的动画,或一些其他合成的动画效果),并且所生成的动画事件与故事模型中的对应的节点相关联。这样,当播放头推进通过故事模型中的对应的节点时,剧本中所标识的动画事件可以由表演自动触发。
[0028] 可以从故事模型组装动画电影(例如,从与故事模型中的节点相关联的所生成的动画事件)。例如,所生成的动画事件可以被自动组装到动画电影中,动画电影可以被呈现为实时预览,以向表演者提供反馈。另外,实时预览可以被用来为后续表演提供上下文。在一些实施例中,基于语音的命令可以被用来驱动角色动作、重新录制拍摄(例如,以修复错误或尝试不同的语音)、各种录制模式(例如,按顺序录制剧本、一次一个角色等)、将拍摄自动组装到动画电影中等。这样,例如可以在一遍中自动组装整个动画电影的粗略剪辑。
[0029] 使用该工作流程,广泛的动画场景是可能的,包括个人表演、协作创作、层叠动画和半自动故事讲述。例如,现在,甚至新手(例如,儿童)也可以简单地通过阅读剧本或通过从桌面读物自动生成粗剪辑动画来创建动画电影。在一些实施例中,单个表演者可以通过同时录制语音和物理表演一次一句台词地读完剧本。附加地或备选地,可以在表演期间检测对剧本的改变(例如,基于在表演期间所接收的命令或即兴表演),并且可以将改变卷入剧本和/或故事模型中而不会丢失先前的工作。类似地,在可能的情况下,对剧本所做的改变(例如,通过文本编辑器)可以被传播到之前录制的表演,以避免用户必须重新表演。例如,如果在剧本中删除或重新排序(多个)台词,则可以在故事模型和/或动画电影中自动更新针对该(多个)台词的关联的录制。这些只是集成动画制作工作流程各部分如何能够让动画师比过去更有效地创建和编辑动画电影的几个示例。
[0030] 在一些实施例中,可以实施端到端动画制作系统。动画制作系统可以访问使用标记语言起草的剧本来表达对话、其他动画事件及其时间关系。除了其他信息之外,标记语言的语法可以指示何时发生与对话有关的动画事件(例如,角色动作),并且可以在指定时间或当指定事件发生时(例如,当在录制的表演期间,表演者说出特定单词或短语时)触发动画事件。在一些实施例中,可以扩展现有的剧本标记语言(例如,通过在剧本语言的评论内嵌入动画事件)以确保后向兼容性。标记语言可以被用来指示和触发任何类型的动画事件,诸如角色行动/动作、辅助动画、场景改变、对相机角度或位置的改变、声音效果等。
[0031] 通过非限制性示例,包括指示关联动画事件的对话和语法两者的剧本的一部分可以是:“欢迎与吉尔聊天。[[动作:吉尔-中间_视图]];我来自凤凰城。[[动作:背景-凤凰城]];春天是炎炎夏日前的美好时光。[[动作:吉尔-头部_火焰]]”。如下面更详细地解释的,当表演者读出并表演此对话时,当表演者说“欢迎与吉尔聊天”时,剧本可以被用来触发相机角度变化(如由“动作”触发器所指示的,第一参数(argument)“吉尔”指示与吉尔相关的动作动画的类别,并且第二参数“中间_视图”指示针对吉尔的对应的相机角度变化)。类似地,当表演者说“我来自凤凰城”时,剧本可以被用来触发场景变化,并且当表演者说“春天是炎炎夏天之前的美好时光”时,可以使用指定的火焰动画。针对触发器的任何变化和参数是可能的(例如,用于角色动画、相机改变和布景改变等的不同触发器)。
[0032] 为了便于通过表演对应的剧本化的对话来触发剧本化的动画事件,可以对剧本进行解析以标识动画事件,并且将动画事件编码到故事模型中。故事模型将剧本表示为节点的序列,并且每个节点表示一个或多个动画事件,诸如对话(语音节点)、角色动作或动画(动作节点)、非语音音频(音效节点)、转换到预定义的相机角度/位置(相机节点)、场景改变(场景节点)、即兴表演(即兴表演节点)等。在一些实施例中,故事模型是有向无环图(DAG),其反映具有有向边的节点之间的时间关系。如此,故事模型可以提供灵活的数据结构,其捕捉剧本中不同动画事件之间的关系。如下面所解释的,该结构支持生成具有多个角色的复杂动画和层叠动画,在层叠动画中多个动画事件同时发生(例如,一个角色在另一角色说话时发生反应)。
[0033] 在高级别,故事模型的每个节点可以具有关联的所生成的动画事件。在录制和回放模式期间,播放头遍历故事模型并标识故事模型内的(多个)活动节点。录制将所生成的动画事件绑定到每个活动节点。例如,可以将录制的表演转换为录制的音频(用于语音节点)或动画(用于动作节点)。对于触发预先创作的动画循环的节点(诸如场景节点、声音效果节点和动作节点),录制可以简单地指定应当发生对应的动画事件的指定时间。在节点上录制可以用新录制的表演替换针对该节点的现有的录制,或将该表演存储为新版本。当播放头推进通过故事模型时,回放播放针对活动节点的任何录制的内容。在回放期间,当播放头遍历故事模型时,触发针对每个活动节点的录制的内容,可以为未录制的节点合成语音和非语音事件(例如,声音效果、动作等),并且可以跳过要求显式用户表演的未录制的节点。通常,回放和录制可以分离地进行或同时进行。
[0034] 在一些实施例中,提词器界面可以通过呈现和推进剧本以跟随表演来指导表演者。为了实现这一点,可以转录声音表演并与剧本对准,并且可以向表演者突出显示、选择或以其他方式指示剧本的对应的部分。附加地或备选地,可以在舞台视图中呈现对应的动画事件和/或与表演相对应的组装的电影的一部分的实时预览,以向表演者提供反馈和上下文。
[0035] 为了便于录制和回放,命令界面可以接受各种输入命令,其允许表演者通过控制录制和回放的各种方面来充当导演。命令可以是语音命令、通过诸如键盘或触摸屏的物理界面接收的命令或以其他方式接收的命令。为了支持语音命令,可以将转录的文本与故事模型中的一个或多个语音节点(例如,活动节点)进行比较,以标识是以及不是剧本化的对话的一部分的语音。可以应用各种类型的对准技术,包括通过将一个或多个转录的单词与剧本化的对话中的一个或多个单词进行匹配。可以使用模糊匹配来解决错误(例如,在表演、转录等方面)。附加地或备选地,模糊匹配可以被用来促进例如带有可配置的容差量的即兴表演。被确定为剧本化的对话的一部分(在容差内)的转录语音可以被用作推进播放头的指示。否则,可以对转录的语音进行解析以从转录的语音中标识命令。
[0036] 当转录的语音与已知的命令匹配时,检测到命令。可以停止播放头并将其重新定位到与检测到的命令相对应的节点。另外,如下面更详细地解释的,根据检测到的命令,可以将故事模型中的每个节点的状态设置为播放或录制。在是否录制和/或回放对应的节点的录制和/或回放期间,每个节点的状态可以用作指示器。以这种方式,命令界面允许表演者导航故事模型(并因此导航剧本)以协调之前不可用的复杂的制作功能。例如,表演者现在可以发出命令(例如,语音命令),重新拍摄剧本化的对话的表演、乱序录制角色动作,以及将动画层叠在之前录制的内容上。在这些场景中,该命令不仅可以被用来开始和停止录制,而且该命令还可以被用来自动重新定位播放头并设置针对故事模型中的对应的节点的状态以便于重新录制。通过允许用户通过发出单个命令来控制多个动画制作功能,该当前命令界面提高了表演者可以与动画制作系统交互的效率。以下更详细地解释了该示例和其他示例。
[0037] 在示例实施例中,为了开始录制表演,表演者(或其他用户)可以发出指定的语音命令(例如,“开始录制”)以触发录制。随着表演的推进,提词器界面突出显示与剧本(和/或故事模型)匹配的录制和转录的单词,而舞台界面同时显示与表演相对应的角色动画的实时预览。通过非限制性示例,表演可以包括声音表演、身体动作、面部表情,它们的某种组合等。在这方面,如果表演者在做出挥动姿势时说“你好”,则舞台界面将在作出对应的挥动姿势时显示对应的动画角色说“你好”。
[0038] 继续上述示例实施例,表演者可以通过发出一个或多个指定的语音命令(例如,“剪辑”和“让我们再试一次那个”)、姿势命令(例如,在停止姿势中举手或捂住嘴巴)或其某种组合(例如,举手以消除对话中的命令,并说“剪辑”)而发出命令以重新拍摄对话的一个或多个台词。例如,“剪辑”命令可以停止录制。“让我们再试一次那个”命令可以将播放头定位在该故事模型中(例如,定位到活动语音节点的开始、先前语音节点、由检测到的语音命令标识的语音节点等)。另外,该命令可以为对应的节点设置适当的状态(例如,通过将指定的语音节点设置为录制)、将提词器界面重置为剧本内的活动对话的台词的开始(例如,对应于指定的语音),以及倒回舞台界面以呈现在重置状态下的对应的场景和(多个)角色。在一些实施例中,“让我们再试一次那个”命令还可以触发在指定的活动语音节点处的重新录制。备选地,可能需要分离的“动作”命令才能再次开始录制。在一些实施例中,在重新表演指定的语音节点之后将继续录制。在一些实施例中,在重新表演对话的一部分之后,表演者必须发出命令以继续录制(例如,“继续录制”)。附加地或备选地,可以在录制期间的任何时间发出命令(例如,“重放”)以重放录制的表演。本文所描述的这些和其他命令仅仅作为示例,并且可以实施任何其他合适的命令,无论是使用语音界面、物理界面、某种组合还是以其他方式接收。
[0039] 在一些实施例中,不同的表演者可以录制包含多于一个角色的剧本的不同部分,并且不同角色的对应的录制可以被自动组装到一个动画电影中。这种协作录制可以是同步的或异步的。对于异步情况,可以呈现之前录制的第一角色的表演,以便提供用于录制第二角色(无论是由相同表演者还是其他表演者)的表演的上下文。在任何场景中,可以自动层叠针对多个角色(以及针对角色的对应的动画)的录制以组合动画电影(例如,实时)。
[0040] 在示例实施例中,表演者可以指定录制应当仅应用于指定的角色。当表演者演出针对角色的剧本时,可以生成对应的动画事件,例如,通过录制表演、从表演(例如,角色动作)生成动画,或以其他方式合成动画效果(例如,相机效果、声音效果等)。所生成的动画事件可以与故事模型中的对应的节点相关联,并且可以从所生成的动画事件组装动画电影。在表演之后,表演者可以发出停止录制的命令(例如,“结束录制”),并且可以针对任何数目的附加角色重复该过程。在录制最后一次表演之后(或在最后一次表演期间),可以将表演和关联的动画事件中的每个进行层叠并组装到完整的动画电影中,并且可以发布动画电影。附加地或备选地,可以生成故事模型的结构化时间线表示,例如,以便于在传统的动画编辑环境中的进一步编辑和改善。在该后一示例中,录制的表演可以被自动时间对准并在时间线中呈现或以其他方式标识。
[0041] 这样,使用本文所描述的实施方式,动画师、表演者或其他用户可以有效率地且有效地起草、表演和/或制作动画电影。例如,端到端动画制作系统可以集成对动画故事进行剧本创作、表演和/或编辑。可以使用标记语言来起草剧本,该标记语言指示动画事件(例如,角色动作)相对于对话何时发生,并且可以在剧本的表演期间触发动画事件。为了便于通过表演对应的剧本化的对话来触发剧本化的动画事件,可以对剧本进行解析以标识动画事件,并且将动画事件编码到故事模型中(例如,DAG)。在录制和播放模式期间,播放头遍历故事模型并回放、录制或生成针对由播放头指定的活动节点的内容。在一些实施例中,提词器界面可以通过呈现和推进剧本以跟随表演来指导表演者,同时在舞台视图中呈现实时预览。
[0042] 为了便于录制和回放,命令界面可以接受各种输入命令,这允许表演者通过控制录制和回放的各个方面来充当导演。为了支持语音命令,可以将转录的文本与故事模型中的一个或多个语音节点(例如,活动节点)进行比较,以标识不是剧本化的对话的一部分的语音,并且还可以对转录的文本进行解析以标识和执行对应的命令。命令界面允许表演者导航故事模型和剧本以协调之前不可用的复杂制作功能。通过允许用户通过发出单个命令来控制多个动画制作功能,该当前命令界面提高了表演者能够与动画制作系统交互的效率。
[0043] 利用端到端动画制作系统可以通过无缝地集成传统的动画制作工作流程的各种步骤来辅助动画师、表演者和其他用户。例如,表演期间发生的即兴表演可以被转录并用来自动更新剧本和/或故事模型,而无需重新录制或重新组装动画电影。结果,本文所描述的技术有效地缩短了常规的动画制作工作流程中的一些步骤,提高了动画制作的效率。
[0044] 已经简要描述了本发明的各方面的概述,提供了贯穿本说明书所使用的各种术语。尽管在整个说明书中提供了关于各种术语的更多细节,但是下面包括一些术语的一般描述以提供对本文所公开的构思的更清楚的理解。
[0045] 表演动画-表演动画通常指示从演员表演中自动创建角色动画的过程。表演动画通过捕捉和处理人体几何、外观、表情和动作,为计算机图形中的对象赋予生命。通过非限制性示例,如果表演包括用户在做出挥动姿势时说“你好”,则可以捕捉表演的音频和身体动作并用来生成在做出挥动姿势时说“你好”的动画角色。
[0046] 动画事件-动画事件是针对角色、布景、相机,声音等的任何类型的屏幕上行为。例如,针对角色的动画事件可以包括口语对话和角色动作。针对相机的动画事件可以包括对各种相机角度和/或位置的改变或转换。针对布景的动画事件可以包括场景变化、辅助动画等。可以通过录制表演(例如,录制的音频)、从录制的内容生成动画(例如,从录制的声音表演生成的唇形同步、面部表情或从录制的动作表演生成的其他动作等),和/或以其他方式合成动画或其他效果(例如,来自剧本的合成的音频、使用预定义动画的合成的动作、合成的相机效果、合成的布景变化、合成的声音效果等)来生成动画事件。
[0047] 故事模型-故事模型通常指示作为节点的序列的剧本的表示。故事模型的节点可以表示一个或多个动画事件,诸如对话(语音节点)、角色动作或动画(动作节点)、非语音音频(声音效果节点)、到预定义相机角度/位置的转换(相机节点)、场景改变(场景节点)、即兴表演(即兴表演节点)等。故事模型的节点以反映动画事件之间的时间关系的方式相互关联。在一些实施例中,故事模型是用有向边反映节点之间的时间关系的有向无环图(DAG)。以这种方式,故事模型将对话、角色动作、场景改变和其他动画事件编码到逻辑表示中。
[0048] 提词器界面-提词器界面通常指示图形用户界面的一部分,诸如呈现来自剧本的对话的显示窗口。在表演期间,提词器界面可以通过在用户说话时推进对话、光标和/或另一指示器来指导用户。例如,在一些实施例中,当用户表演时,交互式提词器界面(和/或支持组件)可以检测口语单词,匹配正在被读的剧本中的对应的单词,并且实时地在提词器界面上突出显示匹配的单词。
[0049] 舞台界面-舞台界面通常指示图形用户界面的一部分,其在实时表演期间呈现动画电影的实时预览。例如,在一些实施例中,当表演者演出角色时,动画电影的对应的部分(包括对应于表演的角色动画)可以从表演中被实时合成并在舞台界面上被呈现为实时预览。
[0050] 协作动画-协作动画通常指示动画制作的类型,其中包含多个角色的剧本的不同部分由一个或多个用户分离地录制,并且然后将其编译成单个动画电影。
[0051] 异步动画-异步动画通常指示协作动画制作的类型,其中在表演和录制第二角色的动作的同时播放第一角色的(多个)之前录制。以这种方式,异步动画可以被用来为第二角色的录制提供上下文。
[0052] 示例动画制作环境
[0053] 现在参考图1,其示出了适用于实施本发明的实施例的示例动画制作环境。通常,动画制作环境100适合于起草、表演和编辑动画电影。环境100包括动画制作系统128,其可以在能够有助于动画制作的一个或多个计算设备(诸如计算设备900,如下面参考图9所描述的)上被实施。在实施例中,计算设备可以是个人计算机(PC)、膝上型计算机、工作站、服务器计算机、移动计算设备、PDA、蜂窝电话等。
[0054] 如图所示,动画制作系统128包括剧本起草界面134、剧本解析器102、语音到文本引擎116、表演捕捉引擎118、故事控制器104和动画引擎106。这些组件中的任何一个或全部,或其一些部分可以被合并或集成到被配置成在计算设备上执行的应用或应用的附件或插件。该应用通常可以是能够有助于动画制作的任何应用。应用可以是独立应用、移动应用、网络应用等。在一些实施方式中,(多个)应用包括可以在网络浏览器中运行,并且可以至少部分地在服务器端被托管的网络应用。另外地或相反地,(多个)应用可以包括专用应用。在一些情况下,应用可以被集成到操作系统中(例如,作为服务)。可以被用于动画制作的一个示例性应用是 的角色动画师。在一些实施例中,环境100的一个或多个组件或其一些部分可以附加地或备选地被集成到操作系统(例如,作为服务)或服务器(例如,远程服务器)中。在本公开中预期了这些和其他变型。
[0055] 在高级别,动画制作系统128可以提供剧本起草界面134以便于输入或标识包括指示对应的动画事件132的对话和标记的剧本。剧本解析器102对剧本进行解析以标识对话和对应的动画事件,并且将它们编码到故事模型110中。在剧本的各种部分的表演期间,语音122和动作表演124由语音到文本引擎116和表演捕捉引擎118捕捉,并且动画引擎106生成对应的动画事件。故事控制器104管理故事模型110的当前状态、协调动画事件的生成,并将所生成的动画事件绑定到故事模型110的指定节点。动画引擎106在指定时间(例如,当表演发生时实时地)将与故事模型110的节点相关联的所生成的动画事件组装到动画电影126中。
[0056] 剧本起草界面134提供界面,动画师、作者或其他用户可以利用该界面起草或标识包括对话和对应的动画事件132的剧本。常规的电源剧本(screenplay)标记语言被用来传达和格式化对话,但不用于动画制作的其他方面。例如,电源剧本通常不提供用于相机定位的指令或详细的动画指令。相比之下,在一些实施例中,剧本编写标记语言可以被用来指示动画事件。在一些实施例中,可以扩展现有的剧本编写标记语言,例如,通过将动画事件嵌入注释或剧本语言的一些其他合适结构中。通过将动画事件嵌入到现有的剧本起草标记语言内的评论内,动画制作系统128可以支持指示动画事件的剧本,同时与现有的剧本编辑软件后向兼容。
[0057] 此外,动画工作流程中的每个职业(例如,导演、电影摄影师、动画师等)通常具有其自己的用于描述输入(例如,每个职业接收和需要处理的产品)和传达输出(向他人展示的中间产品)的标准化格式。这些输入和输出可以包括故事板、动画(粗略绘制的动画)、曝光表(帧级的动画单元的细节)、预可视化(相机动作模拟)、采编乐曲(临时乐谱)等。使用剧本编写标记语言来指示动画事件提供了更通用的格式,以用于在动画制作工作流程中跨不同职业传达信息,从而消除了许多不必要的格式转换。如此,与现有的技术相比,动画制作工作流程的效率得到改进。
[0058] 在一些实施例中,可以扩展诸如 的剧本编写标记语言,以通过在评论内嵌入动画事件来支持动画事件。通常,剧本编写标记语言可以包括用于角色对话和场景改变的定义结构,并且可以被配置成自动应用标准化格式(例如,大写、间隔、缩进、突出显示等)。例如,对话可以由居中和大写的角色名称表示,跟随有表示对话的缩进的文本行。场景改变可以以所有大写字母、未缩进来指示,并且形式为:“外部.作家的商店-白天”指示白天在作家商店的外部(室外)场景。可以在评论中标识其他动画事件。例如,FOUNTAIN解析器将双括号语法视为评论,因此双括号语法可以被用来在扩展FOUNTAIN的实施例中标识动画事件。
[0059] 在一些实施例中,三部分语法可以被用来标识动画事件。在一个示例格式中,可以使用语法“类型:角色-行动”(例如,[[类型:角色-行动]]),其中类型指示要触发的事件的种类(例如,“动作”用于动画、“相机”用于相机改变,且“声音”用于声音效果),并且角色和行动指定对触发器的参数。例如,“[[动作:威尔克-咆哮]]”可以指示威尔克角色应当表演咆哮动画(其可以被预定义和/或被存储在可访问的库中)。在一些实施例中,一个或多个参数可以被用来指示针对动画事件的开始时间、停止时间、持续时间和/或延迟。该语法仅用作示例,并且可以实施任何其他合适的语法。
[0060] 在一些实施例中,可以使用剧本起草界面134简单地上传或以其他方式访问现有的剧本。另外,剧本起草界面134可以包括便于起草剧本的原始文本编辑器。附加地或备选地,剧本起草界面134可以具有更高级的功能以帮助起草剧本,例如,以帮助标识和选择可用的动画事件。例如,在一些实施例中,剧本起草界面134可以包括被配置成自动生成适当的动画事件语法的编程界面。例如,剧本起草界面134可以接受选择或以其他方式标识角色的输入(例如,通过键入角色名称、从下拉菜单或角色的面板中选择角色等)。编程界面可以访问对该角色可用的动画事件列表(例如,动作/行动、相机效果、声音效果、场景转换等)。例如,编程界面可以访问角色和可用的动画事件的库。可以呈现一个或多个动画事件的描述或预览,并且可以以任何合适的方式(指定按钮按压、鼠标点击界面的指定部分等)选择动画事件。编程界面可以被配置成自动生成语法以指定所选择的动画事件。在一些实施例中,编程界面可以包括用于检查语法错误的编译器。如此,编程界面可以被用来利用可用的动画事件来起草剧本。
[0061] 剧本解析器102(在下面更详细地被解释)对剧本进行解析以从剧本标识对话和对应的动画事件,并且对话和对应的动画事件被编码到故事模型(例如,故事模型110)的节点中。故事模型110表示使用反映动画事件之间的时间关系的节点构成剧本的对话的序列和对应的动画事件。节点可以被附加到剧本中的特定单词,以便表演可以与剧本对准并且被用来触发与活动节点相对应的动画事件。在一些实施例中,故事模型被构造为利用有向边来反映节点之间的时间关系的有向无环图(DAG)。例如,除了其他类型之外,可以生成用于对话、动作、相机效果、声音效果、场景转换、场景改变、对照明的改变等的节点。有向边可以表示动画事件之间的时间关系。例如,将由对应的表演触发的动画事件可以与节点相关联,而在对应的表演之后将被触发的动画事件可以与边相关联。在一些实施例中,例如,可以使用相关联的参数、特性、标志等将开始时间、停止时间、持续时间和/或延迟与动画事件相关联。如下面所解释的,每个节点可以具有可配置的状态(例如,播放与录制)。
[0062] 故事模型110可以支持动画事件重叠的剧本。例如,当第一角色说话时,他可能会用手做姿势或来回踱步。同时,场景中的其他角色可以通过改变他们的面部表情来做出反应。故事模型110可以利用共享公共父节点的节点表示这些重叠的动画事件,指示对应的(即,平行的)动画事件应当在由父节点表示的动画事件之后发生。在这方面,故事模型110的结构可以类似于鱼骨,其中父节点链(例如,语音节点)形成中央脊柱,其他节点(例如,动作节点、声音效果节点、场景节点等)分叉(例如,参见图2b和图3a-图3d)。如此,任何数目的节点配置都是可能的。通过非限制性示例,一些语音节点可以具有一个或多个关联的动作节点(例如,唇形同步、面部表情等),而其他语音节点可以不具有关联的动作节点(例如,叙述者语音)。类似地,动作节点可以与若干语音节点重叠。
[0063] 在一些实施例中,故事模型110被构造为DAG。如下面更详细解释的,故事模型110可以被用来生成时间线表示,并且DAG有助于在故事模型110和时间线之间来回有效的通信。然而,其他结构或变型是可能的。例如,重复动画事件可以被表示为单个节点,而不是循环。例如,可以通过将子节点被配置成触发多个输入而不是触发单个父节点来实施条件动画事件。可以在本公开内实施这些和其他变型。
[0064] 故事模型110可以支持用于各种类型的动画事件的节点,诸如对话(语音节点)、角色动作或动画(动作节点)、非语音音频(声音效果节点)、到预定义的相机角度/位置的转换(相机节点)、场景变化(场景节点)、即兴表演(即兴表演节点)等。
[0065] 语音节点表示剧本中的一个或多个台词,并且可以与特定角色或叙述者相关联。可以表演针对特定语音节点的音频(例如,语音122)并将其与节点相关联,或者合成(文本到语音合成)特定语音节点的音频(例如,语音122)并将其与节点相关联。可以实施任何合适的文本到语音合成技术,诸如 的文本到语音API、使用音频信号或以其他
方式来执行对准的强制对准语音识别器。
[0066] 动作节点表示角色的动画。可以表演动画本身(例如,动作表演124)或者从预定义的动作库生成动画本身。可以实施任何合适的技术以生成动作。例如, 的角色动画师可以被用来通过从声音表演生成自动唇形同步、从面部表演生成头部动作和表情改变,以及为给定角色生成可触发的、预先创作的动画循环来生成动作。任何或所有的语音节点可以具有关联的动作节点(例如,唇形同步)或者可以不具有关联的动作节点(例如,叙述者语音),并且动作节点可以与多个语音节点重叠。
[0067] 声音效果节点表示可以增强整体动画体验的非语音音频事件(例如,下雨或打雷的声音)。声音效果节点可以触发相关联的预先录制的音频文件。场景节点表示剧本中的场景改变。这些节点可以触发对“布景”(例如,背景艺术品)的改变,并且可以指示何时角色应当出现在给定场景中。相机节点表示到预定义的相机角度/位置的转换,并且可以指示任何类型的相机移动,例如变焦、平移、倾斜、小车、卡车、基座、机架调焦等。即兴表演节点表示表演者可以即兴表演的剧本的一部分。如下面更详细地解释的,即兴表演节点可以被用来向故事控制器104指示应当录制特定表演(例如,语音122和/或动作表演124)并将其与节点相关联,尽管未与剧本对准。例如,用于即兴表演的剧本标记可以指示允许模糊对准、允许更多模糊对准、允许未对准等。可以在本公开内实施这些和其他类型的节点。
[0068] 为了生成故事模型110,剧本解析器102对剧本进行解析以标识动画事件,并将动画事件编码到故事模型110的节点中。更具体地,剧本解析器102可以从剧本的台词构建语音节点的线性序列。在一些实施例中,在每个解析的台词内,可以为连续动画标记之间的每个连续的单词的序列生成语音节点。剧本解析器102可以利用有向边将相邻节点连接。对于每个语音节点,可以根据对应的角色的能力自动生成动作节点。例如,许多角色支持唇形同步特征,有些角色被操纵以支持头部/面部动画,而叙述者可能不支持任何动作。如果角色支持这些动画中的一个或多个,则剧本解析器102可以自动生成对应的动作节点。对于剧本内包含的每个动画标记,剧本解析器102生成例如具有源自前一个节点(例如,前一个语音节点)的有向边的对应的节点。在图1中所图示的实施例中,剧本解析器102生成节点114A到114J以编码故事模型110。
[0069] 图2a和图2b图示了指示各种动画事件和对应的示例故事模型210的示例剧本200。在图2a中,剧本200包括场景信息202、角色标题204和205、对话206a、208a和210a,以及动画标记212a、214a和216a。可以对剧本200进行解析(例如,使用图1的剧本解析器102)以标识对应于场景信息202、对话206a、208a和210a以及动画标记212a、214a和216a的动画事件,并且所标识的动画事件可以被用来编码故事模型210。更具体地,角色标题204和205被标识并用来指示说话的角色,并且对话206a、208a和210a被标识并用来为所标识的角色生成对应的语音节点206b、208b和210b。场景信息202被标识并用来生成场景节点202b。动画标记
212a、214a和216a被标识并用来生成对应的动作节点212b、214b和216b。在图2a和图2b所图示的实施例中,自动生成动作节点220、221和222以触发针对对应的语音节点206b、208b和
210b的唇形同步动画。
[0070] 故事模型210包括将每个节点连接到先前的父节点的箭头。在一些实施例中,可以基于父节点(例如,基于对应于该父节点的先前的动画事件的开始或完成、基于在相对于先前动画事件的某个指定时间等)同时触发被连接到公共父节点的每个节点(例如,节点202b、206b、212b和220)。例如,故事模型210的开始回放可以触发与节点202b、206b、212b和
220中的每个相关联的动画事件以进行回放。在另一示例中,引入机器人埃文斯的珍妮的台词(语音节点208b)是针对埃文斯走入场景的动画(动作节点216b)的父节点,其可以由珍妮的台词“这是埃文斯”(语音节点208b)触发。
[0071] 现在回到图1,故事控制器104基于实时语音和动作表演输入(例如,语音122和动作表演124)协调动画电影的录制和回放。通常,语音122可以包括口语语言,而动作表演124可以包括面部表情、肢体动作、躯干动作、姿势等。在回放期间,故事控制器104监听以输入命令。在录制期间,故事控制器104监听对话(例如,通过录制语音122的音频)并监听输入命令(例如,导演交互)。可以通过命令界面(例如,语音122、语音到文本引擎116、动作表演124、表演捕捉引擎118、命令解析器108、文本对准器112、一些其他接口组件或其一些组合)来检测输入命令。尽管本文关于基于语音的输入命令描述了实施例,但是可以实施任何类型的命令的变型或组合(例如,通过诸如触摸屏、鼠标、操纵杆、控制器等的物理接口接收的输入命令、从诸如相机或IR传感器的光学输入检测的输入命令、使用诸如加速度计或陀螺仪的动作或定向传感器检测的输入命令、它们的某种组合等)。
[0072] 在一些实施例中,故事控制器104在录制模式期间区分语音122中的基于语音的输入命令和语音表演。例如,语音到文本引擎116可以实时地将基于语音的输入(例如,语音122)转录成文本,而表演捕捉引擎118将动作表演124实时地映射到对应的角色动画中。在一些实施例中,可以使用可以馈送的实时相机来录制面部表演,并且可以使用麦克风来录制语音。故事控制器104尝试将基于语音的输入(例如,转录的语音)与剧本对准。如果检测到未对准(例如,指示动画师可能说了不在剧本中的内容),则可以分析基于语音的输入以标识基于语音的命令(例如,“停止录制”)。这样,故事控制器104可以区分基于语音的输入命令和表演,以便控制录制和回放。
[0073] 在图1所图示的实施例中,故事控制器104包括命令解析器108、文本对准器112和播放头130。播放头130标识故事模型110内的(多个)当前活动节点。在录制或回放模式期间,播放头130推进通过故事模型110。在回放期间,播放头130可以以常规速度推进通过故事模型110。在录制期间,当转录的语音指示先前语音节点已经被完成,或指示后续语音节点已经开始,或以其他方式做出指示时,播放头130可以以常规速度从一组平行节点推进到下一组平行节点。在一个示例中,随着表演者读出剧本,播放头130可以推进通过故事模型中的语音节点,并且故事控制器104录制音频并将音频与对应的语音节点相关联。另外,可以触发与由播放头130标识的任何活动节点相关联的动画事件。用于触发的计时和/或相关联的动画事件可以取决于与关联节点相关联的参数、特性、标志等(例如,开始时间、停止时间、持续时间、延迟、播放与录制状态等)。
[0074] 例如,是录制还是简单回放活动节点可以取决于节点的状态,并且可以由对应的参数、特性或标志来反映。如果指定节点进行录制,则对节点进行录制可以利用新表演的录制内容替换现有的录制内容,或者将该表演保存为新版本。对于处于录制状态的每个活动语音节点和动作节点,故事控制器104和/或动画引擎106将表演转换为录制的音频(对于语音节点)或对应的动画(对于动作节点)。对于触发预先创作的动画循环的场景节点、声音效果节点和动作节点,录制可以简单地指定应当发生对应的动画事件的时间。另一方面,如果指定节点进行回放,则可以回放之前的录制、自动生成的动作或合成的音频。如果对于节点没有之前的内容,则可以由动画引擎106例如实时地生成或以其他方式合成内容。对于处于播放状态的每个活动节点,每个节点在由故事模型110指示的时间播放其录制的内容。对于未录制的语音节点,回放可以涉及动画引擎106合成语音。可以跳过需要显式用户表演的未录制的动作节点。当节点完成播放或录制时,故事控制器104将播放头130移动到下一节点。
[0075] 当动画制作系统128进入录制模式时,所接收的语音122可能是声音表演。这样,文本对准器112可以执行转录语音(从语音到文本引擎116)和与正在被录制的活动语音节点相关联的剧本段之间的文本对准。可以实施用于将转录的语音与剧本对准的任何技术。在一些实施例中,文本对准器112尝试将一个或多个转录的单词与剧本中的一个或多个单词匹配。在一个示例中,文本对准器112尝试按顺序将每个转录的单词单独匹配到剧本。可以使用模糊匹配以便解决错误(例如,在表演、转录等中的错误)。模糊匹配可以利用可配置的容差的量,并且可以包括默认值。使用模糊匹配,文本对准器112可以确保即使语音识别系统(例如,语音到文本引擎116)出错,动画制作系统128也将正常工作,并且可以支持表演者的即兴表演。在后一种情况下,在表演期间发生的即兴表演(无论是由即兴表演节点、即兴表演命令输入、检测到的即兴表演还是以其他方式触发)可以被转录并用来自动更新剧本和/或故事模型。
[0076] 为了在表演期间给表演者提供实时反馈,动画制作系统128可以通过突出显示、选择或以其他方式指示由文本对准器112成功匹配的单词来显示和更新提词器界面(诸如图4的提词器界面402)。当文本对准器112匹配语音节点中的最后的一个或多个单词时,故事控制器104遍历故事模型110并自动将播放头130移动到下一组节点。如果文本对准器112检测到未对准(例如,在模糊匹配容差之外),则故事控制器104可以停止录制表演并将控制分配给命令解析器108。
[0077] 如上面所解释的,在一些实施例中,动画制作系统128可以支持声音和动作表演交互,以及非对话语音命令(例如,远程指示)。可以实施任何类型的命令,包括启动、暂停、重放、重新表演和结束表演录制的命令。在这方面,命令解析器108可以尝试将转录的语音与一组预定义的命令进行匹配。命令模板查找可以被用来定义一组命令短语并将其与对应的预期功能(例如,播放、录制、重新拍摄、层叠、停止等)相关联。命令短语可以包含在解析期间针对由命令解析器108标记和/或替换的某些单词的占位符标记和/或占位符值。例如,针对特定台词的重新拍摄命令模板可以是:“让我们重做台词[‘台词号’,‘四’]”。这里,“台词号”是标签,并且“四”是占位符文本。在表演期间,用户可以发出命令“让我们重做台词二”。在解析时,“二”被标记为台词号,并且可以被用来执行“重新拍摄”功能(例如,通过将播放头130导航到对应于台词二的语音节点)。这样,执行命令不仅可以涉及录制和回放功能,还可以涉及导航剧本(和/或故事模型110)。示例导航命令可以包括:“转到[角色]说[对话]的那里”、“让我们重做最后一句台词”、“让我们重做台词[台词号]”、“让我们对台词[台词号]的[角色]进行层叠”、“从头开始播放”等。示例录制模式命令可以包括:“开始录制”、“停止录制”、“让我们录制[角色名称]”、“剪辑”等。
[0078] 在一些实施例中,动画制作系统128可以推断针对命令的上下文。例如,如果用户在录制台词二时发出命令“重新拍摄”或命令“让我们再试一次那个”而没有指定重新拍摄哪一句台词,则可以推断出台词二。在该示例中,播放头130移回到台词二的开始,并且与该节点相关联的所有动画事件被设置为录制以便重新录制台词二。这样,执行命令可能涉及控制录制和回放、导航剧本(和/或故事模型110),和/或设置与节点相关联的状态或其他参数、特性、标志等。
[0079] 当转录的语音与预定义的命令匹配时,故事控制器104更新播放头130,并且可以根据命令将每个节点的状态设置为播放或录制。如果转录的语音与剧本或预定义的命令不匹配,则可以向表演者显示错误消息。
[0080] 在回放期间(其可以但不需要与录制同时发生),对于由播放头130标识的每个活动节点,动画引擎106通过组装针对每个角色的录制的表演、通过生成和/或合成用于未录制节点的动画事件(例如,基于语音122和/或动作表演124),和/或通过跳过需要显式表演的未录制节点来生成动画电影。动画引擎106可以自动将面部表演映射到头部动作和表情改变,并且可以将语音输入转换到唇形同步(即,嘴部动作)中。在一些实施例中,动画引擎106可以触发针对任何角色的预先创作的动画循环。故事控制器104可以基于播放头130的位置和/或与活动节点相关联的任何参数、特性、标志等,向动画引擎106通知哪些动画事件将在哪些时间触发。另外,由于播放头130的位置可以基于通过剧本的声音表演的进度而推进,因此动画引擎106可以基于声音表演的内容来触发动画事件,而不是通过像过去那样的低级的手动编辑和后期处理步骤。尽管本文关于动画电影描述了技术,但是可以支持其他类型的多媒体。例如,提供演示的演示者可以使用本技术以在说话时触发动画。预期了这些和其他变型。
[0081] 在一些实施例中,例如,在表演或回放期间,动画引擎106可以组装动画电影并将动画电影呈现为实时动画预览。实时预览可以为表演者提供有价值的反馈,这些反馈可以改进最终的表演并减少获得期望结果所需的拍摄的次数。
[0082] 附加于或备选于组装动画电影,动画引擎106可以从故事模型110生成传统的动画时间线。更具体地,动画时间线可以包括用于不同角色的多个轨和对应于每个录制的表演或生成/合成的动画事件的段。这样,故事模型110可以被视为剧本(例如,在提词器界面中)或者被视为动画时间线。可以呈现动画时间线以便于编辑来改善动画电影。在一些实施例中,对动画时间线的编辑可以流回到故事模型110和/或原始剧本中。例如,在“重放”故事模型时,或者某个其他时间,可以在添加新节点或者删除或去激活预先存在的节点时(例如,在编辑时)触发编辑。通过重放故事模型,可以在没有与删除/去激活的节点相对应的动画事件的情况下,自动重新渲染更新的动画电影。这样,即使在录制已经开始后,剧本本身也可以改变。
[0083] 附加于或备选于由对应的动画时间线中的编辑导致的剧本改变,剧本起草界面134可以被用来在录制已经开始之后对剧本进行编辑。如果改变导致需要表演的新节点,则表演者可以录制它们。如果从剧本中删除了台词或事件,则还可以从故事模型中删除(多个)对应的节点。通过重放故事模型,可以重新渲染新的动画电影。附加地或备选地,可以转录在表演期间发生的即兴表演并且将其用来自动更新剧本和/或故事模型。当在录制时发生即兴表演时,可能自动发生录制表演和组装动画电影,因此可能无需重新录制或重新组装动画电影。
[0084] 现在参考图3a至图3d,示出了图示与各种动画命令相对应的不同故事模型状态的示例图。可以基于录制模式(例如,单个角色录制、重新拍摄、层叠表演等),将图3a至图3d中所描绘的节点中的每个节点设置为录制(“R”)或播放(“P”)(或跳过)。随着播放头沿着故事模型移动,对于被设置为录制的节点,对应的表演被捕捉。被设置为播放的节点(例如,预先录制的语音和动作表演、计时动画、声音、场景改变等)由动画制作系统“表演”。在图3a至图3d的每个图中,中心节点表示语音节点(例如,图3a中的节点308、314和318),其上方的节点是对应于唇形同步的动作节点(例如,图3a中的节点306、312和316),并且其下方的节点是对应于头部动作的动作节点(例如,图3a中的节点310)。该选择仅作为示例被呈现。应当理解,其他节点和其他类型的节点(例如,场景节点、即兴表演节点、相机节点等)可以附加地或备选地被包括在图3a至图3d中的每一个中。
[0085] 图3a图示了基本录制状态下的故事模型300A。故事模型300A包括语音节点308、314和318,唇形同步动作节点306、312和316,和头部动作节点310。播放头304最初被定位在故事模型300A的起始位置(例如,最左侧位置)。气泡302指示接收的输入命令“开始录制”。
在该场景中,针对故事模型300A中的节点中的每个节点的状态例如默认地被设置和/或在前设置为录制(状态R)。在检测到命令时,播放头304从节点到节点地移动(例如,从左到右)并录制关联的表演。更具体地,珍妮的台词由虚线(例如,语音节点308和304)指示,而埃文斯的台词由点虚线(例如,语音节点318)指示。利用从父节点引出的箭头描绘故事模型300A中的每个节点,因此可以从相同的父节点触发平行节点的列。随着播放头304移动,同时录制平行节点的列。在一个示例实施例中,在珍妮完成表演对应于语音节点314的对话之后,埃文斯可以开始录制他的对应于语音节点318的对话,并且对应的唇形同步动作节点316将触发唇形同步以匹配埃文斯的声音表演。在这方面,可以录制表演并且可以触发动画事件,而不管哪个角色正在表演。
[0086] 图3b图示了单个角色录制状态下的故事模型300B。故事模型300B包括语音节点326、332和336,唇形同步动作节点324、330和334和头部动作节点328。播放头322最初被定位在故事模型300B的起始位置(例如,最左侧位置)处。气泡320指示所接收的输入命令“让我们录制埃文斯”。在检测到命令时,对应于埃文斯角色的节点被设置为录制(R),而其他节点被设置为播放(P)。更具体地,语音节点336(埃文斯的对话)和动作节点334(针对埃文斯的唇形同步)被设置为录制,而其他节点(用于珍妮)被设置为播放。以这种方式,故事模型
300B可以被配置成仅录制指定角色(或多个角色)的表演。当播放头322跨节点移动时,录制与角色埃文斯相关联的节点,同时播放与其他角色相关联的节点(例如,使用之前录制的表演或生成/合成的动画事件)。
[0087] 图3c图示了重新拍摄录制状态下的故事模型300C。故事模型300C包括可以与图3a中所描绘的节点相对应的各种节点。状态338A描绘了当在录制节点318c的表演时,接收到由气泡342指示的命令“剪辑。让我们再试一次那个”,停止录制时的故事模型300C。在图3c中,已经被录制的那些节点用茅草图案标识。更具体地,已经录制了节点308c和314c。在状态338A中,播放头340A(还由条纹图案指示)被定位在节点318c处,即在接收到命令时正在被录制的节点。在接收到命令时,录制停止,播放头340A被重新定位,并且针对故事模型300C的节点的状态被更新为重新拍摄状态338B。通常,“剪辑”命令可以将播放头重新定位回正在被说出的对话的当前台词(例如,节点318c)或前一句台词(例如,节点314c)。在图3c所图示的示例中,在重新拍摄状态338B中,播放头340B已经从节点318c被重新定位到节点
314c(前一句台词),并且删除了针对节点312c和节点314c的录制。在一些实施例中,可以保存它们而不是删除旧录制。检测到重新拍摄命令(例如,“让我们再试一次那个”)可以使录制从播放头340B的更新的位置再次自动开始。保存多次拍摄的实施例可以支持使用最后一次拍摄、使用第一次拍摄等的命令。
[0088] 图3d图示了层叠录制状态下的故事模型300D。故事模型300D包括可以与图3c中所描绘的节点(例如,状态338A)相对应的各种节点。代替如图3中那样接收重新拍摄命令,在图3d中接收层叠命令。更具体地,气泡344指示接收到的输入命令“让我们把埃文斯层叠在L1上”。在检测到命令时,故事模型300D被配置成通过将状态设置成录制针对应当被录制的节点而将埃文斯的表演层叠在针对台词1(L1)的现有表演上。例如,表演者可能期望在角色珍妮所说的内容上录制针对埃文斯的响应(无论是剧本的还是非剧本的)。在这方面,在播放角色珍妮的台词(例如,对应于节点348)的同时,录制作为对珍妮表演的反应的针对埃文斯的表演(例如,对应于节点346)。这样,当层叠表演时,可以同时发生回放和录制。
[0089] 现在转向图4,示出了示例图形用户界面400,其包括提词器界面和用于录制和制作基于表演的动画电影的舞台界面。图形用户界面400包括提词器界面402、舞台界面404和行动条406。提词器界面402在用户界面上呈现剧本,可选地包括对应的台词号和/或角色名称。舞台界面404呈现动画电影的实时预览。在回放和/或录制期间,提词器界面402实时地突出显示、选择或以其他方式指示检测到的单词(例如,转录的单词),而舞台界面404同时显示可以被实时组装的动画电影的对应的部分的实时预览。尽管提词器界面402和舞台界面404在图形用户界面400内被图示为并排窗口,但是应当理解,任何其他配置都是可能的。
[0090] 行动条406被配置成向用户提供针对基于语音的命令交互的提示。例如,行动条406可以显示提示(例如,“说‘预览动画’或‘开始录制’”)以通知用户各种命令,当命令被叙述时,命令动画制作系统执行对应的命令(例如,预览动画或开始录制)。行动条406还可以被配置成提供各种编辑按钮作为基于语音的命令的备选,例如,以便于从物理接口输入命令以用于录制、停止、重新拍摄和/或播放动画电影等活动。可以实施用于图形界面的任何合适的布局和配置。
[0091] 现在转到图5。图5描绘了使用基于语音的命令来录制和制作基于表演的动画电影的示例用户交互。图5图示了用户502、提词器界面504A-504C、舞台界面506A-506C和气泡508A-508C。用户502首先叙述由提词器界面504A显示的剧本的一部分,更具体地,“...建造机器人。我还喜欢旅行。这是”(气泡508A)。同时,当用户502表演气泡508A中的对话时,舞台界面506A呈现动画电影的对应的部分的实时预览。另外,提词器界面504A突出显示用户512正在读的剧本的部分,并自动将剧本滚动到要表演的下一句台词。
[0092] 在该实施例中,用户502希望从最近的台词重新拍摄表演。在气泡508B处,用户502叙述命令“剪辑…让我们再试一次那个”以重新拍摄表演。当检测到命令时,提词器界面504B停止突出显示剧本内的单词,并且舞台界面506B停止实时预览。另外,提词器界面504C重置回正被说出的台词的开始,并且舞台界面506C将实时预览重置为动画电影的对应的部分。在这方面,当检测到重新拍摄命令时,动画创作系统可以自动移回到最近录制的台词的开始,而不需要用户指定重新拍摄哪一句台词,并且与该台词相关联的故事模型中的所有节点可以被设置成录制该重新拍摄。在气泡508C处,用户502开始录制L1的重新拍摄,读出剧本的对应的部分,并且提词器界面504C和舞台界面506C被自动更新以反映表演的进度。
[0093] 示例性流程图
[0094] 现在参考图6和图7,提供了图示用于生成动画的方法的流程图。方法600的每个框和本文所描述的任何其他方法可以包括使用硬件、固件和/或软件的任何组合执行的计算过程。例如,各种功能可以由执行被存储在存储器中的指令的处理器来执行。方法还可以被实施成被存储在计算机存储介质上的计算机可用指令。方法可以由例如独立应用、服务或托管服务(独立或与另一托管服务组合)或另一产品的插件提供。
[0095] 现在转到图6。图6图示了根据本文所描述的实施例的用于生成动画的方法600。最初在框610处,访问剧本。剧本包括动画事件的指示。在框620处,对剧本进行解析以标识动画事件。在框630处,将动画事件编码到故事模型的节点中。在框640处,推进标识故事模型的活动节点的播放头,并且标识表演的相关联的部分。基于所标识的表演的部分来触发与活动节点相关联的动画事件的生成。在框650处,将所生成的动画事件绑定到对应的活动节点。在框660处,将所生成的动画事件组装到动画电影中。
[0096] 现在转到图7。图7图示了根据本文所描述的实施例的用于生成动画的另一方法700。最初在框710处,在包括动画事件的指示的剧本的表演的第一次拍摄期间,推进标识故事模型的多个节点的活动节点的播放头,捕捉表演的第一次拍摄的第一音频,并且基于表演的第一次拍摄生成第一动画事件。第一动画事件包括非语音事件。在框720处,通过将基于语音的命令与第一次拍摄的第一音频区分开,而在第一次拍摄期间检测基于语音的命令。在框730处,执行基于语音的命令。
[0097] 示例性计算环境
[0098] 图8是可以实践本公开的一个或多个实施例的环境800的图。环境800包括一个或多个用户设备,诸如用户设备802A-802N。用户设备的示例包括但不限于个人计算机(PC)、平板计算机、台式计算机、蜂窝电话、处理单元、这些设备的任何组合或具有一个或多个处理器的任何其他合适的设备。每个用户设备包括由创意装置808支持的至少一个应用。应当理解,以下描述通常可以参考用户设备802A作为示例,并且可以使用任何其他用户设备。
[0099] 用户设备的用户可以经由网络806利用由创意装置808支持的各种产品、应用或服务。用户设备802A-802N可以由各种用户操作。用户的示例包括但不限于使用创意工具来生成、编辑、追踪或管理创意内容的创意专业人士或业余爱好者、广告商、发布者、开发者、内容所有者、内容管理者、内容创建者、内容观看者、内容消费者、设计师、编辑,这些用户的任何组合或者使用数字工具创建、编辑、追踪或管理数字体验的任何其他用户。
[0100] 如本文所描述的,数字工具包括被用于以电子方式执行功能或工作流程的工具。数字工具的示例包括但不限于内容创建工具、内容编辑工具、内容发布工具、内容追踪工具、内容管理工具、内容打印工具、内容消费工具,这些工具的任何组合,或者可以被用于创建、编辑、管理、生成、追踪、消费,或执行与内容相关的任何其他功能或工作流程的任何其他工具。数字工具包括创意装置808。
[0101] 如本文所描述的,数字体验包括可以通过电子设备被消费的体验。数字体验的示例包括内容创建、内容编辑、内容追踪、内容发布、内容发帖、内容打印、内容管理、内容查看、内容消费,这些体验的任何组合或者可以被执行的与内容有关的任何其他工作流程或功能。
[0102] 如本文所描述的,内容包括电子内容。内容的示例包括但不限于图像、视频、网站、网页、用户界面、菜单项、工具菜单、杂志、幻灯片、动画、社交帖子、评论、博客、数据馈送、音频、广告、矢量图形、位图、文档,一个或多个内容的任何组合或任何其他电子内容。
[0103] 用户设备802A-802N可以经由网络806被连接到创意装置808。网络806的示例包括但不限于互联网、局域网(LAN)、无线区域网络、有线区域网络、广域网络等。
[0104] 创意装置808包括用于向用户提供一个或多个数字体验的一个或多个引擎。可以使用一个或多个服务器、具有对应的应用编程接口的一个或多个平台、云基础设施等来实施创意装置808。另外,还可以使用一个或多个服务器、具有对应的应用编程接口的一个或多个平台、云基础设施等来实现每个引擎。创意装置808还包括数据存储单元812。数据存储单元812可以被实施成一个或多个数据库或一个或多个数据服务器。数据存储单元812包括由创意装置808的引擎使用的数据。
[0105] 用户设备802A的用户访问网页或应用商店以探索由创意装置808支持的应用。创意装置808将应用提供为软件即服务(SaaS)、或者提供为可以被安装在用户设备802A上的独立应用,或提供为组合。用户可以通过提供用户细节并且还通过创建登录细节来利用创意装置808创建帐户。备选地,创意装置808可以响应于接收到用户细节而自动为用户创建登录细节。在一些实施例中,还提示用户安装应用管理器。应用管理器使得用户能够管理由创意装置808支持的各种应用的安装,并且还管理与应用相关联的其他功能(诸如更新、订阅帐户等)。用户细节由用户管理引擎816接收并作为用户数据818被存储在数据存储单元812中。在一些实施例中,用户数据818还包括存储用户细节的帐户数据820。
[0106] 用户可以选择试用账户,或者可以基于用户所选择的账户类型或订阅来进行支付。备选地,支付可以基于用户所选择的产品或产品的数目。基于用户的支付细节,用户操作简档822由授权引擎824生成。用户操作简档822被存储在数据存储单元812中,并且指示用户对各种产品或服务的授权。用户操作简档822还指示用户的类型,即免费、试用、学生、打折还是付费。
[0107] 在一些实施例中,用户管理引擎816和授权引擎824可以是执行这两个引擎的功能的一个单个引擎。
[0108] 然后,用户可以经由应用下载管理引擎826来安装由创意装置808支持的各种应用。存在于数据存储单元812中的应用安装程序或应用程序828由应用下载管理引擎826提取并且被使得直接或经由应用管理器可用于用户。在一个实施例中,所有应用程序828的指示被提取并且经由应用管理器的接口被提供给用户。在另一实施例中,向用户显示用户基于用户的操作简档而有资格的应用程序828的指示。然后,用户选择应用程序828或用户想要下载的应用。应用程序828然后由应用管理器经由应用下载管理引擎826被下载到用户设备802A上。与下载有关的对应数据也在用户操作简档822中被更新。应用程序828是数字工具的示例。应用下载管理引擎826还管理向用户设备802A提供更新的过程。
[0109] 在下载、安装和启动应用程序之后,在一个实施例中,要求用户提供登录细节。用户管理引擎816和授权引擎824再次进行检查以确保用户有权使用应用程序。在另一实施例中,当用户已经登录到应用管理器时,提供对应用程序的直接访问。
[0110] 用户使用被安装在用户设备上的一个或多个应用程序804A-804N来创建一个或多个项目或资产。另外,用户还在每个应用程序内具有工作空间。如本文所描述的,工作空间包括应用程序的设置、工具的设置或由应用程序提供的用户界面的设置、以及应用程序特定的任何其他设置或特性。每个用户都可以具有工作空间。工作空间、项目和/或资产可以通过同步引擎832作为应用程序数据830被存储在数据存储单元812中。附加地或备选地,这种数据可以被存储在诸如用户设备802A等用户设备处。
[0111] 应用程序数据830包括一个或多个资产840。资产840可以是用户希望与其他用户共享的共享资产或者用户想要在市场上提供的共享资产。资产840还可以跨多个应用程序828被共享。每个资产包括元数据842。元数据842的示例包括但不限于字体、颜色、尺寸、形状、坐标、这些中的任何的组合等。另外,在一个实施例中,每个资产还包括文件。文件的示例包括但不限于图像844、文本846、视频848、字体850、文档852、这些中的任何的组合等。在另一实施例中,资产仅包括元数据842。
[0112] 应用程序数据830还包括项目数据854和工作空间数据856。在一个实施例中,项目数据854包括资产840。在另一实施例中,资产840是独立资产。类似地,在一个实施例中,工作空间数据856可以是项目数据854的部分,而在其他实施例中它可以是独立数据。
[0113] 用户可以操作一个或多个用户设备来访问数据。在这方面,应用程序数据830由用户从任何设备可访问,包括没有被用来创建资产840的设备。这通过同步引擎832来实现,同步引擎832将应用程序数据830存储在数据存储单元812中并且使得应用程序数据830能够由该用户或其他用户经由任何设备可访问。在用户从任何其他设备或任何其他用户访问应用程序数据830之前,如果未登录,则该用户或其他用户可能需要提供用于认证的登录细节。在一些情况下,如果该用户或其他用户已经登录,则实时地提供新创建的资产或对应用程序数据830的更新。还调用权限管理引擎836来确定是否可以向其他用户提供新创建的资产或更新。工作空间数据856使得同步引擎832能够基于权限管理数据838来在任何其他设备上向用户或向另一用户提供相同的工作空间配置。
[0114] 在各种实施例中,可以实现各种类型的同步。例如,用户可以使用第一应用程序从用户设备802A选择字体或颜色,并且可以在任何其他设备上的第二应用程序中使用该字体或颜色。如果用户与其他用户共享字体或颜色,则其他用户也可以使用该字体或颜色。这种同步通常实时地发生。类似地,可以执行任何类型的应用程序数据830的同步。
[0115] 在一些实施例中,用户与应用804的交互由应用分析引擎858追踪并且被存储为应用分析数据860。应用分析数据860包括例如工具的使用、特征的使用、工作流程的使用、资产840的使用等。应用分析数据860可以在每个用户的基础上包括使用数据,并且还可以在每个工具的基础上或在每个特征的基础上或在每个工作流程的基础上或在任何其他基础上包括使用数据。应用分析引擎858将一段代码嵌入到应用804中,这段代码使得应用能够收集使用数据并且将其发送到应用分析引擎858。应用分析引擎858将使用数据存储为应用分析数据860并且处理应用分析数据860以绘制有意义的输出。例如,应用分析引擎858可以绘制用户使用“工具4”最大次数的输出。应用分析引擎858的输出由个性化引擎862使用,以针对用户对工具菜单进行个性化以在顶部示出“工具4”。还可以基于应用分析数据860执行其他类型的个性化。另外,个性化引擎862还可以使用工作空间数据856或用户数据818(包括用户偏好)来针对用户对一个或多个应用程序828进行个性化。
[0116] 在一些实施例中,应用分析数据860包括指示用户的项目的状态的数据。例如,如果用户正在数字发布应用中准备文章,并且剩余的是在用户退出数字发布应用时发布准备好的文章,则应用分析引擎858追踪该状态。现在当用户接下来在另一设备上打开数字发布应用时,然后用户被指示,并且用户被提供用于使用数字发布应用或任何其他应用来进行发布的状态和选项。另外,在准备文章的同时,也可以由同步引擎832进行推荐以包含由用户保存的并且与该文章相关的一些其他资产。这种推荐可以使用一个或多个引擎来生成,如本文中所述的。
[0117] 创意装置808还包括社区引擎864,社区引擎864使得能够创建各种社区和社区之间的协作。如本文所描述的,社区包括共享至少一个共同兴趣的一组用户。社区可以是封闭式的,即限于多个用户,也可以是开放式的,即任何人都可以参与。社区使得用户能够共享彼此的工作并且对彼此的工作做出评论等。工作包括应用程序数据840。社区引擎864存储与社区相对应的任何数据,诸如在社区上被共享的工作以及针对工作而被接收作为社区数据866的评论等。社区数据866还包括通知数据并且被用于由社区引擎通知其他用户,以防与工作或新工作相关的任何活动被共享。社区引擎864结合同步引擎832工作以向用户提供协作工作流程。例如,用户可以创建图像,并且可以请求某个专家意见或专家编辑。然后,专家用户可以根据用户喜好编辑图像,或者可以提供专家意见。专家使用社区引擎864和同步引擎832来实现对专家意见的编辑和提供。在协作工作流程中,为多个用户分配与工作相关的不同任务。
[0118] 创意装置808还包括用于向一个或多个用户提供市场的市场引擎868。市场引擎868使得用户能够提供用于销售或使用的资产。市场引擎868能够访问用户希望在市场上提供的资产840。创意装置808还包括使得能够搜索市场中的资产840的搜索引擎870。搜索引擎870也是使得用户能够执行对资产840或任何其他类型的应用程序数据830的搜索的一个或多个应用程序828的一部分。搜索引擎870可以使用元数据842或文件来执行对资产的搜索。
[0119] 创意装置808还包括用于向用户提供包括电子或数字签名工作流程在内的各种文档相关的工作流程的文档引擎872。文档引擎872可以将文档作为资产840存储在数据存储单元812中,或者可以维持分离的文档存储库(图8中未被示出)。
[0120] 根据本发明的实施例,应用程序828包括有助于录制和制作基于表演的动画电影的动画制作应用804A。在这些实施例中,动画制作应用804A被提供给用户设备802A(例如,作为应用804N),使得动画制作应用804A经由用户设备进行操作。在另一实施例中,提供工具作为应用(诸如动画制作应用)的附件或插件。这些配置仅仅是示例性的,并且在本公开内预期了用于提供故事板软件功能的其他变型。
[0121] 应当理解,在本文中作为示例描述引擎和引擎的工作,并且引擎可以被用于执行向用户提供数字体验的任何步骤。
[0122] 示例性操作环境
[0123] 在描述了本发明的实施例的概览之后,以下描述其中可以实施本发明的实施例的示例性操作环境,以便为本发明的各方面提供通用上下文。现在具体参考图9,示出了用于实施本发明的实施例的示例性操作环境,并将其概括地指定为计算设备900。计算设备900只是合适的计算环境的一个示例,并且不旨在对本发明的使用范围或功能提出任何限制。计算设备900也不应当被解释为具有与所图示的组件中的任何一个或组合相关的任何依赖性或要求。
[0124] 可以在由计算机或其他机器(诸如蜂窝电话、个人数据助理或其他手持式设备)执行的计算机代码或机器可使用指令(包括诸如程序模块的计算机可执行指令)的一般上下文中描述本发明。一般地,包括例程、程序、对象、组件、数据结构等的程序模块指示执行特定任务或实施特定抽象数据类型的代码。本发明可以在各种系统配置中被实践,这些系统配置包括手持式设备、消费类电子产品、通用计算机、更专用计算设备等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中被实践。
[0125] 参考图9,计算设备900包括直接或间接耦合以下设备的总线910:存储器912、一个或多个处理器914、一个或多个呈现组件916、输入/输出(I/O)端口918、输入/输出组件920和图示性电源922。总线910表示可以是一条或多条总线(诸如地址总线、数据总线、或其组合)。尽管为了清楚起见用实线示出了图9的各个框,但是实际上,界定各种部件并不是这样清楚,并且隐喻地,实线将更准确地是灰色和模糊的。例如,可以将诸如显示设备等呈现组件视为I/O组件。另外,处理器具有存储器。发明人认识到,这是本领域的本质,并且重申图9的示意图仅仅是可以结合本发明的一个或多个实施例使用的示例性计算设备的说明。在诸如“工作站”、“服务器”、“笔记本电脑”、“手持式设备”等类别之间没有进行区别,因为所有这些在图9的范围内被预期并且指示“计算设备”。
[0126] 计算设备900通常包括各种计算机可读介质。计算机可读介质可以是可以由计算设备900访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。通过示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实施的易失性与非易失性、可移除与不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储装置、磁带盒、磁带、磁盘存储装置或其它磁性存储设备、或能够被用来存储期望信息的并且可以由计算设备900访问的任何其它介质。计算机存储介质不包括信号本身。通信介质通常在诸如载波或其他传输机制等经调制的数据信号中实施计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。术语“经调制的数据信号”意指具有以在信号中对信息进行编码的方式设置或改变其特性中的一个或多个特性的信号。通过示例而非限制,通信介质包括有线介质(诸如有线网络或直接有线连接)和无线介质(诸如声学、RF、红外和其他无线介质)。上述任一项的组合也应当被包括在计算机可读介质的范围内。
[0127] 存储器912包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的,或两者的组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备900包括从诸如存储器912或I/O组件920等各种实体读取数据的一个或多个处理器。(多个)呈现组件916向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等。
[0128] I/O端口918允许计算设备900在逻辑上被耦合到包括I/O组件920的其他设备,其中的一些组件可以内置。图示性组件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等。I/O组件920可以提供处理由用户生成的空中姿势、声音或其他生理输入的自然用户界面(NUI)。在一些实例中,这些输入可以被传送到适当的网络元件以用于进一步处理。NUI可以实施以下的任何组合:语音识别、触笔识别、面部识别、生物测定识别、屏幕上和屏幕附近的姿势识别、空中姿势、头部和眼睛追踪、以及与计算设备900上的显示器相关联的触摸识别(如下面更详细描述的)。计算设备900可以配备有深度相机,诸如立体相机系统、红外相机系统、RGB相机系统、触摸屏技术,以及这些的组合,以用于姿势检测和识别。附加地,计算设备900可以配备有使得能够检测动作的加速度计或陀螺仪。加速度计或陀螺仪的输出可以被提供给计算设备900的显示器以渲染沉浸式增强现实或虚拟现实。
[0129] 本文所描述的实施例有助于基于表演的动画电影的录制和制作。本文所描述的组件指示动画制作系统的集成组件。集成组件指示使用动画制作系统支持功能的硬件架构和软件框架。硬件架构指示物理组件及其相互关系,并且软件框架指示提供可以利用在设备上实施的硬件而被实施的功能的软件。
[0130] 端到端的基于软件的动画制作系统可以在系统组件内操作以操作计算机硬件以提供系统功能。在低级别,硬件处理器执行从用于给定处理器的机器语言(也称为机器代码或本机)指令集中选择的指令。处理器识别本机指令并执行与例如逻辑、控制和存储器操作有关的对应的低级别功能。以机器代码编写的低级别软件可以向更高级别的软件提供更复杂的功能。如本文所使用的,计算机可执行指令包括任何软件,其包括以机器代码编写的低级别软件、诸如应用软件的更高级别的软件及其任何组合。在这方面,系统组件可以管理资源并为系统功能提供服务。本发明的实施例预期了任何其他变型和其组合。
[0131] 已经标识出本公开中的各种组件,应当理解,可以采用任何数目的组件和布置来实现本公开的范围内的期望功能。例如,为了概念清楚起见,附图中所描绘的实施例中的组件用线示出。也可以实施这些和其他组件的其他布置。例如,尽管一些组件被描绘为单个组件,但是本文所描述的许多元件可以被实施成离散或分布式组件或者与其他组件一起实施,并且可以以任何合适的组合和在任何合适的位置被实施。可以完全省略一些元件。而且,本文所描述的由一个或多个实体执行的各种功能可以由硬件、固件和/或软件执行,如下面所描述的。例如,各种功能可以由执行被存储在存储器中的指令的处理器执行。这样,除了所示的那些之外或代替所示的那些,可以使用其他布置和元件(例如,机器、接口、功能、顺序和功能的分组等)。
[0132] 本文中具体地描述了本发明的主题内容以满足法定要求。然而,描述本身并不旨在限制本专利的范围。相反,发明人已经预期所要求保护的主题内容还可以以其他方式实施,以包括与本文档中所描述的步骤类似的不同步骤或步骤组合,结合其他现有的或未来技术。此外,尽管本文可以使用术语“步骤”和/或“框”来表示所采用的方法的不同元素,但是这些术语不应当被解释为暗示本文所公开的各个步骤之中或之间的任何特定顺序,除非在明确描述了各个步骤的顺序的时候。
[0133] 已经关于特定实施例描述了本发明,这些实施例在所有方面都旨在是说明性的而不是限制性的。在不脱离本发明的范围的情况下,备选的实施例对于本发明所属领域的普通技术人员将变得明显。
[0134] 从前述内容可以看出,本发明很好地适用于实现上述所有目标和目的,并且具有对该系统和方法明显且固有的其他优点。应当理解,某些特征和子组合是有用的,并且可以在不参考其他特征和子组合的情况下被使用。这由权利要求所预期并且在权利要求的范围内。