基于Mealy有限状态自动机的三维动画流程的组织与控制方法技术

技术编号:10221134 阅读:195 留言:0更新日期:2014-07-16 21:43
本发明专利技术属于三维动画技术领域,具体涉及一种基于Mealy有限状态自动机的三维动画流程的组织与控制方法。该方法构造出动画状态机、绑定状态机、流程控制器三种Mealy型有限状态自动机,动画状态机对整个动画流程的局部动画进行控制、绑定状态机对不同三维模型之间加入父子依赖关系以实现模型绑定,流程控制器对动画状态机和绑定状态机进行控制,从而组织整个动画流程;此外,本发明专利技术构造了动画控制器,进行局部动画播放控制;还提供了易于编辑的流程描述文件格式以及消息结构,在消息路由器的媒介下,通过从流程文件分析器得到流程描述文件的解析结果,流程控制器可以实现对其它状态机控制,从而实现对整个动画流程的组织控制。

【技术实现步骤摘要】
基于Mealy有限状态自动机的三维动画流程的组织与控制方法
本专利技术属于三维动画
,具体涉及一种基于Mealy有限状态自动机的三维动画流程的组织与控制方法。
技术介绍
三维动画,是随着计算机硬件技术发展而产生的一项技术。三维动画由三维模型的运动组成,设计师设计出三维模型构成的场景,以及需要运动的模型,通过定义模型运动的轨迹实现三维的动画演示。三维动画一般对模型运动轨迹的关键帧进行保存,生产特定的动画文件,通过对这些动画文件进行解析构建关键帧序列,根据时间节点进行插值运算就可以得到动画播放中任意节点的模型运动状态。但当动画场景十分大,所涉及的运动模型十分多时,很难在一个文件中描述所有的模型的关键帧。这就需要一定的方法对这些模型运动进行更好的组织,使得整个动画流程自动的顺利执行。Mealy有限状态自动机,是基于它的当前状态和输入生成输出的有限状态自动机。其具体原理见文献1—Mealy,G.H..AMethodforSynthesizingSequentialCircuits.BellSystemTech[J].1955,34:1045–1079。有限状态自动机和计算机可识别的正则语言是等价的,它容易在计算机上进行实现。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:克服现有技术的一些局限性,提供一种三维动画的组织控制方法,该方法可通过组织局部动画文件,组织三维模型间的绑定关系,可方便的进行大型场景动画组织,且易于实现对动画流程的修改。(二)技术方案为解决上述技术问题,本专利技术提供一种基于Mealy有限状态自动机的三维动画流程的组织与控制方法,该方法基于流程控制系统来实施,所述流程控制系统包括:消息路由器、流程控制器、动画控制器、动画状态机、绑定状态机以及流程文件分析器;所述消息路由器为系统各Mealy有限状态自动机所涉及的消息的统一收发器,其中消息是各Mealy有限状态自动机的输入,每一消息均由消息类型和消息参数构成,消息类型用于决定状态转移,消息参数用于指定输出操作的行为;所述流程控制器为Mealy有限状态自动机,用于控制整个动画过程,其状态包括:准备、运行、暂停、终止,其初始状态为准备状态,其接收消息类型包括:开始、结束、暂停、继续、终止、重置;所述动画控制器用于描述局部动画的动画文件的解析和播放;所述动画状态机为Mealy有限状态自动机,其利用动画控制器实现动画控制,其状态包括:初始、准备、运行、暂停、停止,其初始状态为初始状态,其接收消息类型包括:读取、开始、暂定、继续、重置、停止;所述动画状态机与动画控制器成组设置,系统中设有多组,每一组用于对某一部分动画进行操作,所有组所对应的部分动画组合起来为整体动画;所述绑定状态机为Mealy有限状态自动机,用于指定特定三维模型的父子关系和子模型的局部变换,其状态包括:准备、已绑定,其初始状态为准备状态,其接收消息类型包括:绑定、设置、重置;所述绑定状态机设有多个,分别对不同的部分动画进行绑定;所述流程文件分析器用于解析特定的用户输入流程文件;所述基于Mealy有限状态自动机的三维动画流程的组织与控制方法,其包括如下步骤:步骤S1:编写XML格式的流程描述文件,按层次描述整个动画流程依次需要播放的动画文件,以及各个阶段模型间的父子绑定关系,确定流程控制器的工作内容;流程描述文件以文字形式描述了由读取、开始、绑定、设置四种消息信息构成的消息信息树,消息信息树是一个树状结构,为多叉树;其中每条消息信息包含消息的编号、消息的内容、消息发送到目标和信息发送的延时、消息的内容及消息的类型和参数;步骤S2:流程文件分析器解析步骤S1中的所述流程描述文件,在内存层次构造出流程描述文件所描述的消息信息树;消息信息树中包含控制动画状态机的读取和开始消息、以及控制绑定状态机的绑定和设置消息;流程文件分析器将消息层次树构造完成后传递给流程控制器,并指派消息路由器向流程控制器发送重置消息;步骤S3:流程控制器在任何状态下接收到步骤S2中的所述重置消息后则转换为准备状态,其输出操作为:令消息路由器向其他状态机发送重置消息,清空流程控制器自身的运行时表和暂停时表中的信息;动画状态机在任何状态下接收重置消息则转化为初始状态;绑定状态机在任何状态下接收重置消息则转化为准备状态;运行时表是一个线性表,保存发出而未反馈的消息编号,暂停时表是一个队列,保存暂停时反馈的消息编号,二者用于保证流程控制器正确的按消息信息树逐层向下传递消息;步骤S4:流程控制器在初始的准备状态下接收开始消息则转化为运行状态;输出操作为:由步骤S2所述消息树第一层节点的内容,为消息路由器添加各节点的消息信息,指派消息路由器在下一帧时向各个操作相关的状态机按指定延时发送指定消息,以此开始动画流程;且,流程控制器向运行时表添加所传递出的各消息信息的消息编号;步骤S5:流程控制器在运行状态下,不断按步骤S2所述消息信息树中的消息信息,指派消息路由器向各动画状态机发送读取消息和开始消息、向绑定状态机发送绑定消息和设置消息,使得动画状态机和绑定状态机执行相应的操作,以运行整个动画进程;流程控制器向动画状态机和绑定状态机每次传递消息后,都将在二者执行完相应操作后收到响应的结束消息作为反馈;流程控制器在指派消息路由器发送各消息时,将消息编号添加到原有消息参数中作为新的参数,该消息编号将在其他状态机向其传递结束消息时作为消息参数传递,使得流程控制器掌握各状态机执行动作所对应的发起消息;动画状态机根据读取消息的参数,特定的动画控制器解析相应的文件,根据开始消息的参数使特定的动画控制器播放相应的动画;动画状态机在读取完成后或动画运行结束后向流程控制器发送结束消息,消息参数描述了使其读取或开始的消息编号;绑定状态机根据绑定消息的参数将一对特定模型进行绑定,根据设置的消息参数设置子模型在局部坐标下的位置和方向;绑定状态机完成绑定操作或设置操作后向流程控制器发送结束消息,消息参数描述了使其绑定或设置的消息编号;流程控制器在运行状态下接收结束消息则转化为终止状态,其输出操作为:按消息参数提供的消息编号,找到其在步骤S2所述消息信息树中的节点,如果该节点存在子节点,按所有子节点内容为消息路由器添加消息,按消息参数提供的消息编号更新运行时表,判断运行时表是否为空,若为空则所有消息发送完毕,则令消息路由器向该流程控制器发送终止消息;步骤6:当流程控制器按步骤S5所述处于不断的运行状态时,可在用户控制下通过暂停、继续消息对整个流程进行暂停、继续操作;流程控制器在运行状态下接收暂停消息则转化为暂停状态;其输出操作为:令消息路由器向所有状态机发送暂停消息;流程控制器在暂停状态下接收暂停消息则转化为暂停状态,输出操作为:保持步骤S5所述的结束消息相关的消息编号至暂停时表,使得返回运行状态时控制器工作正常;流程控制器在暂停状态下接收继续消息则转化为运行状态,输出操作为:令消息路由器向所有状态机发送继续类型消息,依照暂停时记录的消息编号,更新运行时表;步骤S7:当流程控制器按步骤S5所述处于不断的运行状态时,直至收到由该流程控制器指派消息路由发出的终止消息时,流程控制器在运行状态或暂停状态下接收终止消息则转化为终止状态;所有动画播放完毕本文档来自技高网...
基于Mealy有限状态自动机的三维动画流程的组织与控制方法

