CN109646954B - 游戏动画状态转换方法及装置 - Google Patents
游戏动画状态转换方法及装置 Download PDFInfo
- Publication number
- CN109646954B CN109646954B CN201811553288.XA CN201811553288A CN109646954B CN 109646954 B CN109646954 B CN 109646954B CN 201811553288 A CN201811553288 A CN 201811553288A CN 109646954 B CN109646954 B CN 109646954B
- Authority
- CN
- China
- Prior art keywords
- animation
- task corresponding
- data
- animation task
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例涉及游戏数据处理技术领域,具体而言,涉及一种游戏动画状态转换方法及装置。该方法能够根据用户输入的状态转换请求在查找出状态过渡数据,并解析得到状态过渡数据对应的多个动画任务,然后根据多个动画任务的优先级对多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放,如此,能够实现从当前状态数据到欲设状态数据的顺畅转换,进而实现游戏动画状态的顺畅转换。
Description
技术领域
本发明实施例涉及游戏数据处理技术领域,具体而言,涉及一种游戏动画状态转换方法及装置。
背景技术
游戏角色在游戏场景中的动画任务包括空闲、走路、跑步和跳跃等,在游戏场景中,游戏角色会处于走路或跑步等游戏动画状态。游戏角色会根据用户的操作需要从一种游戏动画状态进入到另一种游戏动画状态,但是现有的处理游戏动画状态转换的技术大多较为生硬,难以实现游戏动画状态的顺畅转换。
发明内容
有鉴于此,本发明提供了一种游戏动画状态转换方法及装置。
本发明实施例提供了一种游戏动画状态转换方法,应用于游戏客户端,所述方法包括:
获取用户输入的状态转换请求,根据所述状态转换请求在预设状态机数据池中查找是否存在从当前状态数据转换到欲设状态数据的状态过渡数据,若存在,解析获得所述状态过渡数据对应的多个动画任务;
获取所述多个动画任务中每个动画任务的优先级,按照获取得到的多个优先级对所述多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放。
可选地,所述方法还包括:
若所述预设状态机数据池中不存在所述状态过渡数据,解析获得所述欲设状态数据对应的动画任务;
将所述欲设状态数据对应的动画任务进行播放。
可选地,将所述欲设状态数据对应的动画任务进行播放的步骤,包括:
判断所述欲设状态数据是否为脉冲数据;
若所述欲设状态数据为脉冲数据,获取所述当前状态数据对应的动画任务,当完成对所述欲设状态数据对应的动画任务的播放时,播放所述当前状态数据对应的动画任务。
可选地,按照获取得到的多个优先级对所述多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放的步骤,包括:
获取最高优先级所对应的至少一个动画任务的权重值并累加;
判断所述最高优先级所对应的至少一个动画任务的权重值的累加值是否小于设定阈值;
若所述最高优先级所对应的至少一个动画任务的权重值的累加值不小于所述设定阈值,将所述最高优先级所对应的至少一个动画任务进行播放;
若所述最高优先级所对应的至少一个动画任务的权重值的累加值小于所述设定阈值,判断所述多个动画任务中是否存在次高优先级所对应的至少一个动画任务,若存在,获取所述次高优先级所对应的至少一个动画任务的权重值并累加,判断所述最高优先级所对应的至少一个动画任务的权重值与所述次高优先级所对应的至少一个动画任务的权重值的累加值是否小于所述设定阈值,若所述最高优先级所对应的至少一个动画任务的权重值与所述次高优先级所对应的至少一个动画任务的权重值的累加值不小于所述设定阈值,将最高优先级所对应的至少一个动画任务和所述次高优先级所对应的至少一个动画任务进行播放。
可选地,所述方法还包括:
若不存在次高优先级所对应的至少一个动画任务,将所述最高优先级所对应的至少一个动画任务进行播放。
本发明实施例还提供了一种游戏动画状态转换装置,应用于游戏客户端,所述装置包括:
状态过渡数据查找模块,用于获取用户输入的状态转换请求,根据所述状态转换请求在预设状态机数据池中查找是否存在从当前状态数据转换到欲设状态数据的状态过渡数据,若存在,解析获得所述状态过渡数据对应的多个动画任务;
动画任务播放模块,用于获取所述多个动画任务中每个动画任务的优先级,按照获取得到的多个优先级对所述多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放。
可选地,所述状态过渡数据查找模块还用于:若所述预设状态机数据池中不存在所述状态过渡数据,解析获得所述欲设状态数据对应的动画任务;所述动画任务播放模块还用于将所述欲设状态数据对应的动画任务进行播放。
可选地,所述动画任务播放模块通过以下方式将所述欲设状态数据对应的动画任务进行播放:
判断所述欲设状态数据是否为脉冲数据;
若所述欲设状态数据为脉冲数据,获取所述当前状态数据对应的动画任务,当完成对所述欲设状态数据对应的动画任务的播放时,播放所述当前状态数据对应的动画任务。
可选地,所述动画任务播放模块通过以下方式按照获取得到的多个优先级对所述多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放的步骤:
获取最高优先级所对应的至少一个动画任务的权重值并累加;
判断所述最高优先级所对应的至少一个动画任务的权重值的累加值是否小于设定阈值;
若所述最高优先级所对应的至少一个动画任务的权重值的累加值不小于所述设定阈值,将所述最高优先级所对应的至少一个动画任务进行播放;
若所述最高优先级所对应的至少一个动画任务的权重值的累加值小于所述设定阈值,判断所述多个动画任务中是否存在次高优先级所对应的至少一个动画任务,若存在所述次高优先级所对应的至少一个动画任务,获取所述次高优先级所对应的至少一个动画任务的权重值并累加,判断所述最高优先级所对应的至少一个动画任务的权重值与所述次高优先级所对应的至少一个动画任务的权重值的累加值是否小于所述设定阈值,若所述最高优先级所对应的至少一个动画任务的权重值与所述次高优先级所对应的至少一个动画任务的权重值的累加值不小于所述设定阈值,将最高优先级所对应的至少一个动画任务和所述次高优先级所对应的至少一个动画任务进行播放。
可选地,所述动画任务播放模块还用于:
若不存在次高优先级所对应的至少一个动画任务,将所述最高优先级所对应的至少一个动画任务进行播放。
本发明实施例还提供了一种游戏客户端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的游戏动画状态转换方法。
本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在游戏客户端执行上述的游戏动画状态转换方法。
有益效果
本发明实施例提供的游戏动画状态转换方法及装置,能够根据用户输入的状态转换请求在查找出状态过渡数据,并解析得到状态过渡数据对应的多个动画任务,然后根据多个动画任务的优先级对多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放,如此,能够实现从当前状态数据到欲设状态数据的顺畅转换,进而实现游戏动画状态的顺畅转换。
进一步地,通过多个动画任务的优先级对多个动画任务进行筛选,能够提高游戏动画状态转换的精准度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的一种游戏客户端10的方框示意图。
图2为本发明实施例所提供的一种游戏动画状态转换方法的流程图。
图3为一实施方式中图2所示的步骤S23包括的子步骤的示意图。
图4为本发明实施例所提供的一种游戏动画状态转换装置20的模块框图。
图标:
10-游戏客户端;11-存储器;12-处理器;13-网络模块;
20-游戏动画状态转换装置;21-状态过渡数据查找模块;22-动画任务播放模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
发明人经调查发现,现在大部分技术依然使用动画列表进行动画管理,对动画调用更为直接,也更原始,例如,用表格将数据记录下来,将有限的行为与动画表现对应,切换行为则修改表现,但是这种技术的功能与效果都欠佳,具体地,这种技术对动画任务的管理相对原始,没有同轴概念,对转身、倒退等行为无法完美诠释,同时对动画任务过渡无法精确表达。
以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
基于上述研究,本发明实施例提供了一种游戏动画状态转换方法及装置,能够实现游戏动画状态的顺畅转换。
图1示出了本发明实施例所提供的一种游戏客户端10的方框示意图。本发明实施例中的游戏客户端10具有数据存储、传输、处理功能,如图1所示,游戏客户端10包括:存储器11、处理器12、网络模块13和游戏动画状态转换装置20。
存储器11、处理器12和网络模块13之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有游戏动画状态转换装置20,所述游戏动画状态转换装置20包括至少一个可以软件或固件(firmware)的形式储存于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,例如本发明实施例中的游戏动画状态转换装置20,从而执行各种功能应用以及数据处理,即实现本发明实施例中的游戏动画状态转换方法。
其中,所述存储器11可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。
所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
网络模块13用于通过网络建立游戏客户端10与其他通信终端设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。
可以理解,图1所示的结构仅为示意,游戏客户端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在游戏客户端10执行下面的游戏动画状态转换方法。
图2示出了本发明实施例所提供的一种游戏动画状态转换方法的流程图。所述方法有关的流程所定义的方法步骤应用于游戏客户端10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述:
在本实施例中,游戏客户端10可以利用有限状态机模型实现游戏动画状态转换。
在执行本实施例所提供的方法之前,游戏客户端10会建立一预设状态机数据池,例如,通过编辑器获取状态数据和状态过渡数据并导出状态机文件,其中,状态机文件可以理解为游戏角色一套行为的所有配置文件。
进一步地,游戏客户端10加载状态机文件,建立预设状态机数据池进行状态机数据管理,状态机数据管理支持复用、引用等,方便开发制作并节约运行时内存,提高效率,具体管理内容如下:
1)引用,即当前状态机数据文件不包含所需内容时可去引用的状态机数据文件中查找。
2)复用,即不同角色可以使用相同的状态机数据文件。
3)建立原始状态机数据池,查询状态机数据如果没有则,否则直接应用。
4)将状态机数据拆分成引用表,组合状态数据过渡数据,即当前状态机及其引用状态机的所有节点和过渡提出引用,相同状态节点或者过渡节点以当前状态机为准,遵守引用规则。
可选地,预设状态机数据池还能支持数据复用,如此,能够有效节省运行时间,减轻计算机的处理压力。
可以理解,本实施例所提供的游戏动画状态转换方法基于上述预设状态机数据池实现。具体请参照以下步骤:
步骤S21,获取用户输入的状态转换请求,根据状态转换请求在预设状态机数据池中查找是否存在从当前状态数据转换到欲设状态数据的状态过渡数据。
可以理解,从当前状态数据转换到欲设状态数据时,需要状态过渡数据进行过渡,否则,体现在动画任务层面会显得动作连贯性、衔接度差。
因此,游戏客户端10会在预设状态机数据池中查找是否存在从当前状态数据转换到欲设状态数据的状态过渡数据,若存在,转向步骤S22,若不存在,转向步骤S24。
步骤S22,解析获得状态过渡数据对应的多个动画任务。
可以理解,状态过渡数据对应有对个动画任务,游戏客户端10会对状态过渡数据进行解析,进而获得该状态过渡数据对应的多个动画任务。
步骤S23,获取多个动画任务中每个动画任务的优先级,按照获取得到的多个优先级对多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放。
可以理解,通过步骤S22解析获得了状态过渡数据对应的多个动画任务之后,为了提高动画任务转换的精准度,需要对多个动画任务进行筛选,否则,即使能够实现从当前状态数据转换到欲设状态数据的顺畅过渡,在过渡过程中也可能出现不自然的现象。
请结合参阅图3,本实施例中通过步骤S231~步骤S237列举了步骤S23的其中一种实现方式。
步骤S231,获取多个动画任务中每个动画任务的优先级和权重值,按照获取得到的优先级从高到低的顺序对每个动画任务的权重值进行排序。
例如,状态过渡数据对应的动画任务为:state1、state2、state3、state4、state5、state6、state7、state8、state9、state10、state11、state12和state13。
每个动画任务对应的优先级为:p1、p2、p3、p4、p5、p6、p7、p8、p9、p10、p11、p12和p13。
每个动画对应的权重值为:w1、w2、w3、w4、w5、w6、w7、w8、w9、w10、w11、w12和w13。
又例如,按照优先级从高到底进行从高到低的顺序对每个动画任务的权重值进行排序的结果如下:
优先级1:w3、w4、w5和w6。
优先级2:w1和w2。
优先级3:w7、w8、w9、w10、w11、w12和w13。
步骤S232,获取最高优先级所对应的至少一个动画任务的权重值并累加。
例如,累加权重值记为w,则w=w3+w4+w5+w6。
步骤S233,判断最高优先级所对应的至少一个动画任务的权重值的累加值是否小于设定阈值。
在本实施例中,设定阈值为1,可以理解,权重值以百分比进行统计。
若w不小于1,转向步骤S234。
若w小于1,转向步骤S235。
步骤S234,将最高优先级所对应的至少一个动画任务进行播放。
可以理解,若w不小于1,例如:w3=30%,w4=50%,w5=80%,w6=90%,此时会对w3、w4、w5和w6进行平滑处理进而得到平滑处理之后的权重值w 3 、w 4 、w 5 和w 6 。又例如,w 3 =w3/(w3+w4+w5+w6)。
进一步地,根据平滑处理之后的权重值w 3 、w 4 、w 5 和w 6 对动画任务state3、state4、state5和state6进行播放。
如此,在保证动画任务转换的流畅度的基础上还能够提高动画转换的精准度,能够实现从当前状态数据转换到欲设状态数据的顺畅、自然过渡/转换。
步骤235,判断多个动画任务中是否存在次高优先级所对应的至少一个动画任务。
若存在,转向步骤S236。
若不存在,转向步骤S234。
步骤S236,获取次高优先级所对应的至少一个动画任务的权重值并累加,根据最高优先级所对应的至少一个动画任务的权重值与次高优先级所对应的至少一个动画任务的权重值的累加值进行对应操作。
例如,若w小于1,会查找是否存在次高优先级所对应的至少一个动画任务以及权重值。在本实施例中,次高优先级对应的权重值为w1和w2,因此,会将w1和w2依次累加至w。
又例如,先将w1累加至w,此时w=w3+w4+w5+w6+w1,若w3+w4+w5+w6+w1不小于1,将w3、w4、w5、w6和w1作平滑处理,然后平滑处理之后的权重值对动画任务state3、state4、state5、state6和state1进行播放。
又例如,若w3+w4+w5+w6+w1仍然小于1,则将w2累加至w,重复并继续设定阈值1进行比较。
又例如,若优先级排序结果如下:
优先级1:w3、w4、w5和w6。
优先级2:无。
优先级3:无。
且w3+w4+w5+w6小于1,此时直接对w3、w4、w5和w6进行平滑处理。
需要注意的是,通过步骤S235转向步骤S234时的平滑处理与通过步骤S233转向步骤S234时的平滑处理不同。
如此,能够根据状态过渡数据中对应的动画任务的优先级进行动画任务的筛选,保证从当前状态数据转换到欲设状态数据的过程能够顺畅和精确,反映到游戏视觉层面能够保证游戏角色在动作状态切换的时候更流畅和自然,不会出现超前或者延迟。
步骤S24,解析获得欲设状态数据对应的动画任务,将欲设状态数据对应的动画任务进行播放。
具体地,在对欲设状态数据对应的动画任务进行播放之前会判断欲设状态数据是否为脉冲数据。
若欲设状态数据为脉冲数据,获取当前状态数据对应的动画任务,当完成对欲设状态数据对应的动画任务的播放时,播放(还原)当前状态数据对应的动画任务。
例如,当前状态数据对应的动画任务为站立,欲设状态数据对应的动画任务为投掷标枪(脉冲数据),当播放完投掷标枪这一动画任务时,会还原到站立的动画任务。
若欲设状态数据不为脉冲数据,直接播放欲设状态数据对应的动画任务。
又例如,当前状态数据对应的动画任务为站立,欲设状态数据对应的动画任务为平躺,当播放完平躺这一动画任务时,不会还原到站立的动画任务。
可以理解,在动画任务过程中有三种情况:脉冲、循环和维持。
脉冲是指执行完欲设状态数据对应的动画任务之后还原之前的动画任务,循环是指一直循环执行欲设状态数据对应的动画任务(多次),维持是指只执行一次欲设状态数据对应的动画任务。
可以理解,在实际情况中,可以根据上述三种情况对动画任务转换设计相应的判定流程,本实施例所公开的情况为脉冲,而循环和维持的判定和实现原理与脉冲一致,因此在此不作更多说明。
游戏客户端10在内存中执行动画任务的播放的时候,为了减轻内存的压力,会对未显示的动画任务进行删除,例如,逻辑处理层面是对state3、state4、state5、state6和state1进行三次播放,显示层面只进行了两次播放,因此,会删除一轮state3、state4、state5、state6和state1,如此,能够减轻内存的计算压力。
反映到游戏层面,例如游戏角色站在海边,用户从显示器上观看到有两海浪翻腾,但是逻辑处理层面是三个海浪翻腾,此时,游戏客户端10会将没有翻腾的动画任务删除。
可选地,若从当前状态数据转换到欲设状态数据的过程中带有帧时间,则会触发帧事件。
可选地,如果已获取的动画任务包含事件,且事件触发时间在当前帧与上帧之间(包含当前帧),则触发该事件。
例如,假设动画帧为30帧每秒,逻辑帧为60帧每秒,逻辑第19帧和逻辑第20帧存在触发事件。
可以理解,若显示动画第10帧,此时对应逻辑第20帧,会漏掉第19帧的触发事件,若显示动画第9帧,此时对应逻辑第18帧,逻辑帧还未走到第19帧,因此,在显示动画第10帧的时候会直接触发逻辑第19帧和第20帧的事件,如此,能够避免触发事件的遗漏。
可以理解,本实施例结合状态机进行游戏动画状态转换,能够有效降低开发难度、节约开发时间,反映到游戏层面,游戏角色奔跑时转弯动画更顺畅,起跳落地更自然,脚触地溅起烟尘或水花更方便准时等。
在上述基础上,如图4所示,本发明实施例提供了一种游戏动画状态转换装置20,所述游戏动画状态转换装置20包括:状态过渡数据查找模块21和动画任务播放模块24。
状态过渡数据查找模块21,用于获取用户输入的状态转换请求,根据所述状态转换请求在预设状态机数据池中查找是否存在从当前状态数据转换到欲设状态数据的状态过渡数据,若存在,解析获得所述状态过渡数据对应的多个动画任务。
由于状态过渡数据查找模块21和图2中步骤S21、步骤S22和步骤S24的实现原理类似,因此在此不作更多说明。
动画任务播放模块22,用于获取所述多个动画任务中每个动画任务的优先级,按照获取得到的多个优先级对所述多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放。
由于动画任务播放模块22和图2中步骤S23和步骤S24的实现原理类似,因此在此不作更多说明。
综上,本发明实施例所提供的游戏动画状态转换方法及装置,能够实现从当前状态数据到欲设状态数据的顺畅转换,进而实现游戏动画状态的顺畅转换,通过多个动画任务的优先级对多个动画任务进行筛选,能够提高游戏动画状态转换的精准度。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,游戏客户端10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种游戏动画状态转换方法,其特征在于,应用于游戏客户端,所述方法包括:
获取用户输入的状态转换请求,根据所述状态转换请求在预设状态机数据池中查找是否存在从当前状态数据转换到欲设状态数据的状态过渡数据,若存在,解析获得所述状态过渡数据对应的多个动画任务;
获取所述多个动画任务中每个动画任务的优先级,按照获取得到的多个优先级对所述多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放。
2.根据权利要求1所述的游戏动画状态转换方法,其特征在于,所述方法还包括:
若所述预设状态机数据池中不存在所述状态过渡数据,解析获得所述欲设状态数据对应的动画任务;
将所述欲设状态数据对应的动画任务进行播放。
3.根据权利要求2所述的游戏动画状态转换方法,其特征在于,将所述欲设状态数据对应的动画任务进行播放的步骤,包括:
判断所述欲设状态数据是否为脉冲数据;
若所述欲设状态数据为脉冲数据,获取所述当前状态数据对应的动画任务,当完成对所述欲设状态数据对应的动画任务的播放时,播放所述当前状态数据对应的动画任务。
4.根据权利要求1所述的游戏动画状态转换方法,其特征在于,按照获取得到的多个优先级对所述多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放的步骤,包括:
获取最高优先级所对应的至少一个动画任务的权重值并累加;
判断所述最高优先级所对应的至少一个动画任务的权重值的累加值是否小于设定阈值;
若所述最高优先级所对应的至少一个动画任务的权重值的累加值不小于所述设定阈值,将所述最高优先级所对应的至少一个动画任务进行播放;
若所述最高优先级所对应的至少一个动画任务的权重值的累加值小于所述设定阈值,判断所述多个动画任务中是否存在次高优先级所对应的至少一个动画任务,若存在,获取所述次高优先级所对应的至少一个动画任务的权重值并累加,判断所述最高优先级所对应的至少一个动画任务的权重值与所述次高优先级所对应的至少一个动画任务的权重值的累加值是否小于所述设定阈值,若所述最高优先级所对应的至少一个动画任务的权重值与所述次高优先级所对应的至少一个动画任务的权重值的累加值不小于所述设定阈值,将最高优先级所对应的至少一个动画任务和所述次高优先级所对应的至少一个动画任务进行播放。
5.根据权利要求4所述的游戏动画状态转换方法,其特征在于,所述方法还包括:
若不存在次高优先级所对应的至少一个动画任务,将所述最高优先级所对应的至少一个动画任务进行播放。
6.一种游戏动画状态转换装置,其特征在于,应用于游戏客户端,所述装置包括:
状态过渡数据查找模块,用于获取用户输入的状态转换请求,根据所述状态转换请求在预设状态机数据池中查找是否存在从当前状态数据转换到欲设状态数据的状态过渡数据,若存在,解析获得所述状态过渡数据对应的多个动画任务;
动画任务播放模块,用于获取所述多个动画任务中每个动画任务的优先级,按照获取得到的多个优先级对所述多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放。
7.根据权利要求6所述的游戏动画状态转换装置,其特征在于,所述状态过渡数据查找模块还用于:若所述预设状态机数据池中不存在所述状态过渡数据,解析获得所述欲设状态数据对应的动画任务;所述动画任务播放模块还用于将所述欲设状态数据对应的动画任务进行播放。
8.根据权利要求7所述的游戏动画状态转换装置,其特征在于,所述动画任务播放模块通过以下方式将所述欲设状态数据对应的动画任务进行播放:
判断所述欲设状态数据是否为脉冲数据;
若所述欲设状态数据为脉冲数据,获取所述当前状态数据对应的动画任务,当完成对所述欲设状态数据对应的动画任务的播放时,播放所述当前状态数据对应的动画任务。
9.根据权利要求6所述的游戏动画状态转换装置,其特征在于,所述动画任务播放模块通过以下方式按照获取得到的多个优先级对所述多个动画任务进行筛选,将筛选得到的至少一个动画任务进行播放的步骤:
获取最高优先级所对应的至少一个动画任务的权重值并累加;
判断所述最高优先级所对应的至少一个动画任务的权重值的累加值是否小于设定阈值;
若所述最高优先级所对应的至少一个动画任务的权重值的累加值不小于所述设定阈值,将所述最高优先级所对应的至少一个动画任务进行播放;
若所述最高优先级所对应的至少一个动画任务的权重值的累加值小于所述设定阈值,判断所述多个动画任务中是否存在次高优先级所对应的至少一个动画任务,若存在所述次高优先级所对应的至少一个动画任务,获取所述次高优先级所对应的至少一个动画任务的权重值并累加,判断所述最高优先级所对应的至少一个动画任务的权重值与所述次高优先级所对应的至少一个动画任务的权重值的累加值是否小于所述设定阈值,若所述最高优先级所对应的至少一个动画任务的权重值与所述次高优先级所对应的至少一个动画任务的权重值的累加值不小于所述设定阈值,将最高优先级所对应的至少一个动画任务和所述次高优先级所对应的至少一个动画任务进行播放。
10.根据权利要求9所述的游戏动画状态转换装置,其特征在于,所述动画任务播放模块还用于:
若不存在次高优先级所对应的至少一个动画任务,将所述最高优先级所对应的至少一个动画任务进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811553288.XA CN109646954B (zh) | 2018-12-18 | 2018-12-18 | 游戏动画状态转换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811553288.XA CN109646954B (zh) | 2018-12-18 | 2018-12-18 | 游戏动画状态转换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109646954A CN109646954A (zh) | 2019-04-19 |
CN109646954B true CN109646954B (zh) | 2022-04-05 |
Family
ID=66114814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811553288.XA Active CN109646954B (zh) | 2018-12-18 | 2018-12-18 | 游戏动画状态转换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109646954B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113750537A (zh) * | 2021-09-08 | 2021-12-07 | 福建天晴在线互动科技有限公司 | 一种编辑游戏状态迁移的方法及其系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2007237356A1 (en) * | 2007-12-05 | 2009-06-25 | Canon Kabushiki Kaisha | Animated user interface control elements |
CN104461718B (zh) * | 2013-09-23 | 2017-12-12 | 腾讯科技(深圳)有限公司 | 游戏应用的画面播放方法和客户端 |
US10369469B2 (en) * | 2016-11-09 | 2019-08-06 | Electronic Arts Inc. | Runtime animation substitution |
CN106791485B (zh) * | 2016-11-16 | 2020-02-07 | 深圳市异度信息产业有限公司 | 视频的切换方法及装置 |
CN106780683A (zh) * | 2017-02-23 | 2017-05-31 | 网易(杭州)网络有限公司 | 骨骼动画数据的处理方法及装置 |
CN107612892A (zh) * | 2017-08-31 | 2018-01-19 | 北京鹏润鸿途科技股份有限公司 | 基于流媒体的数据处理方法、装置、系统和电子设备 |
CN108415780A (zh) * | 2018-01-25 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 一种信息展示方法和装置 |
CN109086105B (zh) * | 2018-08-14 | 2022-12-06 | 北京奇艺世纪科技有限公司 | 一种页面布局转换方法、装置及电子设备 |
-
2018
- 2018-12-18 CN CN201811553288.XA patent/CN109646954B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109646954A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933487B (zh) | 卡点视频的生成方法、装置、设备及存储介质 | |
CN111464373A (zh) | 一种微服务全链路监控系统及方法 | |
CN107992661B (zh) | Cad建模数据流式传输方法、服务器和客户端 | |
CN110413346A (zh) | 一种参数更新方法及装置 | |
WO2004077273A3 (en) | Photosharing server filters for automatic storage and sharing of digital files | |
CN111385594B (zh) | 一种虚拟角色互动方法、装置和存储介质 | |
US20170168668A1 (en) | Method and electronic device for displaying menu on apparatus | |
CN106126731B (zh) | 一种获取Elasticsearch分页数据的方法及装置 | |
CN109646954B (zh) | 游戏动画状态转换方法及装置 | |
CN107249144B (zh) | 多媒体文件解码的方法、多媒体播放器和播放设备 | |
Batty | The emergence of cities: complexity and urban dynamics | |
CN110099061B (zh) | 一种云平台视频流服务选择方法及装置 | |
CN109508412B (zh) | 一种时间序列处理的计算流图构建方法和装置 | |
WO2015196975A1 (zh) | 一种生成用户名的方法及系统 | |
CN114422844B (zh) | 弹幕素材生成方法、推荐方法、装置、设备、介质及产品 | |
JP2012212997A (ja) | 表示装置及びプログラム | |
CN113569097B (zh) | 结构化信息抽取方法、装置、设备以及存储介质 | |
CN105208084B (zh) | 一种用于确定待部署资源的方法和装置 | |
CN113268324A (zh) | 一种任务调度方法及装置、存储介质、计算机设备 | |
CN113886376A (zh) | 一种数据清理方法、装置、电子设备及介质 | |
CN113645585A (zh) | 一种物联网数据采集方法 | |
CN112363774A (zh) | Storm实时任务的配置方法及装置 | |
CN111355981B (zh) | 视频数据播放方法、装置、存储介质及电子设备 | |
CN109473116A (zh) | 语音编码方法、语音解码方法及装置 | |
CN103051966A (zh) | 一种视频加速智能控制方法及基于该方法的视频加速控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |