本发明属于动画调度领域,具体说是一种多动画复合控制的调度方法。
背景技术:
1、在智能化工业车间建设的过程中,基于数字孪生技术,必然涉及使用动画的形式去直观的描述真实物体在数字世界的运行表现。当一个数字对象要表现一个或者一组较为复杂的变化,就会涉及多种类型、多个动画的复合运作。若直接将这些动画附加于一组对象之上,动画的开始时间、循环次数以及运行逻辑等会互相影响,最终导致不可测的表现形式,从而也无法完成我们预期的表现效果。在此基础上,定义了一个框架,将现有动画依据其需要的演示逻辑离散的组织在一起,在这个框架的限制下,完成动画的演示次序、播放次数、播放速度等相关因素的控制,最终以我们预期的形式完成整组动画的表现。
技术实现思路
1、本发明针对一组或者一个项目中,互相存在关联关系的动画进行整体控制及调度,解决了当动画发生冲突或者不可测的相互影响时,无法完整的表现设计人员所预期的动画效果相关问题。
2、本发明为实现上述目的所采用的技术方案是:
3、多动画复合控制的调度方法,包括以下步骤:
4、基于动画对象,构建数据结构类a;
5、基于调用逻辑,构建数据结构类b;
6、使用类b中的执行逻辑,调用不同的类a,完成多动画间的调度。
7、所述数据结构类a包括:属性、接口以及方法,其中:
8、所述属性包括:优先级、所影响的属性、执行状态、所影响对象的id、分组以及播放次数;
9、所述接口包括:初始化,用于完成属性的赋值;播放,用于控制动画的播放;停止,用于强制动画结束;
10、所述方法包括:注册,用于当一个动画对象被实例化时,将其注册于框架之中;状态维护,用于维护当前动画状态。
11、所述数据结构类b包括:属性和方法,其中:
12、所述属性包括:执行序列,表征按照规则组织后的待执行的动画;动画列表,表征项目中全部动画对象;
13、所述方法包括:组织执行序列,用于将动画由动画列表中,依据规则r,放入执行序列;存储,用于当动画对象生成时,将对象存储于动画列表中;播放,用于依据调度流程p,播放“执行序列”中的动画。
14、所述规则r为:首先按照动画分组,将动画分入不同的队列中,再按照动画的优先级,将每个队列进行排序。
15、所述流程p包括以下步骤:
16、(1)轮询查看当前执行序列是否为空;
17、(2)若非空,则查看优先级最高的动画当前状态;
18、(3)当前状态为挂起,则开始播放;当前状态为执行中,则继续;当前状态为结束,则将此动画移除队列;
19、(4)查看队列下一个元素的优先级;
20、(5)优先级相同,则查看当前动画对象所影响物体的id与前一个元素是否相同;
21、(6)若id不同,则播放,并继续查看下一个元素;否则,查看所影响的属性是否相同;
22、(7)若所影响的属性相同则继续挂起;否则,播放,并继续查看下一个元素;
23、(8)当优先级低于当前元素,则结束本次遍历。
24、当出现预播放动画优先级与当前正在播放动画的优先级相同时,执行以下步骤:
25、(a1)通过类a属性中的优先级确定预播放的动画即动画1与正在播放的动画即动画2的优先级相同;
26、(a2)通过类a属性中的所影响对象的id,判断动画1与动画2所影响的是否为同一个物体;
27、(a3)当影响的不是同一个物体时,则播放动画;否则,通过类a属性中的所影响的属性,判断动画1与动画2是否影响的为同一类属性;
28、(a4)当影响的属性不同时,则播放动画,;否则,通过类a属性中的执行状态将动画1的状态设置为挂起。
29、每次单个分组中的动画循环播放时,执行以下步骤:
30、(b1)判断当前是否为分组第一个,若不是,则开始执行步骤a3;否则,通过类a属性中的执行状态判断当前的响应;
31、(b2)若是挂起,则播放动画;若是结束,则将动画从队列中移除;若为播放则跳过。
32、所述遍历具体为:
33、(1)依据类b属性中的执行序列,开始播放动画;
34、(2)依据类a属性中的分组,从第0个分组开始遍历;
35、(3)执行步骤b2中的挂起,并判断下一个分组是否为空,非空则开始遍历下一个分组,否则结束流程。
36、本发明具有以下有益效果及优点:
37、1.本发明将动画元素系统的进行组织,避免了动画触发后,混乱的表现效果。
38、2.只需要继承类a,并实现相关接口,即可完成动画数据的结构组织,使用便捷。
39、3.在不同三维引擎中,存在着不同类型的动画,实现、控制方式各不相同,此发明可以将不同类型的动画组织在一起,统一控制,具有很强的适应性。
40、4.组织动画数据只需要离散的进行即可,逻辑结构最终由此发明涉及的算法自动完成,组织数据的方式简单容易。
1.多动画复合控制的调度方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的多动画复合控制的调度方法,其特征在于,所述数据结构类a包括:属性、接口以及方法,其中:
3.根据权利要求1所述的多动画复合控制的调度方法,其特征在于,所述数据结构类b包括:属性和方法,其中:
4.根据权利要求3所述的多动画复合控制的调度方法,其特征在于,所述规则r为:首先按照动画分组,将动画分入不同的队列中,再按照动画的优先级,将每个队列进行排序。
5.根据权利要求3所述的多动画复合控制的调度方法,其特征在于,所述流程p包括以下步骤:
6.根据权利要求5所述的多动画复合控制的调度方法,其特征在于,当出现预播放动画优先级与当前正在播放动画的优先级相同时,执行以下步骤:
7.根据权利要求5所述的多动画复合控制的调度方法,其特征在于,每次单个分组中的动画循环播放时,执行以下步骤:
8.根据权利要求5所述的多动画复合控制的调度方法,其特征在于,所述遍历具体为:
