一种动画资源的配置方法、播放方法和装置与流程

文档序号:11145141阅读:281来源:国知局
一种动画资源的配置方法、播放方法和装置与制造工艺

本发明涉及计算机技术领域,尤其涉及一种动画资源的配置方法、播放方法和装置。



背景技术:

动画资源是描述动画的完整数据信息,比如一个图像互换格式(Graphics Interchange Format,GIF)文件,它包含了动画的图片数据和控制数据。在终端播放动画资源时,调用图片绘制引擎读取该动画资源中已保存的图片数据,然后按照一定的帧率进行播放,此时在动画资源中图片数据和控制数据都已经提前配置好,并确定下来,因此动画资源播放时能够显示的画质以及播放参量都是提前配置好的。但是在目前的动画资源中图片数据和控制数据通常是杂糅在一起的,共同保存在动画资源的文件体数据中,通过文件头数据中的不同字段和标识来分别读取图片数据和控制数据,但这种图片数据与控制数据杂糅在一起的动画资源,存在管理起来不灵活,渲染优化不方便,画质修改受局限的缺点,例如图片绘制引擎变更、要求更新动画画质时,都会引发已有的动画资源无法兼容的问题,由于动画资源中的控制数据和图片数据是杂糅在一起的,这就需要重新制作动画资源。

举例说明,绘制引擎DirectX或OpenGL不能直接从动画资源中创建纹理特征,而是需要先绘制图片,这就需要先从动画资源中与控制数据杂糅在一起的图片数据中抽取出多个帧的图片,对于每个帧的图片数据再生成纹理特征,然后将涵盖图片数据的纹理特征提交到显卡,抽取每个帧的图片数据时就需要多次合并到纹理特征中,而这显然导致对动画资源的使用不够灵活,操作复杂。



技术实现要素:

本发明实施例提供了一种动画资源的配置方法、播放方法和装置,用于简化对动画资源的管理,画质修改和渲染优化简单易操作。

为解决上述技术问题,本发明实施例提供以下技术方案:

第一方面,本发明实施例提供一种动画资源的配置方法,包括:

根据预先输入的帧配置信息获取配置给不同帧时间的至少两个图片源文件;

将所述至少两个图片源文件合并到图片数据中,所述至少两个图片源文件在所述图片数据中分别处于不同的区域位置;

根据所述帧配置信息和所述至少两个图片源文件在所述图片数据中的区域位置生成控制数据;

将所述控制数据和所述图片数据分别存储到两个不同的文件数据包中,并将所述两个不同的文件数据包打包在一起从而得到动画资源。

第二方面,本发明实施例还提供一种动画资源的播放方法,包括:

获取需要播放的动画资源;

从所述动画资源中解析出两个不同的文件数据包,并根据所述两个不同的文件数据包分别获取到控制数据和图片数据;

根据所述控制数据从所述图片数据的不同区域位置分别获取到至少两个图片源文件;

根据所述控制数据在不同的帧时间依次播放所述至少两个图片源文件。

第三方面,本发明实施例提供一种动画资源的配置装置,包括:

图片获取模块,用于根据预先输入的帧配置信息获取配置给不同帧时间的至少两个图片源文件;

图片合并模块,用于将所述至少两个图片源文件合并到图片数据中,所述至少两个图片源文件在所述图片数据中分别处于不同的区域位置;

控制数据生成模块,用于根据所述帧配置信息和所述至少两个图片源文件在所述图片数据中的区域位置生成控制数据;

数据分类打包模块,用于将所述控制数据和所述图片数据分别存储到两个不同的文件数据包中,并将所述两个不同的文件数据包打包在一起从而得到动画资源。

第四方面,本发明实施例提供一种动画资源的播放装置,包括:

动画获取模块,用于获取需要播放的动画资源;

数据分类解析模块,用于从所述动画资源中解析出两个不同的文件数据包,并根据所述两个不同的文件数据包分别获取到控制数据和图片数据;

图片读取模块,用于根据所述控制数据从所述图片数据的不同区域位置分别获取到至少两个图片源文件;

动画播放模块,用于根据所述控制数据在不同的帧时间依次播放所述至少两个图片源文件。

从以上技术方案可以看出,本发明实施例具有以下优点:

在本发明实施例提供的动画资源的配置方法中,首先根据预先输入的帧配置信息获取配置给不同帧时间的至少两个图片源文件,然后将至少两个图片源文件合并到图片数据中,至少两个图片源文件在图片数据中分别处于不同的区域位置,接下来根据帧配置信息和至少两个图片源文件在图片数据中的区域位置生成控制数据,最后将控制数据和图片数据分别存储到两个不同的文件数据包中,并将两个不同的文件数据包打包在一起从而得到动画资源。由于至少两个图片源文件在合并之后在图片数据中处于不同的区域位置,因此在将控制数据和图片数据分别打包存储之后,两个不同的文件数据包分别控制数据和图片数据,因此在需要对控制数据、图片数据做更新时很容易实现,无需重新制作动画资源,简化对动画资源的管理,通过对控制数据的更新可以实现渲染优化易操作,通过对图片数据的更新可以实现画质修改易操作。

在本发明实施例提供的动画资源的播放方法中,首先获取需要播放的动画资源,然后从动画资源中解析出两个不同的文件数据包,并根据两个不同的文件数据包分别获取到控制数据和图片数据,接下来根据控制数据从图片数据的不同区域位置分别获取到至少两个图片源文件,最后根据控制数据在不同的帧时间依次播放至少两个图片源文件。由于在动画资源中是以两个不同的文件数据包对控制数据和图片数据分别打包存储,因此在读取图片数据和控制数据可以在两个文件数据包中分别完成,动画资源的播放效率更高。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种动画资源的配置方法的流程方框示意图;

图2为本发明实施例提供的一种动画资源的播放方法的流程方框示意图;

图3-a为本发明实施例提供的多个图片源文件的应用场景示意图;

图3-b为本发明实施例提供的合并后的图片数据的一种应用场景示意图;

图4为本发明实施例提供的动画资源的配置方法应用于配置工具的操作界面示意图;

图5为本发明实施例提供的动画资源的配置方法在一种应用场景下的实现流程示意图;

图6为本发明实施例提供的动画资源的播放方法的一种应用场景下的实现流程示意图;

图7-a为本发明实施例提供的一种动画资源的配置装置的组成结构示意图;

图7-b为本发明实施例提供的另一种动画资源的配置装置的组成结构示意图;

图8-a为本发明实施例提供的一种动画资源的播放装置的组成结构示意图;

图8-b为本发明实施例提供的另一种动画资源的播放装置的组成结构示意图;

图9为本发明实施例提供的动画资源的配置方法应用于服务器的组成结构示意图;

图10为本发明实施例提供的动画资源的播放方法应用于终端的组成结构示意图。

具体实施方式

本发明实施例提供了一种动画资源的配置方法、播放方法和装置,用于简化对动画资源的管理,画质修改和渲染优化简单易操作。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

以下分别进行详细说明。

本发明动画资源的配置方法的一个实施例,具体可以应用于配置动画资源的过程中,便于对动画资源的管理,请参阅图1所示,本发明一个实施例提供的动画资源的配置方法,可以包括如下步骤:

101、根据预先输入的帧配置信息获取配置给不同帧时间的至少两个图片源文件。

在本发明实施例中,图片源文件是指动画应用场景中需要播放的图片,图片源文件的格式可以有多种,可以是高画质图片,也可以是低画质图片,通常可以按照动画播放顺序将至少两个图片源文件配置给不同帧时间,根据帧配置信息按照先后播放顺序来获取到至少两个图片源文件,其中帧配置信息可以由用户输入,也可以根据动画资源的配置装置中默认的参数来输入帧配置信息,例如帧配置信息可以包括:帧数、每帧间隔等信息。在实际应用中,配置给不同帧时间的至少两个图片源文件可以采用不同的数字来命名各个图片源文件,则各个源文件的播放顺序通过名称中的数字顺序来确定。

102、将至少两个图片源文件合并到图片数据中,至少两个图片源文件在图片数据中分别处于不同的区域位置。

在本发明实施例中,获取到至少两个图片源文件之后,将至少两个图片源文件合并到图片数据中,至少两个图片源文件在图片数据中分别处于不同的区域位置,具体合成后的图片数据的最大宽度和最大高度可以根据具体应用场景来确定,通过对多个图片源文件的合并操作,使得多个图片源文件可以合并到一个图片数据,后续在存储时只需要存储该图片数据即可,无需再对每个图片源文件进行存储,通过合并多个图片源文件得到的图片数据具体可以是高画质的图片数据。举例说明,图片源文件可以是6个,分别为源图片1、源图片2、源图片3、源图片4、源图片5、源图片6、则这6个源图片可以合并到一个图片数据中,该图片数据是比源图片的宽度和高度都要大的图片,在合并后的图片数据中源图片1、源图片2、源图片3、源图片4、源图片5、源图片6分别对应于图片数据中的不同区域位置,各个源图片的区域位置可以通过图片数据中的区域坐标来表示,则通过区域位置的查找可以从图片数据中获取到各个源图片。

在本发明的一些实施例中,步骤102将至少两个图片源文件合并到图片数据中之后,本发明实施例提供的动画资源的配置方法还包括如下步骤:

A1、按照预置的图片转换格式对图片数据进行格式转换从而生成指定格式的图片数据。

具体的,本发明实施例中通过合并多个图片源文件得到图片数据之后,该图片数据中包括有所有图片源文件的纹理特征,若用户对图片的格式有特殊要求,或者图片绘制引擎只能够识别某种或某些特殊格式的图片,本发明实施例中还可以对合并图片源文件得到的图片数据进行格式转换,从而方便图片绘制引擎能够对指定格式的图片数据进行渲染优化,及时绘制引擎发生更新或者更换,也可以通过图片转换得到指定格式的图片数据,使得所有绘制引擎都能够支持读取和绘制,绘制引擎不需要做任何适配就可以播放动画资源。举例说明,本发明实施例中通过合并多个图片源文件得到的图片数据为TGA(Tagged Graphics)文件,这是一种常用的高质量图片格式,如果更换的绘制引擎不支持读取绘制TGA文件,但它支持bmp(bitmap)文件,这时就可以将TGA文件转换成bmp文件,让动画资源可以在新的绘制引擎上播放。

103、根据帧配置信息和至少两个图片源文件在图片数据中的区域位置生成控制数据。

在本发明实施例中,将至少两个图片源文件合并到图片数据中之后,需要记录每个图片源文件在图片数据中的区域位置,通过每个图片源文件对应的区域位置和帧配置信息再生成控制数据,该控制数据用于描述动画的变化情况,通过该控制数据可以指导图片数据如何进行播放,并且在控制数据中还携带有每个图片源文件在图片数据中的区域位置,因此在生成的控制数据中能够指示动画如何播放完成。

在本发明的一些实施例中,控制数据包括:图片数据的存储路径、至少两个图片源文件在图片数据中分别所处的区域位置、动画播放时长、动画播放次数、动画播放完毕后是否隐藏播放窗口。具体的,在实际应用中可以根据需要来灵活配置控制数据包括的一种或多种数据内容,其中,图片数据的存储路径可以写入控制数据,从而通过解析控制数据就可以获取到图片数据的存储路径,动画播放时长是指动画资源播放的时间总长度,动画播放次数是指动画资源播放的次数,可以根据用户需要来配置,动画播放完毕后是否隐藏播放窗口也可以由用户来配置,或者采用默认配置的方式,此处不做限定。

在本发明的一些实施例中,步骤103根据帧配置信息和至少两个图片源文件在图片数据中的区域位置生成控制数据,具体可以包括如下步骤:

B1、根据帧配置信息和至少两个图片源文件在图片数据中的区域位置,按照可扩展标记语言(Extensible Markup Language,XML)格式生成控制数据。

具体的,通过帧配置信息和至少两个图片源文件在图片数据中的区域位置生成控制数据时,可以将该控制数据按照XML格式输出,XML格式的控制数据是文本文件,便于对控制数据的后期更新,例如多个控制数据在合并时可以通过文本文件的修改就可以完成,另外控制数据也可以通过用户进行手动编辑,文本文件编辑完成后保存即可以在动画资源中生效,而无需再次生成动画资源。

104、将控制数据和图片数据分别存储到两个不同的文件数据包中,并将两个不同的文件数据包打包在一起从而得到动画资源。

在本发明实施例中,为了改变现有技术中图片数据和控制数据杂糅在一起的存储方式,本发明实施例中在分别生成图片数据和控制数据之后,将控制数据和图片数据分别存储到两个不同的文件数据包中,并将两个不同的文件数据包打包在一起从而得到动画资源。在现有技术中,文件数据从头到尾一般被分为文件头(格式定义)、文件体(文件数据)、文件尾(其他),在文件头里面会记录图片数据在文件体中的开始位置以及图片数据的长度,同样的,文件头里面也会有控制数据的位置及长度,因此在现有技术中文件体是共同记录有图片数据和控制数据的,图片数据和控制数据的区分通过文件头中的标识位来描述,这是目前采用的通用文件数据生成方式,本发明实施例采用与之完全不同的文件数据生成方式,改变了现有技术中图片数据和控制数据杂糅存储的惯用思维,并且现有技术中每个图片源文件直接存储在文件体中,本发明实施例先对多个图片源文件进行合并操作,从而生成一个图片数据,这就为图片数据和控制数据分离存储提供了先决条件,使得在存储图片文件的数据包中不再有多个图片源文件,而是只存储有合并后的图片数据,但是合并后的图片数据中保存所有图片源文件的纹理特征,可以通过该图片文件还原出每个图片源文件。本发明实施例中通过合并图片源文件以及图片数据、控制数据的分离存储,改变了现有的动画资源的配置方式,使得按照本发明实施例配置的动画资源能够包括两个不同的文件数据包,对图片数据、控制数据的更新容易实现,无需重新生成动画资源。

通过以上实施例对本发明实施例的描述可知,首先根据预先输入的帧配置信息获取配置给不同帧时间的至少两个图片源文件,然后将至少两个图片源文件合并到图片数据中,至少两个图片源文件在图片数据中分别处于不同的区域位置,接下来根据帧配置信息和至少两个图片源文件在图片数据中的区域位置生成控制数据,最后将控制数据和图片数据分别存储到两个不同的文件数据包中,并将两个不同的文件数据包打包在一起从而得到动画资源。由于至少两个图片源文件在合并之后在图片数据中处于不同的区域位置,因此在将控制数据和图片数据分别打包存储之后,两个不同的文件数据包分别控制数据和图片数据,因此在需要对控制数据、图片数据做更新时很容易实现,无需重新制作动画资源,简化对动画资源的管理,通过对控制数据的更新可以实现渲染优化易操作,通过对图片数据的更新可以实现画质修改易操作。

前述实施例中从动画资源的配置制作过程进行了说明,接下来对通过本发明实施例制作出的动画资源进行播放,具体的,请参阅图2所示,本发明一个实施例提供的动画资源的播放方法,可以包括如下步骤:

201、获取需要播放的动画资源。

在本发明实施例中,首先输入需要播放的动画资源,该动画资源可以由网页服务器通过用户点播来提供,例如当用户访问网页时,对自己感兴趣的动画进行点击,则可以通过网页服务器来下载到动画资源,本发明实施例中的动画资源可以基于前述图1所示的配置方法生成,具体动画资源的生成过程详见前述实施例的举例说明,此处不再赘述。

在本发明的一些实施例中,控制数据包括:图片数据的存储路径、至少两个图片源文件在图片数据中分别所处的区域位置、动画播放时长、动画播放次数、动画播放完毕后是否隐藏播放窗口。具体的,在实际应用中可以根据需要来灵活配置控制数据包括的一种或多种数据内容,其中,图片数据的存储路径可以写入控制数据,从而通过解析控制数据就可以获取到图片数据的存储路径,动画播放时长是指动画资源播放的时间总长度,动画播放次数是指动画资源播放的次数,可以根据用户需要来配置,动画播放完毕后是否隐藏播放窗口也可以由用户来配置,或者采用默认配置的方式,此处不做限定。

202、从动画资源中解析出两个不同的文件数据包,并根据两个不同的文件数据包分别获取到控制数据和图片数据。

在本发明实施例中,获取到待播放的动画资源之后,由前述实施例描述的动画资源的打包生成方式可知,该动画资源中通过两个不同文件数据包的打包生成,因此对该动画资源进行解析后,可以分别获取到两个不同的文件数据包,每个文件数据包单独进行解析,可以从两个文件数据包中获取到控制数据和图片数据,本发明实施例中控制数据和图片数据是分离存储的,因此通过各自独立的文件数据包可以获取到完整的控制数据和完整的图片数据,控制数据和图片数据的获取过程可以是同时进行的,也可以根据处理器的处理能力先后获取到,这与现有技术中通过解析文件头的标识位从文件体中读取控制数据以及与之杂糅在一起的图片数据是完全不相同的实现方式,本发明实施例中控制数据和图片数据的独立存储,使得对控制数据和图片数据的获取更方便操作,并且对控制数据和图片数据的更新也可以很容易的实现。

203、根据控制数据从图片数据的不同区域位置分别获取到至少两个图片源文件。

在本发明实施例中,获取到控制数据以及图片数据之后,由于该控制数据中携带有图片数据的各个区域位置信息,因此可以根据控制数据的指示可以从图片数据的不同区域位置分别获取到至少两个图片源文件,这些图片源文件是配置给不同帧时间的,从而也就确定了这些图片源文件的播放先后顺序。

在本发明的一些实施例中,步骤202从动画资源中解析出两个不同的文件数据包,并根据两个不同的文件数据包分别获取到控制数据和图片数据之后,本发明实施例除了执行步骤203之外,还可以包括如下步骤:

C1、按照预置的图片转换格式对图片数据进行格式转换从而生成指定格式的图片数据。

具体的,本发明实施例中从两个不同的文件数据包分别得到控制数据和图片数据之后,该图片数据中包括有所有图片源文件的纹理特征,若用户对图片的格式有特殊要求,或者图片绘制引擎只能够识别某种或某些特殊格式的图片,本发明实施例中还可以对图片数据进行格式转换,从而方便图片绘制引擎能够对指定格式的图片数据进行渲染优化,及时绘制引擎发生更新或者更换,也可以通过图片转换得到指定格式的图片数据,使得所有绘制引擎都能够支持读取和绘制,绘制引擎不需要做任何适配就可以播放动画资源。

进一步的,在本发明执行前述步骤C1的实现场景下,步骤203根据控制数据从图片数据的不同区域位置分别获取到至少两个图片源文件,具体包括如下步骤:

D1、根据控制数据从指定格式的图片数据的不同区域位置分别获取到至少两个图片源文件。

其中,若本发明实施例还对图片数据进行了格式转换,例如从高画质的图片数据转换为低画质的图片数据,则该低画质的图片数据就是指定格式的图片数据,在提取图片源文件时可以从指定格式的图片数据的不同区域位置来获取,从而得到的图片源文件能够符合指定格式的画质要求。

在本发明的一些实施例中,步骤203根据控制数据从图片数据的不同区域位置分别获取到至少两个图片源文件,包括:

E1、调用图片绘制引擎的接口,根据控制数据通过图片绘制引擎依次读取到图片数据中处于不同区域位置的至少两个图片源文件。

其中,本发明实施例中图片源文件的读取可以通过图片绘制引擎提供的对外访问接口来完成,获取到图片数据和控制数据之后,调用图片绘制引擎的接口,根据控制数据通过图片绘制引擎依次读取到图片数据中处于不同区域位置的至少两个图片源文件,图片绘制引擎可以是动画资源的播放装置中的底层绘制引擎,通过图片绘制引擎的接口可以从图片数据中快速读取到图片源文件。

204、根据控制数据在不同的帧时间依次播放至少两个图片源文件。

在本发明实施例中,获取到至少两个图片源文件之后,根据控制数据可以指导图片源文件的播放,例如根据控制数据确定播放界面的各种参数、图片源文件的播放时长、播放次数等,具体此处不做限定。本发明实施例中动画资源的配置方式与现有技术不相同,基于这种新的动画资源而实现动画播放方法也与现有技术不相同,因此本发明实施例中动画播放能够适配各种绘制引擎,对控制数据和图片数据的更新都可以实现。

在本发明的一些实施例中,步骤204根据控制数据在不同的帧时间依次播放至少两个图片源文件,具体可以包括如下步骤:

F1、根据控制数据播放在当前帧时间读取到的第一图片源文件,并同时启动时钟;

F2、在时钟到达时,检测已流逝时间,根据控制数据确定是否需要播放下一帧,若需要播放下一帧,从图片数据中读取到第二图片源文件,并按照前述播放第一图片源文件的方式继续播放第二图片源文件,当满足控制数据指示的停止条件时,停止播放图片源文件。

具体的,在本发明的一些实施例中,从动画资源中解析出的图片数据可以包括多个图片源文件,以其中配置给相邻两个帧时间的第一图片源文件和第二图片源文件的播放为例进行说明,图片数据中的其它图片数据的播放也可以参阅步骤F1至步骤F2中的描述,首先根据控制数据播放在当前帧时间读取到的第一图片源文件,并同时启动时钟,第一图片源文件在播放界面中播放时,后台会对时钟进行计时,在时钟到达时,检测已流逝时间,根据控制数据确定是否需要播放下一帧,若需要播放下一帧,从图片数据中读取到第二图片源文件,并按照前述播放第一图片源文件的方式继续播放第二图片源文件,即重新执行步骤F1来播放第二图片源文件,当满足控制数据指示的停止条件时,停止播放图片源文件,该停止条件可以是播放时长达到最大时长,或者播放图片帧数达到最大帧数等,此处不做限定。

通过以上实施例对本发明实施例的描述可知,首先获取需要播放的动画资源,然后从动画资源中解析出两个不同的文件数据包,并根据两个不同的文件数据包分别获取到控制数据和图片数据,接下来根据控制数据从图片数据的不同区域位置分别获取到至少两个图片源文件,最后根据控制数据在不同的帧时间依次播放至少两个图片源文件。由于在动画资源中是以两个不同的文件数据包对控制数据和图片数据分别打包存储,因此在读取图片数据和控制数据可以在两个文件数据包中分别完成,动画资源的播放效率更高。

为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。本发明实施例可以实现动画资源中图片数据和控制数据的分离管理。利用本发明,可以有效解决项目开发过程中可能变更图片绘制引擎的带来的动画资源重做问题,动画资源是描述动画的完整数据信息,比如一个gif文件,它包含了动画的图片数据和控制数据,而且方便绘制引擎做渲染优化,资源复用也能降低软件安装包大小,动画的图片数据是指动画中展现的像素数据,是颜色值或颜色的描述、引用的数据集合。动画的控制数据是指描述动画是如何变化的,通过控制图片数据来指导动画的行为。另外,在开发过程中,产品人员如果想更新动画效果(比如提高画质、减小动画文件规模等),也只要花费非常小的人力成本。本发明提供的技术方案将图片数据和控制数据分离(产品发布时可以再打包在一起),虽然是一种新的动画格式,但并不需要图片绘制引擎做特殊适配,能方便的做更新和复用。

为了实现本发明实施例对动画资源的管理,本发明实施例提供的动画资源的配置方法可以应用于配置工具,该配置工具是可创建、编辑动画、分离图片数据和控制数据的工具,使用工具编辑动画,请参阅图3-a所示,为本发明实施例提供的多个图片源文件的应用场景示意图,图3-b为本发明实施例提供的合并后的图片数据的一种应用场景示意图。制作动画时,先由用户把每一帧的源图片画出来,并使用高画质的图片格式(比如TGA)保存成图片源文件,TGA(Tagged Graphics)格式是一种图像文件格式,成为高质量图像的常用格式。对于多个图片源文件按播放的顺序,以数字为每个文件命名,如图3-a所示,从01.tga到12.tga,共有12个图片源文件,文件名称表示了图片的播放顺序。对多个图片源文件进行合并操作,从而得到图3-b所示的合并后的图片数据,该图片数据的名称为:sample_1_12.tga,在合并后的图片数据中,每个图片源文件都对应有一个区域位置,例如01.tga的图片源文件对应于sample_1_12.tga中的第一行第一个图片纹理特征。

如图4所示,为本发明实施例提供的动画资源的配置方法应用于配置工具的操作界面示意图。点击生成按钮,工具将输出三个文件:1、记录控制数据的TFC(Tenio Frame Config)文件,TFC中文名Tenio帧配置。2、图片数据的高画质版本图片文件(例如TGA)。3、指定格式/画质的图片数据文件(所有帧图片合并,尺寸为2的幂)。例如,指定格式可以是png格式,这种格式是用户选择的要输出的格式,TGA则是默认的高画质输出,不管选择了那种输出格式进行转换,工具都会同时输出一份TGA作为图片数据的备份。在图4中,可以配置输出控制数据的文件名:Sample,图片格式:png为指定的转换格式,合成的图片数据的最大宽度和最大高度可以根据应用场景来设置,自动循环播放和指定播放次数、停止时是否自动隐藏等帧配置信息可以采用配置工具的默认配置,或者由用户进行灵活选择,图4中,以图片数据共有12帧,其中,当前帧为第10个帧的显示为例。

本发明实施例中可以根据不同的画质要求,输出不同格式的图片数据。输出的图片数据是从每一个帧的图片源文件合并得到的,例如png就是合并后得到的输出文件。以图4为例,这个显示“S”的动画有12帧,每一帧的图片都保存在一张图片源文件中,可以使用本发明实施例提供的配置工具将它们合并为png格式的图片数据和TGA格式的图片数据。同样的,因为有图片数据的高画质版本TGA文件,如果绘制引擎有需要,可以使用工具将TGA文件批量转化成任意格式的图片文件。控制数据和图片数据的分离,使得对动画的版本管理非常简单。另外,输出的图片数据支持常见的格式,所以只要绘制引擎支持读取常见格式中的某一种,就能播放动画,不需要做任何适配工作。现实场景中,项目组的绘制引擎往往只支持静态图片,要实现动态图片往往需要写专门适配的代码,本发明实施例可以免除了这项工作。

请参阅图5所示,为本发明实施例提供的动画资源的配置方法在一种应用场景下的实现流程示意图。接下来以分离图片数据和控制数据的实现过程进行举例说明,需要提供一个工具让用户制作动画,并在生成动画时,由这个工具将动画的图片数据和控制数据分离保存。

该工具集成了一个使用开源图像库Cximage和DirectX实现的图像库,以便支持各种格式的图片,生成动画时,工具首先以原始帧图片为基础,根据工具设置参数,使用图像库将帧图片合并为一张无损的高画质图片数据,然后图像库再以这张高画质图片数据为数据源,将它转化为指定格式的图片数据。同时,使用开源库TinyXml库,将工具设置好的控制数据保存成xml格式存储到文件中。图像库为项目软件运行时用到的数据,TinyXml是写入和解析XML格式文件用的,将TFC格式的控制数据保存成XML格式。

接下来对控制数据的文件格式进行举例说明,例如控制数据的逻辑代码如下:

其中,由上述控制文件的逻辑代码举例说明可知,在控制数据中记录了每一动画帧的详情:引用图片数据的存储路径、引用图片的区域位置、播放时长、播放次数、播放完毕是否隐藏等控制信息。这个控制数据是动画的入口文件,用户关心这个文件而不关心图片文件,而引用图片区域这个参数则可以提高图片的复用。因为这个是文本文件,所以也可以手动编辑,在做文件合并时也很方便。因为是文本文件,各种版本管理软件都支持合并。

接下来对图片数据的文件样式进行举例说明,一张指定格式的图片数据,这个图片是将所有动画帧合并在一张纹理特征内,保存尺寸为2的幂,这两个手段能帮助图片绘制引擎做渲染优化。由于是静态图片,绘制引擎都会支持读取和绘制,所以绘制引擎不需要做任何适配即可播放动画。

前述实施例对动画资源的配置过程进行了详细举例说明,接下来对动画资源的播放过程进行举例说明,请参阅图6所示,为本发明实施例提供的动画资源的播放方法的一种应用场景下的实现流程示意图。

首先要实现一个动画组件,它的作用是读取解析控制数据,自带时钟回调,根据控制数据调用图片绘制引擎的接口读取、绘制图片到画布。这一通用组件使得图片绘制引擎只用关心静态图片的读取绘制,不用关心动画的其他事情。其中,图6中的上层逻辑指的是使用这个方案的项目代码,比如说要在屏幕中央播放一个“游戏胜利”的闪烁动画。上层逻辑的调用能够读取到本发明实施例提供的动画资源,在软件运行过程中,当需要播放动画时,具体可以执行如下步骤:

S01、上层逻辑调用动画组件的播放接口,传入动画控制数据(即TFC文件)路径。

S02、动画组件解析XML文件,读取每一帧动画的图片路径、区域、时间间隔等。XML文件是TFC文件的保存格式。

S03、动画组件调用图片绘制引擎的接口,让图片绘制引擎能够读取绘制第一帧图片源文件,同时启动时钟。

S04、动画组件在时钟点到达时,检测已流逝时间,确定是否需要播放下一帧,如果需要,则通知图片绘制引擎读取绘制下一帧的图片源文件。

S05、重复执行S04直到满足控制数据指定的停止条件。

本发明实施例能解决项目开发过程中绘制引擎变更、要求更新动画画质而引发的动画资源重做问题,对各种绘制引擎友好,实现动画不需要额外的适配工作。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。

请参阅图7-a所示,本发明实施例提供的一种动画资源的配置装置700,可以包括:图片获取模块701、图片合并模块702、控制数据生成模块703和数据分类打包模块704,其中,

图片获取模块701,用于根据预先输入的帧配置信息获取配置给不同帧时间的至少两个图片源文件;

图片合并模块702,用于将所述至少两个图片源文件合并到图片数据中,所述至少两个图片源文件在所述图片数据中分别处于不同的区域位置;

控制数据生成模块703,用于根据所述帧配置信息和所述至少两个图片源文件在所述图片数据中的区域位置生成控制数据;

数据分类打包模块704,用于将所述控制数据和所述图片数据分别存储到两个不同的文件数据包中,并将所述两个不同的文件数据包打包在一起从而得到动画资源。

在本发明的一些实施例中,请参阅图7-b所示,所述动画资源的配置装置700还包括:格式转换模块705,其中,

所述格式转换模块705,用于所述图片合并模块702将所述至少两个图片源文件合并到图片数据中之后,按照预置的图片转换格式对所述图片数据进行格式转换从而生成指定格式的图片数据。