【技术保护点】
一种基于Mealy有限状态自动机的三维动画流程的组织与控制方法,其特征在于,该方法基于流程控制系统来实施,所述流程控制系统包括:消息路由器、流程控制器、动画控制器、动画状态机、绑定状态机以及流程文件分析器;所述消息路由器为系统各Mealy有限状态自动机所涉及的消息的统一收发器,其中消息是各Mealy有限状态自动机的输入,每一消息均由消息类型和消息参数构成,消息类型用于决定状态转移,消息参数用于指定输出操作的行为;所述流程控制器为Mealy有限状态自动机,用于控制整个动画过程,其状态包括:准备、运行、暂停、终止,其初始状态为准备状态,其接收消息类型包括:开始、结束、暂停、继续、终止、重置;所述动画控制器用于描述局部动画的动画文件的解析和播放;所述动画状态机为Mealy有限状态自动机,其利用动画控制器实现动画控制,其状态包括:初始、准备、运行、暂停、停止,其初始状态为初始状态,其接收消息类型包括:读取、开始、暂定、继续、重置、停止;所述动画状态机与动画控制器成组设置,系统中设有多组,每一组用于对某一部分动画进行操作,所有组所对应的部分动画组合起来为整体动画;所述绑定状态机为Mealy有限状态自动机,用于指定特定三维模型的父子关系和子模型的局部变换,其状态包括:准备、已绑定,其初始状态为准备状态,其接收消息类型包括:绑定、设置、重置;所述绑定状态机设有多个,分别对不同的部分动画进行绑定;所述流程文件分析器用于解析特定的用户输入流程文件;所述基于Mealy有限状态自动机的三维动画流程的组织与控制方法,其包括如下步骤:步骤S1:编写XML格式的流程描述文件,按层次描述整个动画流程依次需要播放的动画文件,以及各个阶段模型间的父子绑定关系,确定流程控制器的工作内容;流程描述文件以文字形式描述了由读取、开始、绑定、设置四种消息信息构成的消息信息树,消息信息树是一个树状结构,为多叉树;其中每条消息信息包含消息的编号、消息的内容、消息发送到目标和信息发送的延时、消息的内容及消息的类型和参数;步骤S2:流程文件分析器解析步骤S1中的所述流程描述文件,在内存层次构造出流程描述文件所描述的消息信息树;消息信息树中包含控制动画状态机的读取和开始消息、以及控制绑定状态机的绑定和设置消息;流程文件分析器将消息层次树构造完成后传递给流程控制器,并指派消息路由器向流程控制器发送重置消息;步骤S3:流程控制器在任何状态下接收到步骤S2中的所述重置消息后则转换为准备状态,其输出操作为:令消息路由器向其他状态机发送重置消息,清空流程控制器自身的运行时表和暂停时表中的信息;动画状态机在任何状态下接收重置消息则转化为初始状态;绑定状态机在任何状态下接收重置消息则转化为准备状态;运行时表是一个线性表,保存发出而未反馈的消息编号,暂停时表是一个队列,保存暂停时反馈的消息编号,二者用于保证流程控制器正确的按消息信息树逐层向下传递消息;步骤S4:流程控制器在初始的准备状态下接收开始消息则转化为运行状态;输出操作为:由步骤S2所述消息树第一层节点的内容,为消息路由器添加各节点的消息信息,指派消息路由器在下一帧时向各个操作相关的状态机按指定延时发送指定消息,以此开始动画流程;且,流程控制器向运行时表添加所传递出的各消息信息的消息编号;步骤S5:流程控制器在运行状态下,不断按步骤S2所述消息信息树中的消息信息,指派消息路由器向各动画状态机发送读取消息和开始消息、向绑定状态机发送绑定消息和设置消息,使得动画状态机和绑定状态机执行相应的操作,以运行整个动画进程;流程控制器向动画状态机和绑定状态机每次传递消息后,都将在二者执行完相应操作后收到响音的结束消息作为反馈;流程控制器在指派消息路由器发送各消息时,将消息编号添加到原有消息参数中作为新的参数,该消息编号将在其他状态机向其传递结束消息时作为消息参数传递,使得流程控制器掌握各状态机执行动作所对应的发起消息;动画状态机根据读取消息的参数,特定的动画控制器解析相应的文件,根据开始消息的参数使特定的动画控制器播放相应的动画;动画状态机在读取完成后或动画运行结束后向流程控制器发送结束消息,消息参数描述了使其读取或开始的消息编号;绑定状态机根据绑定消息的参数将一对特定模型进行绑定,根据设置的消息参数设置子模型在局部坐标下的位置和方向;绑定状态机完成绑定操作或设置操作后向流程控制器发送结束消息,消息参数描述了使其绑定或设置的消息编号;流程控制器在运行状态下接收结束消息则转化为终止状态,其输出操作为:按消息参数提供的消息编号,找到其在步骤S2所述消息信息树中的节点,如果该节点存在子节点,按所有子节点内容为消息路由器添加消息,按消息参数提供的消息编号更新运行时表,判断运行时表是否为空,若为空则所有消息发送完毕,则令消息路由器向该流程控制器发送终止消息;步骤...

