动画处理系统、方法、设备及存储介质与流程

文档序号:30085622发布日期:2022-05-18 05:35阅读:85来源:国知局
动画处理系统、方法、设备及存储介质与流程

1.本发明实施例涉及互联网技术领域,尤其涉及动画处理系统、方法、设备及存储介质。


背景技术:

2.随着互联网技术的快速发展,在线游戏的种类越来越丰富,可以为用户的生活增添很多乐趣,受到了很多用户的喜爱。
3.在线游戏中通常涉及各种虚拟对象,虚拟对象在游戏进行过程中一般需要执行多种动画,以卡牌游戏为例,虚拟对象包括卡牌,卡牌需要实现发牌以及翻牌等动画。目前,在线游戏动画的实现通常依赖于游戏引擎,如unity和cocos2d-x等,游戏引擎帮助开发者完成了一些底层的编码,开发起来相对便捷,但直接接入游戏引擎可能会带来一些缺点,例如渲染卡顿、加载速度慢、处理器负载过高、内存占用过大,以及应用程序(application,app)包体积大小增加等等,影响应用程序以及设备的性能。


技术实现要素:

4.本发明实施例提供了动画处理系统、方法、设备及存储介质,可以优化现有的在线游戏中的动画处理方案。
5.第一方面,本发明实施例提供了一种动画处理系统,应用于具有多人在线游戏功能的应用程序,所述多人在线游戏中涉及多个参与游戏的用户角色,所述系统包括指令接收模块、动作分发模块和动画执行模块,所述动作分发模块中包括各用户角色分别对应的用户角色管理单元;
6.所述指令接收模块,用于接收服务端下发的游戏指令,并根据所述游戏指令确定各用户角色分别关联的虚拟对象的待执行动作,将所述游戏指令和所述待执行动作以用户角色为单位分发至所述动作分发模块中对应的用户角色管理单元;
7.所述动作分发模块,用于分别针对各用户角色,利用对应的用户角色管理单元根据所接收到的游戏指令和待执行动作确定各虚拟对象分别对应的动画参数,并将所述动画参数发送至所述动画执行模块;
8.所述动画执行模块,用于根据所述动画参数生成对应的目标动画,并控制各虚拟对象执行相应的目标动画。
9.第二方面,本发明实施例提供了一种动画处理方法,应用于具有多人在线游戏功能的应用程序,所述多人在线游戏中涉及多个参与游戏的用户角色,由本发明实施例提供的动画处理系统执行,所述方法包括:
10.通过指令接收模块收服务端下发的游戏指令,并根据所述游戏指令确定各用户角色分别关联的虚拟对象的待执行动作,将所述游戏指令和所述待执行动作以用户角色为单位分发至所述动作分发模块中对应的用户角色管理单元;
11.通过所述动作分发模块分别针对各用户角色,利用对应的用户角色管理单元根据
所接收到的游戏指令和待执行动作确定各虚拟对象分别对应的动画参数,并将所述动画参数发送至所述动画执行模块;
12.通过所述动画执行模块根据所述动画参数生成对应的目标动画,并控制各虚拟对象执行相应的目标动画。
13.第三方面,本发明实施例提供了一种动画处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例提供的动画处理方法,或者实现本发明实施例提供的动画处理系统中具备的功能。
14.第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的动画处理方法,或者实现本发明实施例提供的动画处理系统中具备的功能。
15.本发明实施例中提供的动画处理方案,应用于具有多人在线游戏功能的应用程序,多人在线游戏中涉及多个参与游戏的用户角色,动画处理系统包括指令接收模块、动作分发模块和动画执行模块,动作分发模块中包括各用户角色分别对应的用户角色管理单元,指令接收模块接收服务端下发的游戏指令,并根据游戏指令确定各用户角色分别关联的虚拟对象的待执行动作,将游戏指令和待执行动作以用户角色为单位分发至动作分发模块中对应的用户角色管理单元,动作分发模块分别针对各用户角色,利用对应的用户角色管理单元根据所接收到的游戏指令和待执行动作确定各虚拟对象分别对应的动画参数,并将动画参数发送至动画执行模块,动画执行模块根据动画参数生成对应的目标动画,并控制各虚拟对象执行相应的目标动画。通过采用上述技术方案,动画处理系统中的各个模块划分清晰且分工明确,便于后期扩展和维护,无需接入游戏引擎也能快速实现游戏动画,接入成本低,对应用程序以及设备的性能消耗小。
附图说明
16.图1为本发明实施例提供的一种动画处理系统的结构框图;
17.图2为本发明实施例提供的一种指令接收模块的工作原理示意图;
18.图3为本发明实施例提供的一种动作分发模块的工作原理示意图;
19.图4为本发明实施例提供的一种动画处理方法的流程示意图;
20.图5为本发明实施例提供的一种动画处理设备的结构框图。
具体实施方式
21.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
22.图1为本发明实施例提供的一种动画处理系统的结构框图,该系统可由软件和/或硬件实现,一般可集成在动画处理设备中。其中,动画处理设备可以是手机以及平板电脑等移动设备,也可为台式计算机等其他设备。如图1所示,动画处理系统10包括指令接收模块110、动作分发模块120和动画执行模块130。
23.本发明实施例中的动画处理系统应用于具有多人在线游戏功能的应用程序,该应用程序的具体类型不做限定,例如可包括社交类应用程序、直播类应用程序以及即时通信类应用程序等。所述多人在线游戏中涉及多个参与游戏的用户角色,多人在线游戏的具体类型不做限定,例如可以包括棋牌类游戏、体育竞技类游戏、角色扮演类游戏以及益智类游戏等等,多个用户(也即玩家)可以通过互联网在线联机,共同参与游戏,每个用户在游戏中对应一个用户角色。游戏过程中,每个用户角色可以关联一个或多个虚拟对象,虚拟对象的类型以及展示形式等不做限定,可根据具体的游戏类型来确定,例如,卡牌游戏中的虚拟对象可以是卡牌,飞镖游戏中的虚拟对象可以是飞镖等。虚拟对象在游戏界面中一般以控件或视图的形式进行展示。
24.相关技术中,在线游戏动画的实现通常依赖于游戏引擎,游戏引擎引入应用程序后,会带来渲染卡顿、加载速度慢、处理器负载过高、内存占用过大,以及应用程序包体积大小增加等等,影响应用程序以及设备的性能。
25.本发明实施例中,可以采用动画处理设备所装载的操作系统的原生动画来实现虚拟对象的动画,其中,操作系统的具体类型不做限定,可以是安卓(android)或苹果(ios)等。利用原生动画实现虚拟对象的动画,可以缓解引入游戏引擎所带来的一些问题,但由于多人在线游戏中一般用户数量较多且可能会动态变化,每个用户关联的虚拟对象的数量也会动态变化,加之游戏状态较多,虚拟对象需要实现的动作也较多,每个虚拟对象可能需要执行各种各样的动画,用户角色以及动画管理很复杂,为基于原生动画的实现带来诸多困难。本发明实施例中提供的动画处理系统,合理设置上述三个模块,模块划分清晰且分工明确,可以高效且条理清晰地在应用程序中基于原生动画实现多人在线游戏的动画处理。
26.具体的,指令接收模块用于接收服务端下发的游戏指令,并根据所述游戏指令确定各用户角色分别关联的虚拟对象的待执行动作,将所述游戏指令和所述待执行动作以用户角色为单位分发至所述动作分发模块中对应的用户角色管理单元。
27.示例性的,服务端为应用程序对应的服务端,此时应用程序可以理解为客户端,服务端可以维护当前正在进行的多人在线游戏的最新数据,可简称游戏数据。游戏数据中可以包括如游戏状态,游戏流程所处阶段,参与游戏的用户角色,每个用户角色关联的虚拟对象,每个虚拟对象的标识、类别或状态等数据,可以由服务端根据游戏数据向客户端下发游戏指令,应用程序可以通过如实体层(model层)接收游戏指令并转发给指令接收模块。
28.示例性的,不同的虚拟对象可能存在执行同样的动作的情况,以卡牌为例,不同点数的卡牌可能均需要执行翻牌的动作,但由于点数不同、虚拟对象在游戏界面中的位置不同、虚拟对象的朝向不同等,均会导致需要执行的动画的差异,若分别预先生成每种动画,则会占用大量的存储空间,若根据游戏指令直接生成当前所需动画,则耗时较长,不符合在线游戏的实时性要求。本发明实施例中,先由指令接收模块根据游戏指令明确每个用户角色关联的虚拟对象所需执行的动作,无需关心具体的动画细节,再由动作分发模块计算动画参数,最后由动画执行模块根据动画参数生成动画并控制虚拟对象执行。
29.示例性的,指令接收模块在根据游戏指令确定各用户角色分别关联的虚拟对象的待执行动作时,可以根据游戏指令中指示的游戏状态或游戏流程所处阶段等确定各用户角色分别对应的游戏操作,再根据游戏操作确定所对应的用户角色关联的虚拟对象的待执行动作。以卡牌为例,指令接收模块根据游戏指令确定用户角色a对应的游戏操作为要牌操
作,假设a手中已有2张卡牌,并需要新增1张卡牌,2张旧卡牌的待执行动作为挪牌,新卡牌的待执行动作为翻牌,而无需关心卡牌的具体点数以及各卡牌具体需要执行什么样的动画。
30.本发明实施例中,动作分发模块中包括各用户角色分别对应的用户角色管理单元,动作分发模块主要用于动画参数的计算,而不同用户角色在游戏界面中所处的位置通常不同,用户角色位置的不同也会导致动画参数上的差异,因此,在向动作分发模块发送待执行动作时,以用户角色为单位进行分发,以便各用户角色管理单元分别负责自己对应的用户角色关联的虚拟对象的动画参数的计算,降低动画处理的复杂度,且降低代码开发难度以及代码耦合度,便于后期扩展和维护。
31.本发明实施例中,所述动作分发模块用于分别针对各用户角色,利用对应的用户角色管理单元根据所接收到的游戏指令和待执行动作确定各虚拟对象分别对应的动画参数,并将所述动画参数发送至所述动画执行模块。
32.示例性的,用户角色管理单元具体可以是在操作系统中落地实现的类,也可称为角色管理类。用户角色管理单元可以根据游戏指令中指示的虚拟对象在游戏界面中的位置信息等信息以及接收到的待执行动作,计算各虚拟对象分别对应的动画参数。其中,动画参数的具体类型和内容等不做限定,例如可包括播放时长、播放位置、缩放比例、移动距离以及旋转角度等等。
33.本发明实施例中,动画执行模块用于根据所述动画参数生成对应的目标动画,并控制各虚拟对象执行相应的目标动画。示例性的,在接收到动画参数后,可以根据动画参数生成操作系统的原生动画,并控制虚拟对象在对应的时机执行相应的动画。
34.可选的,根据所述动画参数生成对应的目标动画,包括:对于任一虚拟对象,获取当前虚拟对象对应的目标动画模板,将所述当前虚拟对象对应的动画参数填充至所述目标动画模板中,得到所述当前虚拟对象对应的目标动画。其中,目标动画模板可以是根据虚拟对象的特性预先编写的原生动画模板。
35.在一些实施例中,所述指令接收模块中包括用户角色创建层,所述指令接收模块中存储有第一映射表,所述第一映射表中包含已创建的用户角色与已创建的用户角色管理单元之间的对应关系;所述指令接收模块还用于:确定所述游戏指令中指示的正确用户角色集合,在所述第一映射表中未查询到所述正确用户角色集合中的第一用户角色的情况下,通过所述用户角色创建层在所述动作分发模块中创建所述第一用户角色对应的第一用户角色管理单元,并更新所述第一映射表。这样设置的好处在于,便于对用户角色进行统一管理,保证用户角色的准确性。
36.示例性的,第一映射表(map)可以以键值对形式存储,可以以已创建的用户角色的用户标识(uid)作为键(key),以已创建的用户角色管理单元作为值(value)。游戏指令中包含的内容是准确的,因此,可以根据游戏指令确定当前参与游戏的正确的用户角色,构成正确用户角色集合。
37.示例性的,第一用户角色可以是正确用户角色集合中的任意一个用户角色,在游戏开始前或游戏进行过程中,可能会加入新的玩家,因此,第一映射表中可能未包含正确用户角色集合中的全部用户角色,可针对正确用户角色集合中的每个用户角色在第一映射表中进行查询,若未查询到第一用户角色的uid,则可认为第一用户角色为一个新用户角色,
需要在客户端进行创建,因此,可以通过用户角色创建层创建对应的第一用户角色管理单元,以便后续利用第一用户角色管理单元对第一用户角色进行管理以及计算动画参数等。示例性的,在第一用户角色管理单元创建成功后,在第一映射表中添加第一用户角色和第一用户角色管理单元的对应关系,以对第一映射表进行更新,例如,在第一映射表中添加键为第一用户角色uid,值为第一用户角色管理单元的键值对。
38.在一些实施例中,所述指令接收模块中还包括用户角色校验层;所述用户角色校验层,用于在确定所述第一映射表中的第二用户角色未包含于所述正确用户角色集合的情况下,将所述第二用户角色对应的第二用户角色管理单元清除,并更新所述第一映射表。这样设置的好处在于,保证存在的用户角色为合法用户角色。
39.示例性的,在游戏进行过程中,用户可能存在掉线、退出游戏或变更角色(如从玩家变为观众)等情况,此时该用户对应的用户角色不应视为合法用户角色,也即不会存在于正常用户角色集合中,但第一映射表中可能依然存在该用户角色,需要及时清除。其中,第二用户角色可以是正确用户角色集合中的任意一个用户角色。具体的,可以遍历第一映射表中的每个用户角色,在确定第二用户角色未包含于正确用户角色集合时,可认为第二用户角色为非法用户角色,将对应的第二用户角色管理单元清除,避免对存储资源的占用,并将第二用户角色和第二用户角色管理单元的对应关系从第一映射表中删除,以更新所述第一映射表。
40.在一些实施例中,将任意一个已创建的用户角色管理单元记为当前用户角色管理单元,所述当前用户角色管理单元对应于当前用户角色,所述当前用户角色管理单元中包含虚拟对象创建层,所述当前用户角色管理单元中存储有第二映射表,所述第二映射表中包含所述当前用户角色关联的已创建的虚拟对象和对象位置信息之间的对应关系;所述当前用户角色管理单元用于:确定所述游戏指令中指示的所述当前用户角色关联的正确对象位置信息集合以及所述正确对象位置信息集合中各对象位置信息分别对应的正确虚拟对象标识,在所述第二映射表中未查询到所述正确对象位置信息集合中的第一对象位置信息的情况下,通过所述虚拟对象创建层根据所述第一对象位置信息对应的第一正确虚拟对象标识创建对应的第一虚拟对象,并更新所述第二映射表。这样设置的好处在于,以用户角色为单位,对用户角色下的虚拟对象进行统一管理,保证虚拟对象的准确性。
41.示例性的,第二映射表(map)可以以键值对形式存储,可以以已创建的虚拟对象的对象位置信息作为键(key),以已创建的虚拟对象作为值(value)。游戏指令中包含的内容是准确的,因此,可以根据游戏指令确定当前用户角色关联的正确的对象位置信息,构成正确对象位置信息集合。其中,对象位置信息例如可以是虚拟对象在所关联的用户角色下的位置序号,以卡牌为例,卡牌位置信息可以理解为在用户手中的第几张牌。
42.示例性的,第一对象位置信息可以是正确对象位置信息集合中的任意一个对象位置信息,在游戏进行过程中,虚拟对象的数量可能会动态增减,因此,第二映射表中可能未包含正确对象位置信息集合中的全部对象位置信息,可针对正确对象位置信息集合中的每个对象位置信息在第二映射表中进行查询,若未查询到第一对象位置信息,则可认为需要在客户端中的当前用户角色下新建一个关联的虚拟对象,因此,可以通过虚拟对象创建层创建游戏指令中指示的正确虚拟对象标识对应的第一虚拟对象,以便后续控制第一虚拟对象执行动画。示例性的,在第一虚拟对象创建成功后,在第二映射表中添加第一对象位置信
息和第一虚拟对象的对应关系,以对第一映射表进行更新。继续上述举例,用户角色a手中已有2张卡牌,第二映射表中包含位置1和对应的卡牌1,位置2和对应的卡牌2,而用户角色a进行要牌后,需要新增一个卡牌3,正确对象位置信息集合中包含位置1、位置2和位置3,因第二映射表中当前不存在位置3,因此需要创建位置3对应的卡牌3,并将该对应关系存储至第二映射表中。
43.在一些实施例中,所述当前用户角色管理单元中还包括虚拟对象校验层;所述虚拟对象校验层,用于在确定所述第二映射表中的第二对象位置信息未包含于所述正确对象位置信息集合的情况下,将所述第二对象位置信息对应的第二虚拟对象清除,并更新所述第二映射表。
44.示例性的,在游戏进行过程中,某个用户的设备可能存在网络不稳定等情况,无法实时准确地接收服务端的每个游戏指令,此时该用户角色下的虚拟对象可能会发生变化,如因网络超时系统自动删除某个虚拟对象,但客户端侧该虚拟对象仍存储于第二映射表中,因此,需要及时清除。其中,第二对象位置信息可以是正确对象位置信息集合中的任意一个对象位置信息。具体的,可以遍历第二映射表中的每个对象位置信息,在确定第二对象位置信息未包含于正确对象位置信息集合时,可认为第二对象位置信息对应的虚拟对象为非法虚拟对象,将该虚拟对象清除,避免对存储资源的占用,并将第二对象位置信息和第二虚拟对象的对应关系从第二映射表中删除,以更新所述第二映射表。
45.在一些实施例中,所述当前用户角色管理单元中还包括动画参数计算层;所述动画参数计算层,用于根据所述游戏指令指示的所述当前用户角色在游戏页面中的用户位置信息、所述第二映射表中的对象位置信息以及所述待执行动作,计算所述第二映射表中的各虚拟对象分别对应的动画参数。这样设置的好处在于,在对第二映射表中的虚拟对象进行过校验之后,保证当前存储的虚拟对象与当前接收的游戏指令中指示的正确的虚拟对象一致,根据用户位置信息、对象位置信息以及待执行动作,分别计算各虚拟对象对应的动画参数,以便后续生成准确的目标动画。
46.在一些实施例中,所述当前用户角色管理单元中还包括状态纠正参数计算层;所述状态纠正参数计算层,用于将所述游戏指令指示的各虚拟对象的正确状态信息与所述当前用户角色管理单元中存储的各虚拟对象的当前状态信息进行比对,在比对结果不一致的情况下,计算状态纠正参数,并将所述状态纠正参数发送至所述动画执行模块;所述动画执行模块,还用于根据所述状态纠正参数生成状态纠正动画,并控制对应的虚拟对象执行相应的状态纠正动画。这样设置的好处在于,可保证虚拟对象的状态是准确的。
47.示例性的,状态信息的具体内容可以根据虚拟对象的特点设定,以卡牌为例,状态信息可以包括明牌状态和暗牌状态等,若虚拟对象为虚拟人偶,状态信息可以包括虚拟人偶的脸部朝向、表情以及姿态等。若用户设备的网络不稳定,可能无法接收到服务端的每个游戏指令,因此可能存在动画漏执行的情况,导致客户端中虚拟对象的状态信息与服务端维护的正确状态信息发生偏差,因此,可以通过计算状态纠正参数并发送至动画执行模块,使得动画执行模块生成状态纠正动画并控制存在状态偏差的虚拟对象执行状态纠正动画,实现快速的状态纠正,而无需依次执行漏执行的动画,使得客户端快速恢复正常游戏状态。
48.为了便于理解本发明实施例,下面以应用程序为直播类应用程序,多人在线游戏为直播间内的卡牌游戏为例进行说明。直播间内的游戏对性能要求较高,传统的使用游戏
引擎的方案存在很多缺点,因此,可以采用原生动画实现。而卡牌游戏中,玩家数量可在开始游戏前和游戏过程中动态增加,并需实现发牌、要牌、翻牌、收牌游戏操作或动作,玩家数量有多个,游戏状态也较多,且每个玩家可能拥有的牌数不定,每张牌可能需要执行多种动画,玩家角色及动画管理比较复杂,通过采用本发明实施例中提供的动画处理方案,可以高效且条理清晰地使用客户端原生动画实现卡牌游戏的动画处理。
49.示例性的,在多人语音直播间中,主播可以邀请用户上麦并开启游戏。游戏中可以设置的虚拟对象包括卡牌等。游戏过程中可以涉及发牌、要牌、翻牌以及收牌等游戏阶段或游戏操作。作为一种示意性的游戏流程,对于发牌,轮流给参与游戏的每位玩家发一张,直到每位玩家拥有两张牌,第一张牌为底牌,每位玩家都能看到自己的底牌,但看不到其他玩家的底牌;对于要牌:从主播开始,按玩家麦位顺时针轮流选择要牌或者停牌,要牌则执行要牌动画,用户自己一侧要牌时需要挪牌以实现卡牌的整体居中对齐,并执行所要的新牌的翻牌动画,停牌则轮到下个玩家,直到最后本局全部玩家要牌结束;对于翻牌,本局全部玩家要牌结束,其他玩家的底牌执行翻牌动画,翻牌完成后,展示游戏胜负结果;对于收牌,全部卡牌翻牌,然后执行收牌动画,结束本局游戏。
50.图2为本发明实施例提供的一种指令接收模块的工作原理示意图。指令接收模块主要负责用户角色创建和存储,并且保证每个用户角色均处于有效状态,避免因用户中途下麦或断线等情况造成用户角色出现异常。指令接收模块还向每个用户角色对应的用户角色管理单元发送其下所有卡牌下一步所需要执行的动作,也即明确了每位玩家手上的每一张卡牌下一步应该执行什么动作。指令接收模块中的用户角色创建层和用户角色校验层保证内存中存在的都是合法用户角色。具体实现时,可使用第一映射表存储用户角色相关信息,使用用户uid作为key,用户角色管理单元作为value。收到model层派发的游戏指令后,当第一映射表中查询不到某个uid对应的用户角色管理单元时会创建一个用户角色管理单元并存于第一映射表中,若能够查询到,则无需创建。每次收到model层派发的游戏指令后,可利用用户角色校验层进行校验,遍历整个第一映射表中的所有用户角色,根据其uid,结合其在直播间内的状态,例如是否在麦上、是否已退出游戏、以及游戏角色是否变更(例如从玩家变为观众)等等进行游戏状态校验,若校验不通过,则将未通过的用户角色管理单元删除,并清空其卡牌状态,例如可通过向动作分发模块下发纠正指令来实现。经过用户角色校验层和用户角色校验层的处理之后,保证所有的用户角色和状态都是合法正确的。
51.如图2所示,对于发牌指令,可针对所有的用户角色管理单元分别确定各卡片的发牌动作,并向动作分发模块发送发牌动作,也即每个用户角色管理单元下的卡牌都有明确的动作指示。对于要牌指令,进行要牌操作的用户角色管理单元的新牌被派发要牌动作,非新牌被派发状态纠正指令,其他用户角色管理单元的所有卡牌被派发状态纠正指令。对于收牌指令,则所有用户角色管理单元下的卡牌先执行状态纠正指令,再执行收牌指令,并派发收牌动作。
52.图3为本发明实施例提供的一种动作分发模块的工作原理示意图。动作分发模块主要负责管理玩家的卡牌,具体负责卡牌控件的创建和存储,并保证每个玩家的卡牌和状态是正确的。根据用户角色的位置和状态等信息计算动画执行模块所需的每张卡牌的动画参数,或者不需要执行动画的卡牌所需的状态纠正参数,也即保证了下一层级动画执行模块中每个卡牌控件所需要执行的动画的动画参数是明确的。其中,卡牌创建层和卡牌校验
层保证内存中存在的都是合法的卡牌。具体实现时,可使用第二映射表存储卡牌相关信息,使用卡牌在玩家手中的位置序号作为key,以卡牌控件作为value。在收到指令接收模块转发的游戏指令后,当第二映射表中查询不到指令中对应位置的卡牌时,创建对应的卡牌控件。在进行校验时,第二映射表中未出现于指令中的卡牌视为非法卡牌,需移除对应的卡牌控件的显示并清除卡牌状态。经过卡牌创建层和卡牌校验层的处理可保证卡牌控件以及状态的合法性。
53.示例性的,参数计算层可包括动画参数计算层和状态纠正参数计算层,主要负责根据用户角色管理单元所属用户角色在直播间内的位置以及设计稿中对各种动画参数的描述等计算得到最终执行动画所需要的参数,动画参数可包括如时长、位置以及缩放参数等等。每个玩家位置不同,每个玩家的不同卡牌的位置不同,计算的参数也不相同。在计算得到动画参数和状态纠正参数后,传递至动画执行模块,动画执行模块无需进行额外的计算,根据接收到的参数生成对应的原生动画并控制对应的卡牌控件执行动画。
54.本发明实施例提供的动画处理系统,客户端直播间卡牌游戏中可以快捷生成卡牌、管理和校验卡牌以及纠正卡牌状态,快速准确地实现卡牌控件的显示和动画执行,保证游戏流程的正确,指令接收模块负责确定卡牌动作并进行分发,动作分发模块负责卡牌动画参数计算,动画执行模块负责接收参数和执行动画,各个模块划分清晰、分工明确,便于后期扩展和维护,无需接入游戏引擎也能快速实现卡牌游戏动画,接入成本低,而且对直播应用程序以及移动设备的性能消耗小。
55.图4为本发明实施例提供的一种动画处理方法的流程示意图,该方法应用于具有多人在线游戏功能的应用程序,所述多人在线游戏中涉及多个参与游戏的用户角色,可以由动画处理系统执行。如图4所示,该方法包括:
56.步骤401、通过指令接收模块收服务端下发的游戏指令,并根据所述游戏指令确定各用户角色分别关联的虚拟对象的待执行动作,将所述游戏指令和所述待执行动作以用户角色为单位分发至所述动作分发模块中对应的用户角色管理单元。
57.步骤402、通过所述动作分发模块分别针对各用户角色,利用对应的用户角色管理单元根据所接收到的游戏指令和待执行动作确定各虚拟对象分别对应的动画参数,并将所述动画参数发送至所述动画执行模块。
58.步骤403、通过所述动画执行模块根据所述动画参数生成对应的目标动画,并控制各虚拟对象执行相应的目标动画。
59.本发明实施例中提供的动画处理方法,应用于具有多人在线游戏功能的应用程序,多人在线游戏中涉及多个参与游戏的用户角色,由动画处理系统执行,通过指令接收模块接收服务端下发的游戏指令,并根据游戏指令确定各用户角色分别关联的虚拟对象的待执行动作,将游戏指令和待执行动作以用户角色为单位分发至动作分发模块中对应的用户角色管理单元,通过动作分发模块分别针对各用户角色,利用对应的用户角色管理单元根据所接收到的游戏指令和待执行动作确定各虚拟对象分别对应的动画参数,并将动画参数发送至动画执行模块,通过动画执行模块根据动画参数生成对应的目标动画,并控制各虚拟对象执行相应的目标动画。通过采用上述技术方案,动画处理系统中的各个模块划分清晰且分工明确,便于后期扩展和维护,无需接入游戏引擎也能快速实现游戏动画,接入成本低,对应用程序以及设备的性能消耗小。
60.本发明实施例中提供的动画处理方法还可包括用于实现本发明实施例提供的动画处理系统所具备的功能的相应步骤。
61.本发明实施例提供了一种动画处理设备,该动画处理设备中可集成本发明实施例提供的动画处理装置。图5为本发明实施例提供的一种动画处理设备的结构框图。动画处理设备500包括存储器501、处理器502及存储在存储器501上并可在处理器502上运行的计算机程序,所述处理器502执行所述计算机程序时实现本发明实施例提供的动画处理方法,或者实现本发明实施例提供的动画处理系统中具备的功能。
62.本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例提供的动画处理方法,或者实现本发明实施例提供的动画处理系统中具备的功能。
63.上述实施例中提供的动画处理方法、设备以及存储介质可用于实现本发明任意实施例所提供的动画处理系统具备的功能,具备实现相应功能的技术特征和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的动画处理系统。
64.注意,上述仅为本发明的较佳实施例。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1