在本发明的一些实施例中,所述控制数据生成模块703,具体用于根据所述帧配置信息和所述至少两个图片源文件在所述图片数据中的区域位置,按照可扩展标记语言XML格式生成控制数据。

在本发明的一些实施例中,所述控制数据包括:所述图片数据的存储路径、所述至少两个图片源文件在所述图片数据中分别所处的区域位置、动画播放时长、动画播放次数、动画播放完毕后是否隐藏播放窗口。

通过以上实施例对本发明实施例的描述可知,首先根据预先输入的帧配置信息获取配置给不同帧时间的至少两个图片源文件,然后将至少两个图片源文件合并到图片数据中,至少两个图片源文件在图片数据中分别处于不同的区域位置,接下来根据帧配置信息和至少两个图片源文件在图片数据中的区域位置生成控制数据,最后将控制数据和图片数据分别存储到两个不同的文件数据包中,并将两个不同的文件数据包打包在一起从而得到动画资源。由于至少两个图片源文件在合并之后在图片数据中处于不同的区域位置,因此在将控制数据和图片数据分别打包存储之后,两个不同的文件数据包分别控制数据和图片数据,因此在需要对控制数据、图片数据做更新时很容易实现,无需重新制作动画资源,简化对动画资源的管理,通过对控制数据的更新可以实现渲染优化易操作,通过对图片数据的更新可以实现画质修改易操作。

请参阅图8-a所示,本发明实施例提供的一种动画资源的播放装置800,可以包括:动画获取模块801、数据分类解析模块802、图片读取模块803和动画播放模块804,其中,

动画获取模块801,用于获取需要播放的动画资源;

数据分类解析模块802,用于从所述动画资源中解析出两个不同的文件数据包,并根据所述两个不同的文件数据包分别获取到控制数据和图片数据;

图片读取模块803,用于根据所述控制数据从所述图片数据的不同区域位置分别获取到至少两个图片源文件;

动画播放模块804,用于根据所述控制数据在不同的帧时间依次播放所述至少两个图片源文件。

在本发明的一些实施例中,请参阅图8-b所示,所述动画资源的播放装置800还包括:格式转换模块805,其中,

所述格式转换模块805,用于所述数据分类解析模块802从所述动画资源中解析出两个不同的文件数据包,并根据所述两个不同的文件数据包分别获取到控制数据和图片数据之后,按照预置的图片转换格式对所述图片数据进行格式转换从而生成指定格式的图片数据;

所述图片读取模块803,具体用于根据所述控制数据从所述指定格式的图片数据的不同区域位置分别获取到至少两个图片源文件。

在本发明的一些实施例中,所述图片读取模块803,具体用于调用图片绘制引擎的接口,根据所述控制数据通过所述图片绘制引擎依次读取到所述图片数据中处于不同区域位置的至少两个图片源文件。

在本发明的一些实施例中,所述动画播放模块804,具体用于根据所述控制数据播放在当前帧时间读取到的第一图片源文件,并同时启动时钟;在所述时钟到达时,检测已流逝时间,根据所述控制数据确定是否需要播放下一帧,若需要播放下一帧,从所述图片数据中读取到第二图片源文件,并按照前述播放第一图片源文件的方式继续播放所述第二图片源文件,当满足所述控制数据指示的停止条件时,停止播放图片源文件。

在本发明的一些实施例中,所述控制数据包括:所述图片数据的存储路径、所述至少两个图片源文件在所述图片数据中分别所处的区域位置、动画播放时长、动画播放次数、动画播放完毕后是否隐藏播放窗口。

通过以上实施例对本发明实施例的描述可知,首先获取需要播放的动画资源,然后从动画资源中解析出两个不同的文件数据包,并根据两个不同的文件数据包分别获取到控制数据和图片数据,接下来根据控制数据从图片数据的不同区域位置分别获取到至少两个图片源文件,最后根据控制数据在不同的帧时间依次播放至少两个图片源文件。由于在动画资源中是以两个不同的文件数据包对控制数据和图片数据分别打包存储,因此在读取图片数据和控制数据可以在两个文件数据包中分别完成,动画资源的播放效率更高。

图9是本发明实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。

服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

上述实施例中由服务器所执行的动画资源的配置方法的步骤可以基于该图9所示的服务器结构。

本发明实施例还提供了另一种终端,如图10所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:

图10示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图10,手机包括:射频(Radio Frequency,RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图10对手机的各个构成部件进行具体的介绍:

RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。

存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。

WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。

手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本发明实施例中,该终端所包括的处理器1080还具有控制执行以上由终端执行的动画资源的播放方法流程。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1