【技术特征摘要】
1.一种基于Mealy有限状态自动机的三维动画流程的组织与控制方法,其特征在于,该方法基于流程控制系统来实施,所述流程控制系统包括:消息路由器、流程控制器、动画控制器、动画状态机、绑定状态机以及流程文件分析器;所述消息路由器为系统各Mealy有限状态自动机所涉及的消息的统一收发器,其中消息是各Mealy有限状态自动机的输入,每一消息均由消息类型和消息参数构成,消息类型用于决定状态转移,消息参数用于指定输出操作的行为;所述流程控制器为Mealy有限状态自动机,用于控制整个动画过程,其状态包括:准备、运行、暂停、终止,其初始状态为准备状态,其接收消息类型包括:开始、结束、暂停、继续、终止、重置;所述动画控制器用于描述局部动画的动画文件的解析和播放;所述动画状态机为Mealy有限状态自动机,其利用动画控制器实现动画控制,其状态包括:初始、准备、运行、暂停、停止,其初始状态为初始状态,其接收消息类型包括:读取、开始、暂定、继续、重置、停止;所述动画状态机与动画控制器成组设置,系统中设有多组,每一组用于对某一部分动画进行操作,所有组所对应的部分动画组合起来为整体动画;所述绑定状态机为Mealy有限状态自动机,用于指定特定三维模型的父子关系和子模型的局部变换,其状态包括:准备、已绑定,其初始状态为准备状态,其接收消息类型包括:绑定、设置、重置;所述绑定状态机设有多个,分别对不同的部分动画进行绑定;所述流程文件分析器用于解析特定的用户输入流程文件;所述基于Mealy有限状态自动机的三维动画流程的组织与控制方法,其包括如下步骤:步骤S1:编写XML格式的流程描述文件,按层次描述整个动画流程依次需要播放的动画文件,以及各个阶段模型间的父子绑定关系,确定流程控制器的工作内容;流程描述文件以文字形式描述了由读取、开始、绑定、设置四种消息信息构成的消息信息树,消息信息树是一个树状结构,为多叉树;其中每条消息信息包含消息的编号、消息的内容、消息发送到目标和信息发送的延时、消息的内容及消息的类型和参数;步骤S2:流程文件分析器解析步骤S1中的所述流程描述文件,在内存层次构造出流程描述文件所描述的消息信息树;消息信息树中包含控制动画状态机的读取和开始消息、以及控制绑定状态机的绑定和设置消息;流程文件分析器将消息层次树构造完成后传递给流程控制器,并指派消息路由器向流程控制器发送重置消息;步骤S3:流程控制器在任何状态下接收到步骤S2中的所述重置消息后则转换为准备状态,其输出操作为:令消息路由器向其他状态机发送重置消息,清空流程控制器自身的运行时表和暂停时表中的信息;动画状态机在任何状态下接收重置消息则转化为初始状态;绑定状态机在任何状态下接收重置消息则转化为准备状态;运行时表是一个线性表,保存发出而未反馈的消息编号,暂停时表是一个队列,保存暂停时反馈的消息编号,二者用于保证流程控制器正确的按消息信息树逐层向下传递消息;步骤S4:流程控制器在初始的准备状态下接收开始消息则转化为运行状态;输出操作为:由步骤S2所述消息层次树第一层节点的内容,为消息路由器添加各节点的消息信息,指派消息路由器在下一帧时向各个操作相关的状态机按指定延时发送指定消息,以此开始动画流程;且,流程控制器向运行时表添加所传递出的各消息信息的消息编号;步骤S5:流程控制器在运行状态下,不断按步骤S2所述消息信息树中的消息信息,指派消息路由器向各动画状态机发送读取消息和开始消息、向绑定状态机发送绑定消息和设置消息,使得动画状态机和绑定状态机执行相应的操作,以运行整个动画进程;流程控制器向动画状态机和绑定状态机每次传递消息后,都将在二者执行完相应操作后收到响应的结束消息作为反馈;流程控制器在指派消息路由器发送各消息时,将消息编号添加到原有消息参数中作为新的参数,该消息编号将在其他状态机向其传递结束消息时作为消息参数传递,使得流程控制器掌握各状态机执行动作所对应的发起消息;动画状态机根据读取消息的参数,特定的动画控制器解析相应的文件,根据开始消息的参数使特定的动画控制器播放相应的动画;动画状态机在读取完成后或动画运行结束后向流程控制器发送结束消息,消息参数描述了使其读取或开始的消息编号;绑定状态机根据绑定消息的参数将一对特定模型进行绑定,根据设置的消息参数设置子模型在局部坐标下的位置和方向;绑定状态机完成绑定操作或设置操作后向流程控制器发送结束消息,消息参数描述了使其绑定或设置的消息编号;流程控制器在运行状态下接收结束消息则转化为终止状态,其输出操作为:按消息参数提供的消息编号,找到其在步骤S2所述消息信息树中的节点,如果该节点存在子节点,按所有子节点内容为消息路由器添加消息,按消息参数提供的消息编号更新运行时表,判断运行时表是否为空,若为空则所有消息发送完毕,则令消息路由器向该流程控制器发送终止消息;步骤6:当流程控制器按步骤S5所述处于不断的运行状态时,可在用户控制下通过暂停、继续消息对整个流程进行暂停、继续操作;流程控制器在运行状态下接收暂停消息则转化为暂停状态;其输出操作为:令消息路由器向所有状态机发送暂停消息;流程控制器在暂停状态下接收暂停消息则转化为暂停状态,输出操作为:保持步骤S5所述的结束消息相关的消息编号至暂停时表,使得返回运行状态时控制器工作正常;流程控制器在暂停状态下接收继续消息则转化为运行状态,输出操作为:令消息路由器向所有状态机发送继续类型消息,依照暂停时记录的消息编号,更新运行时表;步骤S7:当流程控制器按步骤S5所述处于不断的运行状态时,直至收到由该流程控制器指派消息路由发出的终止消息时,流程控制器在运行状态或暂停状态下接收终止消息则转化为终止状态;所有动画播放完毕;步骤S8:用户通过指派消息路由器向流程控制器发送重置消息,使所有状态机在步骤S2操作下恢复到初始状态,以便用户重新控制动画播放。2.如权利要求1所述的基于Mealy有限状态自动机的三维动画流程的组织与控制方法,其特征在于,所述步骤S1及步骤S2中的消息信息树,在内存层次和文件层次所描述的数据是完全一致的,树节点一一对应;...

【专利技术属性】
技术研发人员:魏乐愚贝宇红樊新华
申请(专利权)人:北京星航机电装备有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1