CN109389661B - 一种动画文件转化方法及装置 - Google Patents
一种动画文件转化方法及装置 Download PDFInfo
- Publication number
- CN109389661B CN109389661B CN201710660229.1A CN201710660229A CN109389661B CN 109389661 B CN109389661 B CN 109389661B CN 201710660229 A CN201710660229 A CN 201710660229A CN 109389661 B CN109389661 B CN 109389661B
- Authority
- CN
- China
- Prior art keywords
- animation
- file
- information
- target
- element information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 53
- 239000000470 constituent Substances 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 16
- 230000009466 transformation Effects 0.000 claims description 8
- 239000007787 solid Substances 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 27
- 230000008569 process Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000010453 quartz Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012958 reprocessing Methods 0.000 description 2
- 230000035939 shock Effects 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 101001093143 Homo sapiens Protein transport protein Sec61 subunit gamma Proteins 0.000 description 1
- 101000694017 Homo sapiens Sodium channel protein type 5 subunit alpha Proteins 0.000 description 1
- 101100120905 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) TDH1 gene Proteins 0.000 description 1
- 102100027198 Sodium channel protein type 5 subunit alpha Human genes 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2213/00—Indexing scheme for animation
- G06T2213/08—Animation software package
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种动画文件转化方法及装置。所述方法包括:获取目标动画的组成元素信息;将所述组成元素信息转化成目标客户端可处理的动画元素信息;将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。利用本申请实施例,可以提升动画开发的开发效率,降低开发成本,将动画开发过程智能化。
Description
技术领域
本申请涉及动画开发技术领域,特别涉及一种动画文件转化方法及装置。
背景技术
目前,随着移动设备、移动通信网络性能的提升,人们对于移动设备的功能需求越来越多,甚至希望可以在PC端实现的所有功能也能够在移动设备上实现。典型的需求例如包括移动办公、移动端大型游戏等。但是由于芯片集成工艺弱、电池续航时间短、存储空间小、应用开发技术不成熟等条件的限制,目前的移动端还不能完全兼容PC端所有的功能。
动画以其形象具体的特征在公益广告、商业广告、教育教学、文化艺术等领域具有广泛的应用。一般地,PC端可以支持多种格式的动画播放,但是在移动端的应用中,还不能完全兼容所有的动画格式。目前移动端常用的动画格式包括帧动画和GIF动画,其中,帧动画是将一组具有相同尺寸的图片加入播放队列,并进行依次播放。帧动画技术使用简单,但是一般只能用来处理位置不变的简单动画,且内存占用较高。GIF动画属于帧动画的一种,可以对每帧图片进行压缩处理。GIF动画技术使用简单,且内存占用比帧动画小很多,但是同样只能用来处理位置不变的简单动画,且清晰度较差,显示效果模糊。
现有技术中,为了能够在应用中展示质量相对较高的动画,应用开发人员可以自行开发动画,生成自定义格式的动画文件。常用的做法具体如下:利用现有的动画编辑工具编辑得到动画源文件,然后,利用人工方式对动画源文件进行分析处理,最后在分析处理的基础上手动实现动画。通过自行开发的方式,可以实现多个种类的动画格式,但是人工分析动画费时费力,开发成本较高,且最终实现的动画效果与开发人员的个人能力相关,导致目前市场上应用中的动画出现格式不统一、质量参差不齐的现象。
因此,现有技术中亟需一种开发效率高、开发成本低、对动画源文件还原度较高的动画开发方式。
发明内容
本申请实施例的目的在于提供一种动画文件转化方法及装置,可以提升动画开发的开发效率,降低开发成本,将动画开发过程智能化。
本申请实施例提供的一种动画文件转化方法及装置具体是这样实现的:
一种动画文件转化方法,所述方法包括:
获取目标动画的组成元素信息;
将所述组成元素信息转化成目标客户端可处理的动画元素信息;
将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。
一种动画文件播放方法,所述方法包括:
解析预设动画文件格式的动画文件,构建动画帧播放队列;
绘制所述动画帧播放队列中的动画帧;
在目标客户端中展示绘制完成的动画帧。
一种动画文件转化装置,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
获取目标动画的组成元素信息;
将所述组成元素信息转化成目标客户端可处理的动画元素信息;
将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。
一种动画文件播放装置,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
解析预设动画文件格式的动画文件,构建动画帧播放队列;
绘制所述动画帧播放队列中的动画帧;
展示绘制完成的动画帧。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现以下步骤:
获取目标动画的组成元素信息;
将所述组成元素信息转化成目标客户端可处理的动画元素信息;
将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现以下步骤:
解析预设动画文件格式的动画文件,构建动画帧播放队列;
绘制所述动画帧播放队列中的动画帧;
展示绘制完成的动画帧。
本申请提供的动画文件转化方法及装置,可以将目标动画的组成元素信息转化成目标客户端可处理的动画元素信息,再将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。这样,经过可化处理之后的动画文件可以直接在目标客户端上图形绘制和播放,不需要再进行加工处理,提高开发效率。相对于现有技术中主要依靠人工的动画转化方式,本申请实施例提供的动画转化方式,可以相对智能地对目标动画的动画元素信息进行分析处理,最终处理成统一的预设动画文件格式的动画文件。在实际应用中,若将统一的播放引擎耦合于目标客户端中,则可以在目标客户端或者目标客户端的应用中直接播放所述具有预设动画文件格式的动画文件。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的动画开发方式的流程示意图;
图2是本申请提供的动画文件转化方法的结构框图;
图3是本申请提供的动画文件转化方法的一种实施例的方法流程图;
图4是本申请提供的目标动画组成元素信息获取方法的一种实施例的方法流程图;
图5是本申请提供的组成元素信息转化方法的一种实施例的方法流程图;
图6是本申请提供的组成元素信息组织方法的一种实施例的方法流程图;
图7是本申请提供的动画文件的格式示意图;
图8是本申请提供的动画播放引擎的结构示意图;
图9是本申请提供的播放动画文件方法的一种实施例的方法流程图;
图10是现有技术中进行色彩变换时CPU利用率曲线图;
图11是利用本申请实施例进行色彩变换时CPU利用率曲线图;
图12是本申请提供的动画文件转化装置的一种实施例的模块结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
为了方便本领域技术人员理解本申请实施例提供的技术方案,下面先对技术方案实现的技术环境进行说明。
动画可以将动画元素的动作、变化等分解后绘制成多个动作瞬间的画幅,再用摄影机连续拍摄成一系列画面,给视觉造成连续变化的图画。动画具有色彩鲜艳、表现力丰富等特征,因此,在许多移动客户端的应用中,需要进行动画的播放,所述动画诸如广告、示范教程、游戏宣传片等。目前,很多移动端动画的开发方式具体可参考图1所示的流程示意图。如图1所示,在移动端动画开发的初始阶段,由用户体验设计(User Experience Design,UED)人员进行动画编辑,UED人员可以在现有的动画编辑软件(如Flash软件)或者自定义的动画编辑软件上制作动画文件。UED人员在制作完成动画文件之后,可以将动画文件提交给开发人员。开发人员在接收到动画文件之后,首先对动画文件进行人工分析,例如分析得到动画中包含的图像总帧数、画布尺寸、主动画、子动画等多种元素,以及各个子动画“出场”的时间轴等。由此可见,开发人员进行动画文件分析的繁琐程度随着动画复杂度的增加而增加,并且,开发人员的经验水平不一,很容易发生分析错误、分析遗漏的情况。在分析出动画文件中包含的各个元素之后,开发人员可以根据所述元素的信息进行手动编写代码,具体地,可以先构建动画代码,再反复调试动画代码,调整动画效果。开发人员在完成动画代码之后,可以将代码交付给UED人员。UED人员若觉得代码实现的动画效果与原始动画的效果有差异时,可以让开发人员进行修正,直至达到UED人员认可的动画效果。
基于上述的开发过程,可以发现,UED人员与开发人员的工作都比较繁重,人力成本较高。另外,各个开发团队的开发水平不一,导致开发得到的动画质量参差不齐。并且,开发得到的动画的格式不统一,因此开发团队还要各自设计与之配套的播放引擎,兼容性较差,且开发成本大大提高。
基于类似于上文描述的实际技术需求,发明人研究了已有的移动端动画开发技术,提出了能够支持将目标动画转化成统一动画文件格式的方案,该方案能够将已有的目标动画转化成目标客户端可处理的统一动画文件格式的动画文件。
本申请实施例提供的技术方案应用于客户端,客户端可以是独立的应用程序,还可以是嵌入在应用中的功能模块(如软件开发包)等,例如,可以是“天猫”、“淘宝”等移动终端App中的功能模块,等等。
接下来结合图2的流程图对本申请实施例提供的具体实现方案进行详细介绍。如图2所示,首先获取目标动画,所述目标动画可以包括需要展示于目标客户端上的动画。其中,所述目标客户端不支持直接播放所述目标动画。例如,SWF格式的动画文件一般不能够直接在手机客户端上播放,因此,可以将SWF格式的动画文件作为目标动画,将手机客户端作为目标客户端。然后,可以从所述目标动画中获取所述动画的元素描述文件。本实施例中,所述元素描述文件可以包括所述目标动画的动画源文件。在其他实施例中,所述元素描述文件还可以包括从所述动画源文件转化得到的文件。所述元素描述文件可以包括从SWF格式的动画源文件转化得到的文件,例如在一个示例中,可以利用开源软件SWFmill将SWF格式的动画源文件转化成XML格式的元素描述文件。如图2所示,所述元素描述文件中可以包括所述目标动画的主动画和子动画,并且所述主动画和所述子动画中可以分别包括多个组成元素。
在获取到所述目标动画的元素描述文件之后,还可以从所述元素描述文件中提取信息,以构建通用的预设动画文件格式的动画文件。如图2所示,具体地,可以从所述元素描述文件中获取各个组成元素对应的动画参数信息。例如,对于一个矩形色块来说,可以从元素描述文件中获取所述矩形色块的边框信息(如边框线条宽度、颜色等)、填充信息(如渐变色填充、渐变类型、渐变数据等),所述边框信息和所述填充信息即为所述矩形色块的动画参数信息。如图2所示,在获取到各个组成元素的动画参数信息之后,可以对所述组成元素的动画参数信息进行可化处理,即将所述组成元素的动画参数信息转化成目标客户端可处理的动画参数信息。具体地,在进行可化处理过程中,可以获取组成元素的原始实现方式,当确定目标客户端不支持所述组成元素的原始实现方式时,可以将所述原始实现方式替换成与所述原始实现方式相似的且所述目标客户端可处理的实现方式。例如,可以将球体的贝塞尔曲线运动方式转换成普通的曲线实现方式,使得球体的运动轨迹与贝塞尔曲线相似。
如图2所示,在获取到所述组成元素的动画参数信息,并对所述动画参数信息进行可化处理之后,还可以对所述处理之后的动画元素信息进行类别划分,并将所述动画元素信息转换成自定义对象格式。在一个实施例中,可以根据所述动画元素信息中所包含的标签信息,确定所述动画元素信息所对应动画元素的类别。再依据所述类别所对应的自定义对象格式,从所述动画元素信息中获取所述动画元素的对象信息,最后生成具有自定义动画文件格式的动画文件。例如,所述自定义对象格式可以包括下述中至少一种对象的格式:纯色块填充对象、渐变色块填充对象、图片填充对象、线条对象、图像对象、滤镜对象、子动画对象。本实施例中,各个自定义对象格式中均包含与动画元素相对应的对象唯一标识信息,利用所述唯一标识信息可重复调用所述动画元素。在一个示例中,当多帧图像中使用同一个对象时,可以重复调用所述对象,而不必多次构建同一个对象。在调用的时候,可以根据所述唯一标识信息调用所述动画元素。这样,不仅可以实现对象复用,还可以大大减少动画文件的存储空间。
将目标动画中的动画元素信息转化成自定义对象格式之后,生成自定义格式的动画文件。后续地,可以利用自定义的播放引擎播放所述自定义格式的动画文件。
下面结合附图3对本申请所述的动画文件转化方法进行详细的说明。图3是本申请提供的动画文件转化方法的一种实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际中的动画文件转化过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
具体的本申请提供的动画文件转化方法的一种实施例如图3所示,所述方法可以包括:
S31:获取目标动画的组成元素信息。
本实施例中,所述目标动画可以包括需要展示于目标客户端上的动画,所述目标客户端可以包括移动客户端,例如手持设备、便携式设备、平板型设备等。在一个实施例中,所述目标客户端可以包括不支持直接播放所述目标动画的客户端,例如,手机客户端一般不支持播放利用Flash软件编辑得到的SWF格式的动画文件,则在本实施例中,可以将SWF格式的动画文件作为目标动画,将手机客户端作为目标客户端。当然,所述目标客户端不限于移动客户端,可以为任何不支持播放所述目标动画的客户端,本申请在此不作限制。
在一个实施例中,所述目标动画可以包括用户通过动画编辑应用、编辑设备、编辑装置等编辑完成的动画文件,例如,所述动画编辑应用可以包括二维或者三维动画制作软件,诸如Flash、AXA、USAnimation、RETAS PRO、TOONZ、ANIMO、Radi、HTML5Maker、EdgeAnimation、Tumult Hype、Nodefire、Hippo等等。当然,在其他实施例中,所述目标动画还可以包括使用自定义动画编辑软件设计的动画文件,本申请在此不做限制。
在本申请的一个实施例中,所述目标动画的组成元素可以包括所述目标动画的主动画、至少一个子动画以及所述主动画、所述子动画中的组成元素等。因此,如图4所示,在本实施例中,所述获取目标动画的组成元素信息可以包括:
S41:获取目标动画的元素描述文件。
本实施例中,所述元素描述文件可以包括所述目标动画的动画源文件。在其他实施例中,所述元素描述文件还可以包括从所述目标动画的动画源文件转化得到的文件。在一个具体的实施方式中,所述目标动画的动画源文件可以包括利用Flash软件编辑得到的SWF(Shock Wave Flash)格式的动画文件,则所述元素描述文件可以包括从SWF格式的动画源文件转化得到的文件,例如在一个示例中,可以利用开源软件SWFmill将SWF格式的动画源文件转化成XML格式的元素描述文件。利用现有的软件编辑得到动画源文件,并利用现有的软件将编辑得到的动画源文件转化成可以利用的元素描述文件,可以降低在获取目标动画元素上的成本。当然,在其他实施例中,还可以利用其他应用软件对动画源文件进行转化,本申请在此不作限制。
S42:从所述元素描述文件中解析得到所述目标动画的主动画文件和子动画文件。
利用所述元素描述文件可以解析得到所述目标动画中的主动画文件和子动画文件。在简单的动画中,可能只包含一个动画文件,而在较为复杂的动画中,可能存在不止一个动画文件,比如对于一个Flash游戏,可以包括一个主动画文件以及若干个子动画文件。其中,主动画文件对应于Flash游戏中必不可少的部分,例如,游戏的背景画面等,而子动画文件可以对应于Flash游戏中每个关卡的相应部分,只有在用户进入该关卡时,才需要展示相应的道具、场景等子动画文件。
为了能够更好地描述本技术方案,下面非限制性地以格式为SWF(Shock WaveFlash)的动画源文件举例说明。SWF格式是利用Flash软件编辑得到的动画文件格式之一,SWF文件通常可以包括文件头部分和文件体部分,文件头部分可以用于定义Flash动画的版本、大小、帧率和总帧数等信息,文件体部分通常可以包括大量的标签信息,所述标签信息可以包括定义类标签和控制类标签,所述定义类标签可以用于定义动画中每个元素的信息,在Flash动画中,每个人物、动物、树木等都可以作为一个元素,每帧图像均是由若干个元素组成,各个元素的信息可以包括属性、位置、类别和所述图层等多个信息。控制类标签可以用于控制各个元素的绘制和运动,如Flash动画中小鱼的运动轨迹等。
利用SWFmill等解析软件可以对SWF格式的Flash动画源文件进行解析,生成如XML格式的元素描述文件。在本申请的一个实施例中,可以从对动画源文件解析得到的元素描述文件,如从XML格式的元素描述文件中获取所述目标动画的主动画文件和子动画文件。具体地,所述元素描述文件(如XML格式)中可以包括动画标识信息,根据所述动画标识信息可以识别出动画文件是主动画文件,还是子动画文件。当然,在其他实施例中,还可以根据所述主动画文件、所述子动画文件的特征识别出所述主动画文件和所述子动画文件,本申请在此不做限制。
S43:分别获取所述主动画文件和所述子动画文件中的组成元素。
如上所述,在Flash动画中,每个人物、动物、树木等都可以作为一个元素,每帧图像均是由若干个元素组成。在本申请的一个实施例中,可以提出一种比人物、动物、树木的划分方式更为基本、原子的划分方式,具体可以将所述主动画文件和所述子动画文件中的元素至少划分为以下三类:Image、Shape、Sprite,关于各个元素类型的概述、结构等可以参考下述表1。需要说明的是,表1中各个元素类型的基本结构、标签等为XML格式的元素描述文件中的描述,在其他格式的元素描述文件中,依然可以采用上述元素类型划分方式对动画文件进行划分。
表1元素类型划分表
按照表1所示的元素类型划分方式,可以获取所述主动画文件和所述子动画文件中的组成元素。利用获取的所述组成元素,可以对所述目标动画的元素信息按照本申请中的自定义方式进行重新整合,以生成本实施例中的自定义动画文件格式的动画文件。
S44:从所述元素描述文件中解析得到所述组成元素所对应的动画参数信息。
本实施例中,在获取到所述主动画文件和所述子动画文件中的各个组成元素之后,可以从所述目标动画的元素描述文件中解析得到所述组成元素所对应的动画参数信息。例如,对于一个矩形色块来说,根据表1中Shape的基本结构,可以从所述元素描述文件中获取所述矩形色块的边框信息(如边框线条宽度、颜色等)、填充信息(如渐变色填充、渐变类型、渐变数据等),则所述边框信息和所述填充信息即为所述矩形色块的动画参数信息。利用同样的方式,可以从所述元素描述文件中解析到其他组成元素信息所对应的动画参数信息。
本实施例中,可以对所述目标动画的结构进行分析,从元素描述文件中获取所述目标动画的主动画文件和子动画文件,再分别获取所述主动画文件和所述子动画文件中的组成元素信息,如此,可以逐步有序地获取到整个所述目标动画的组成元素信息,便于后续地数据处理,从而将所述目标动画转化成自定义动画文件格式的动画文件。
需要说明的是,所述目标动画组成元素的提取方式不限于上述方式,例如还可以直接按照表1所示的元素类型划分方式提取所述目标动画中的组成元素信息,所属领域技术人员在本申请技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本申请相同或相似,均应涵盖于本申请保护范围内。
S32:将所述组成元素信息转化成目标客户端可处理的动画元素信息。
本实施例中,可以将所述组成元素信息转化成目标客户端可处理的动画元素信息。由上述可知,所述目标客户端可以包括不支持直接播放所述目标动画的客户端。在步骤S21中,获取到所述目标动画的组成元素信息,因此,可以对所述组成元素信息分别进行分析处理,识别出所述组成元素信息的实现方式是否支持所述目标客户端进行处理。
在本申请的一个实施例中,如图5所示,所述将所述组成元素信息转化成目标客户端可处理的动画元素信息可以包括:
S51:根据所述组成元素信息获取组成元素的原始实现方式;
S52:若识别出目标客户端不支持所述组成元素的原始实现方式,则将所述原始实现方式替换成与所述原始实现方式相似的且所述目标客户端可处理的实现方式。
本实施例中,根据所述组成元素信息可以获取所述组成元素的实现方式,例如,对于一子动画,该子动画中包含一球体,根据Sprite元素信息可以获取所述子动画的运动轨迹为贝塞尔曲线,即贝塞尔曲线的运动轨迹为该球体子动画的原始实现方式。UED人员在PC端进行Flash动画编辑时,PC端可以支持贝塞尔曲线算法,也支持贝塞尔曲线的绘制。但是若目标客户端为手机,手机客户端一般难以支持比较高级的算法,因此,手机客户端无法实现该球体子动画按照贝塞尔曲线运动。在本实施例中,若识别出目标客户端无法支持所述组成元素的原始实现方式,则将所述原始实现方式替换成与所述原始实现方式相似的且所述目标客户端可处理的实现方式。基于此,可以将上述举例中的球体子动画的贝塞尔曲线实现方式替换成普通的曲线实现方式,使得球体的运动轨迹与贝塞尔曲线相似。再例如,利用PC端可以实现多种滤镜功能,但有些手机客户端不能完全实现PC端上的所有滤镜功能。若所述组成元素的原始滤镜不能在目标客户端上实现,本实施例中,可以利用与原始滤镜的效果比较相似的滤镜替代所述原始滤镜。
本实施例中,可以用与所述组成元素的原始实现方式相似的实现方式替换所述原始实现方式,以使目标客户端能够实现所述组成元素。当然,在本申请的一个实施例中,可以存储有原始实现方式与相似实现方式的关联数据,例如,贝赛尔曲线与其相似算法的关联数据、各种滤镜与其效果相似的滤镜的关联数据等。上述关联数据的获取可以根据开发人员的经验总结得到,也可以从已有的数据库中获取,本申请在此不做限制。
S33:将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。
本实施例中,可以将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。本实施的所述预设动画文件格式的动画文件可以包括所述目标客户端可播放的动画文件。所述预设动画文件格式可以包括自定义的动画文件格式,还可以包括其他通用性、兼容性较高的动画文件格式,本申请在此不做限制。
在本申请的一个实施例中,如图6所示,所述将转化得到的所述动画元素信息组织成预设动画文件格式的动画文件可以包括:
S61:获取所述动画元素信息中所包含的标签信息。
S62:根据所述标签信息识别出所述动画元素信息所对应动画元素的类别。
S63:依据所述类别所对应的自定义对象格式,从所述动画元素信息中获取所述动画元素的对象信息,生成所述目标动画的动画文件。
本实施例中,可以将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。首先,可以获取所述动画元素信息中所包含的标签信息,例如,所述标签信息可以从所述XML格式的元素描述文件中提取得到,所述标签诸如表1所示的DefineBitsJPEG2、DefineShape、DefineSprite等等。本实施例中,可以根据所述标签信息识别出所述动画元素信息的类别。本实施例中,所述类别可以包括自定义类别,具体地,所述自定义类别可以包括下述中的至少一种:纯色块填充、渐变色块填充、图片填充、线条、图像、滤镜、子动画等。因此,与自定义类别相对应地,所述自定义对象格式可以包括下述中至少一种对象的格式:纯色块填充对象、渐变色块填充对象、图片填充对象、线条对象、图像对象、滤镜对象、子动画对象。本实施例中,各个自定义对象可以被其他自定义对象、组件所调用,如图片对象可以被图片填充对象调用,也可以被其他自定义对象调用,而子动画对象可以调用其他所有自定义对象。
具体地,在本申请的一个示例中,所述自定义动画文件格式(即所述预设动画文件格式)可以如图7所示,所述自定义动画文件格式至少可以包括文件头、自定义对象信息、主动画信息。其中,文件头可以包括背景颜色、画布大小、播放帧率等信息,自定义对象信息可以包括各个自定义对象对应的格式。需要说明的是,所述标签的自定义类别不限于上述举例,同理,所述自定义对象格式的类别也不限于上述举例。
各个自定义对象的有效信息如图7所示,如渐变色块填充对象信息可以包括对象唯一标识、渐变类型、变换矩阵、渐变数据、图形轮廓等有效信息。所述有效信息可以从处理之后的所述动画元素信息中解析得到。可以发现,S31所述的可处理基于所述元素描述文件,而大部分组成元素可以支持所述目标客户端进行处理,只有小部分组成元素不兼容所述目标客户端,因此,各个自定义对象的有效信息依然可以从所述元素描述文件(如XML文件)中解析得到。
如图7所示,本实施例中,各个自定义对象格式中均包含与动画元素相对应的对象唯一标识信息,利用所述唯一标识信息可重复调用所述动画元素。在一个示例中,当多帧图像中使用同一个对象时,可以重复调用所述对象,而不必多次构建同一个对象。在调用的时候,可以根据所述唯一标识信息调用所述动画元素。这样,不仅可以实现对象复用,还可以大大减少动画文件的存储空间。
同样地,在本申请的一个实施例中,所述动画帧也可以被重复调用,一个动画帧可以包含多个对象,对于连续的多个动画帧中,如一个Sprite中包含的多个动画帧中,所包含的对象信息往往大部分相同,只有一个或者几个对象发生变化,因此,多个连续的相似的动画帧之间可以复用。
本实施例中,利用自定义动画文件格式组织生成动画文件,具有下述优点:
1、自定义动画文件中的对象信息经过预处理,经过预处理的对象信息与各个对象的绘制方法相对应,因此,所述自定义动画文件可以直接供图形引擎绘制,不需要再加工处理,可以提高绘制效率;
2、通过自定义对象格式中的唯一标识信息调用对象,达到对象复用的目的,减少动画文件的存储空间;
3、与上述对象的复用技术类似,也可以对动画帧进行复用,通过合理地复用动画帧信息来描述动画序列,可以进一步减小动画文件的存储空间;
综合上述优势,利用本申请实施例方法生成的自定义动画文件格式的动画文件能够以较小的文件大小、有效且直接地描述目标动画,且该动画文件可以直接供图形引擎进行绘制,提高动画绘制效率。
本申请提供的动画文件转化方法,可以将目标动画的组成元素信息转化成目标客户端可处理的动画元素信息,再将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。这样,经过可化处理之后的动画文件可以直接在目标客户端上图形绘制和播放,不需要再进行加工处理,提高开发效率。相对于现有技术中主要依靠人工的动画转化方式,本申请实施例提供的动画转化方式,可以相对智能地对目标动画的动画元素信息进行分析处理,最终处理成统一的预设动画文件格式的动画文件。在实际应用中,若将统一的播放引擎耦合于目标客户端中,则可以在目标客户端或者目标客户端的应用中直接播放所述具有预设动画文件格式的动画文件。
在本申请的一个实施例中,在生成所述预设动画文件格式的动画文件之后,还可以在所述目标客户端中播放所述预设动画文件格式的动画文件。
本实施例中,具体在所述目标客户端中播放所述动画文件的方式可以通过一播放引擎实现,所述播放引擎可以以SDK(软件开发包)的形式耦合于所述目标客户端中或者所述目标客户端中的APP中。若将所述动画文件以及所述播放引擎耦合于所述目标客户端中的APP中,则可以在所述APP中播放所述动画文件。
图8是本申请提供的动画播放引擎的结构示意图。如图8所示,所述动画播放引擎至少包括下述组成部分:播放预处理、基本对象绘制、帧动画控制。其中,所述播放预处理部分可以用于对动画文件进行预处理。具体地,如图8所示,所述播放预处理部分包括下述处理步骤:读取动画文件,对所述动画文件进行数据解析,以构建动画帧播放队列。具体地,所述播放预处理部分可以读取所述动画文件,并对所述动画文件进行解析,获取各动画帧中的对象信息。在获取所述对象信息之后,将所述动画帧的对象信息载入所述目标客户端中的存储器中,并在所述存储器中还原出动画帧的播放队列。
如图8所示,在目标客户端中存储动画帧序列之后,可以对各个动画帧进行绘制操作。在本实施例中,可以从目标客户端的缓存空间中提取所述动画帧播放队列中的动画帧,并获取所述动画帧中所包含的绘制对象信息。然后,根据所述绘制对象信息绘制所述动画帧。其中,可以根据预设的对象绘制方式绘制动画帧中各个对象。如图8所示,播放引擎中可以包括多个基本对象的绘制方式,如纯色填充对象、形状对象、渐变填充对象、线条对象、图片填充对象、滤镜对象等多个对象的绘制方式。在对动画帧进行绘制的过程中,可以利用图形引擎直接调用各个基本对象的绘制方式进行绘制。如图8所示,本实施例中,可以结合QuartzCore和OpenGLES两种图形引擎进行动画帧绘制。对于如直线、方形、圆形等简单的路径绘制,可以调用QuartzCore等绘制效率较高的图形引擎进行绘制,提高绘制效率;而涉及到滤镜、色彩变换的绘制对象,可以调用OpenGLES等绘制性能较高的图形引擎进行绘制,可以提高绘制质量。
所述动画播放引擎还可以包括动画帧控制部分,所述动画帧控制部分用于管理动画帧序列的播放。如图8所示,所述动画帧控制部分可以包括对象缓存池管理部分、动画帧序列维护部分、共享信息关联部分、帧率刷新部分。其中,所述对象缓存池管理部分用于将预设数量的待绘制动画帧所包含的绘制对象信息提前存储于目标客户端的缓存空间中,这样,在进行图像绘制时,可以直接从缓存空间中获取待绘制的动画帧的绘制对象信息。所述动画帧序列维护部分,用于维护所述动画帧序列中的动画帧按照预设顺序进行绘制。所述共享信息管理部分用于管理各个动画帧在绘制过程中所使用到的共享信息。所述共享信息诸如基本对象的绘制方式等等。帧率刷新部分用于针对不同的动画效果而设置不同的帧率。
下面对所述播放引擎的一些实施方式进行具体说明。
如上所述,本示例中的自定义动画文件可以直接供图形引擎绘制,不需要再加工处理,可以提高绘制效率。具体地,如图9所示,在一个实施例中,所述播放引擎被设置为,即在所述目标客户端中播放所述预设动画文件格式的动画文件可以包括:
S91:解析所述预设动画文件格式的动画文件,构建动画帧播放队列。
S92:绘制所述动画帧播放队列中的动画帧。
S93:在所述目标客户端中展示绘制完成的动画帧。
本实施例中,所述播放引擎可以对所述预设动画文件格式的动画文件进行解析,构建动画帧播放队列。具体地,所述播放引擎可以读取所述动画文件,并对所述动画文件进行解析,获取各动画帧中的对象信息。在获取所述对象信息之后,将所述动画帧的对象信息载入所述目标客户端中的存储器中,并在所述存储器中还原出动画帧的播放队列。
本实施例中,在构建得到所述动画帧播放队列之后,可以绘制所述播放队列中的动画帧。在本申请的一个实施例中,所述绘制所述动画帧播放队列中的动画帧可以包括:
SS1:获取所述动画帧播放队列中动画帧中的绘制对象信息;
SS2:利用与所述绘制对象信息相匹配的图形引擎绘制所述绘制对象。
本实施例中的所述绘制对象可以包括所述自定义格式对象,诸如各个填充对象、形状对象、线条对象、滤镜等。获取各个绘制对象的信息之后,可以利用与所述绘制信息相匹配的图形引擎绘制所述绘制对象。所述图形引擎诸如QuartzCore、OpenGLES等,由于不同的图形引擎的性能侧重点不相同,以QuartzCore和OpenGLES举例说明,QuartzCore比较适合路径的绘制,且绘制速度较快,而OpenGLES可以处理复杂的绘制对象,但是速度较慢、占用计算资源较多。基于此,本实施例中,对于如直线、方形、圆形等简单的路径绘制,可以调用QuartzCore等绘制效率较高的图形引擎进行绘制,提高绘制效率;而涉及到滤镜、色彩变换的绘制对象,可以调用OpenGLES等绘制性能较高的图形引擎进行绘制,可以提高绘制质量。这样,将多种图形引擎配合使用,不仅可以还原目标动画的动画效果,还可以提高绘制效率。需要说明的是,所述图形引擎不限于上述举例,还可以包括Core Animation、UIKit等等,本申请在此不做限制。
在本申请的一个实施例中,所述绘制所述动画帧播放队列中的动画帧可以包括:
SS-1:从缓存空间中提取所述动画帧播放队列中的动画帧所包含的绘制对象信息,所述缓存空间用于存储预设数量的待绘制动画帧所包含的绘制对象信息;
SS-2:根据所述绘制对象信息绘制所述动画帧。
本实施例中,所述动画帧可以包括逐帧绘制的方式,在绘制的过程中,可以将预设数量的待绘制动画帧所包含的绘制对象信息提前存储于目标客户端的缓存空间中,这样,在进行图像绘制时,可以直接从缓存空间中获取待绘制的动画帧的绘制对象信息。不仅可以大大提高动画帧的绘制效率,还可以减少目标客户端播放所述动画文件时的资源消耗。
在本申请的一个实施例中,所述绘制所述动画帧播放队列中的动画帧可以包括:
SSS1:获取所述动画帧播放队列中动画帧的原始色彩值和颜色变换信息;
SSS2:利用GPU计算所述动画帧的更新色彩值,所述更新色彩值根据所述动画帧的原始色彩值和颜色变换信息计算得到。
为了使得动画具有炫酷感,很多动画中出现连续的色彩变化效果。现有技术的方案是通过CPU遍历动画帧中的每个像素点,并计算每个像素点经过颜色变换之后得到的更新色彩值。例如,某像素点的原色彩值为RGBA,其中,R为红色,G为绿色,B为蓝色,A为透明度,若假设该像素点的颜色变换矩阵为[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t],则经过颜色变换之后得到的更新色彩值为R'G'B'A',具体地的表达公式可以为:
R'=a*R+b*G+c*B+d*A+e;
G'=f*R+g*G+h*B+i*A+j;
B'=k*R+l*G+m*B+n*A+o;
A'=p*R+q*G+r*B+s*A+t
可以发现,利用CPU对动画帧的每个像素点进行遍历,整个过程CPU的性能消耗较大,若连续多帧动画帧进行色彩变换,则CPU负荷较高,动画效果容易卡顿。本实施例中,可以利用GPU分别计算动画帧中各个像素点更新色彩值,具体地,在一个实施例中,GPU可以利用OpenGL中的着色器(Shader)实现计算,计算完成后的动画帧可以在渲染管线中进入绘制阶段。
下面通过一个具体的示例说明上述实施例方法。对一张较大尺寸的图片(2004*1668)进行连续随机颜色矩阵操作,现有技术中方法是利用CPU对动画帧的每个像素点进行遍历计算,此时CPU的利用率曲线图如图10所示,CPU的利用率在50%-60%之间波动,耗时约1分钟39秒。若利用上述实施例的方式,即利用OpenGL中的着色器(Shader)实现颜色矩阵计算,此时的CPU的波动曲线如图11所示,CPU的平均利用率在20%左右,耗时约1分钟29秒。
通过上述示例中对比发现,利用GPU实现动画帧色彩的变换,不仅可以减轻CPU的工作负担,降低CPU使用率,还可以发挥GPU的优势,提升动画帧的色彩变换效率。
图12是本申请提供的动画文件转化装置的一种实施例的模块结构示意图,如图12所示,所述动画文件转化装置可以包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时可以实现:
获取目标动画的组成元素信息;
将所述组成元素信息转化成目标客户端可处理的动画元素信息;
将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。
本申请提供的动画文件转化装置,可以将目标动画的组成元素信息转化成目标客户端可处理的动画元素信息,再将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。这样,经过可化处理之后的动画文件可以直接在目标客户端上图形绘制和播放,不需要再进行加工处理,提高开发效率。相对于现有技术中主要依靠人工的动画转化方式,本申请实施例提供的动画转化方式,可以相对智能地对目标动画的动画元素信息进行分析处理,最终处理成统一的预设动画文件格式的动画文件。在实际应用中,若将统一的播放引擎耦合于目标客户端中,则可以在目标客户端或者目标客户端的应用中直接播放所述具有预设动画文件格式的动画文件。
可选的,在本申请的一个实施例中,所述处理器在实现步骤将所述组成元素信息转化成目标客户端可处理的动画元素信息时可以包括:
根据所述组成元素信息获取组成元素的原始实现方式;
若识别出目标客户端不支持所述组成元素的原始实现方式,则将所述原始实现方式替换成与所述原始实现方式相似的且所述目标客户端可处理的实现方式。
可选的,在本申请的一个实施例中,所述处理器在实现步骤将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件时可以包括:
获取所述动画元素信息中所包含的标签信息;
根据所述标签信息识别出所述动画元素信息所对应动画元素的类别;
依据所述类别所对应的自定义对象格式,从所述动画元素信息中获取所述动画元素的对象信息,生成所述目标动画的动画文件。
可选的,在本申请的一个实施例中,所述自定义对象格式可以包括下述中至少一种对象的格式:纯色块填充对象、渐变色块填充对象、图片填充对象、线条对象、图像对象、滤镜对象、子动画对象。
可选的,在本申请的一个实施例中,所述自定义对象格式中可以包括与所述动画元素相对应的唯一标识信息,利用所述唯一标识信息可重复调用所述动画元素。
可选的,在本申请的一个实施例中,所述处理器在实现步骤获取目标动画的组成元素信息时可以包括:
获取目标动画的元素描述文件;
从所述元素描述文件中解析得到所述目标动画的主动画和子动画;
分别获取所述主动画和所述子动画中的组成元素;
从所述元素描述文件中解析得到所述组成元素所对应的动画参数信息。
可选的,在本申请的一个实施例中,所述元素描述文件可以包括从所述目标动画的Flash动画源文件中解析得到的可扩展标记语言(XML)格式的元素描述文件。
可选的,在本申请的一个实施例中,所述处理器执行所述指令时还可以实现:
播放所述预设动画文件格式的动画文件。
可选的,在本申请的一个实施例中,所述处理器在实现步骤播放所述预设动画文件格式的动画文件时可以包括:
解析所述预设动画文件格式的动画文件,构建动画帧播放队列;
绘制所述动画帧播放队列中的动画帧;
展示绘制完成的动画帧。
可选的,在本申请的一个实施例中,所述处理器在实现步骤绘制所述动画帧播放队列中的动画帧时可以包括:
获取所述动画帧播放队列中动画帧中的绘制对象信息;
利用与所述绘制对象信息相匹配的图形引擎绘制所述绘制对象。
可选的,在本申请的一个实施例中,所述处理器在实现步骤绘制所述动画帧播放队列中的动画帧时可以包括:
从缓存空间中提取所述动画帧播放队列中的动画帧所包含的绘制对象信息,所述缓存空间用于存储预设数量的待绘制动画帧所包含的绘制对象信息;
根据所述绘制对象信息绘制所述动画帧。
可选的,在本申请的一个实施例中,所述处理器在实现步骤绘制所述动画帧播放队列中的动画帧时可以包括:
获取所述动画帧播放队列中动画帧的原始色彩值和颜色变换信息;
利用GPU计算所述动画帧的更新色彩值,所述更新色彩值根据所述动画帧的原始色彩值和颜色变换信息计算得到。
本申请另一方面还提出一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时可以实现以下步骤:
获取目标动画的组成元素信息;
将所述组成元素信息转化成目标客户端可处理的动画元素信息;
将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件。
所述计算机可读存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。本实施例所述的计算机可读存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
本申请内容中提到实施例中的组成元素信息转化、信息组织、信息识别等之类的处理描述,但是,本申请并不局限于必须是完全符合行业编程语言设计标准或实施例所描述的数据处理的情况。某些实施例描述的基础上略加修改后的实施方案也可以实行上述实施例相同、等同或相近、或变形后可预料的实施效果。当然,即使不采用上数据处理的方式,只要符合本申请上述各实施例的生成组成元素信息转化、信息组织、信息识别方式,仍然可以实现相同的申请,在此不再赘述。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,本申请中所述的某一单元模块也可以将实现同一功能的模块由多个子模块或子模块的组合实现。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (18)
1.一种动画文件转化方法,其特征在于,所述方法包括:
获取目标动画的组成元素信息;所述获取目标动画的组成元素信息包括:获取目标动画的元素描述文件,从所述元素描述文件中解析得到所述目标动画的主动画和子动画,分别获取所述主动画和所述子动画中的组成元素,从所述元素描述文件中解析得到所述组成元素所对应的动画参数信息;所述元素描述文件包括以下之一:目标动画的动画源文件、根据目标动画的动画源文件转化得到的文件;
将所述组成元素信息转化成目标客户端可处理的动画元素信息,所述将所述组成元素信息转化成目标客户端可处理的动画元素信息包括:根据所述组成元素信息获取组成元素的原始实现方式,识别组成元素的原始实现方式是否支持目标客户端进行处理,若识别出目标客户端不支持所述组成元素的原始实现方式,则将所述原始实现方式替换成与所述原始实现方式相似的且所述目标客户端可处理的实现方式;
将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件;所述将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件包括:获取所述动画元素信息中所包含的标签信息;根据所述标签信息识别出所述动画元素信息所对应动画元素的类别;依据所述类别所对应的自定义对象格式,从所述动画元素信息中获取所述动画元素的对象信息,生成所述目标动画的动画文件;所述自定义对象格式中包括与所述动画元素相对应的唯一标识信息,利用所述唯一标识信息可重复调用所述动画元素。
2.根据权利要求1所述的方法,其特征在于,所述自定义对象格式包括下述中至少一种对象的格式:纯色块填充对象、渐变色块填充对象、图片填充对象、线条对象、图像对象、滤镜对象、子动画对象。
3.根据权利要求1所述的方法,其特征在于,所述元素描述文件包括从所述目标动画的Flash动画源文件中解析得到的可扩展标记语言(XML)格式的元素描述文件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括;
在所述目标客户端中播放所述预设动画文件格式的动画文件。
5.一种动画文件播放方法,其特征在于,所述方法包括:
解析预设动画文件格式的动画文件,构建动画帧播放队列;所述预设动画文件格式的动画文件通过以下方式得到:获取目标动画的组成元素信息;所述获取目标动画的组成元素信息包括:获取目标动画的元素描述文件,从所述元素描述文件中解析得到所述目标动画的主动画和子动画,分别获取所述主动画和所述子动画中的组成元素,从所述元素描述文件中解析得到所述组成元素所对应的动画参数信息;所述元素描述文件包括以下之一:目标动画的动画源文件、根据目标动画的动画源文件转化得到的文件;将所述组成元素信息转化成目标客户端可处理的动画元素信息,所述将所述组成元素信息转化成目标客户端可处理的动画元素信息包括:根据所述组成元素信息获取组成元素的原始实现方式,识别组成元素的原始实现方式是否支持目标客户端进行处理,若识别出目标客户端不支持所述组成元素的原始实现方式,则将所述原始实现方式替换成与所述原始实现方式相似的且所述目标客户端可处理的实现方式;将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件;所述将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件包括:获取所述动画元素信息中所包含的标签信息;根据所述标签信息识别出所述动画元素信息所对应动画元素的类别;依据所述类别所对应的自定义对象格式,从所述动画元素信息中获取所述动画元素的对象信息,生成所述目标动画的动画文件;所述自定义对象格式中包括与所述动画元素相对应的唯一标识信息,利用所述唯一标识信息可重复调用所述动画元素;
绘制所述动画帧播放队列中的动画帧;
在目标客户端中展示绘制完成的动画帧。
6.根据权利要求5所述的方法,其特征在于,所述绘制所述动画帧播放队列中的动画帧包括:
获取所述动画帧播放队列中动画帧中的绘制对象信息;
利用与所述绘制对象信息相匹配的图形引擎绘制所述绘制对象。
7.根据权利要求5所述的方法,其特征在于,所述绘制所述动画帧播放队列中的动画帧包括:
从缓存空间中提取所述动画帧播放队列中的动画帧所包含的绘制对象信息,所述缓存空间用于存储预设数量的待绘制动画帧所包含的绘制对象信息;
根据所述绘制对象信息绘制所述动画帧。
8.根据权利要求5所述的方法,其特征在于,所述绘制所述动画帧播放队列中的动画帧包括:
获取所述动画帧播放队列中动画帧的原始色彩值和颜色变换信息;
利用GPU计算所述动画帧的更新色彩值,所述更新色彩值根据所述动画帧的原始色彩值和颜色变换信息计算得到。
9.一种动画文件转化装置,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
获取目标动画的组成元素信息;所述获取目标动画的组成元素信息包括:获取目标动画的元素描述文件,从所述元素描述文件中解析得到所述目标动画的主动画和子动画,分别获取所述主动画和所述子动画中的组成元素,从所述元素描述文件中解析得到所述组成元素所对应的动画参数信息;所述元素描述文件包括以下之一:目标动画的动画源文件、根据目标动画的动画源文件转化得到的文件;
将所述组成元素信息转化成目标客户端可处理的动画元素信息,所述将所述组成元素信息转化成目标客户端可处理的动画元素信息包括:根据所述组成元素信息获取组成元素的原始实现方式,识别组成元素的原始实现方式是否支持目标客户端进行处理,若识别出目标客户端不支持所述组成元素的原始实现方式,则将所述原始实现方式替换成与所述原始实现方式相似的且所述目标客户端可处理的实现方式;
将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件;所述将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件包括:获取所述动画元素信息中所包含的标签信息;根据所述标签信息识别出所述动画元素信息所对应动画元素的类别;依据所述类别所对应的自定义对象格式,从所述动画元素信息中获取所述动画元素的对象信息,生成所述目标动画的动画文件;所述自定义对象格式中包括与所述动画元素相对应的唯一标识信息,利用所述唯一标识信息可重复调用所述动画元素。
10.根据权利要求9所述的装置,其特征在于,所述自定义对象格式包括下述中至少一种对象的格式:纯色块填充对象、渐变色块填充对象、图片填充对象、线条对象、图像对象、滤镜对象、子动画对象。
11.根据权利要求9所述的装置,其特征在于,所述元素描述文件包括从所述目标动画的Flash动画源文件中解析得到的可扩展标记语言(XML)格式的元素描述文件。
12.根据权利要求9所述的装置,其特征在于,所述处理器执行所述指令时还实现:
播放所述预设动画文件格式的动画文件。
13.一种动画文件播放装置,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
解析预设动画文件格式的动画文件,构建动画帧播放队列;所述预设动画文件格式的动画文件通过以下方式得到:获取目标动画的组成元素信息;所述获取目标动画的组成元素信息包括:获取目标动画的元素描述文件,从所述元素描述文件中解析得到所述目标动画的主动画和子动画,分别获取所述主动画和所述子动画中的组成元素,从所述元素描述文件中解析得到所述组成元素所对应的动画参数信息;所述元素描述文件包括以下之一:目标动画的动画源文件、根据目标动画的动画源文件转化得到的文件;将所述组成元素信息转化成目标客户端可处理的动画元素信息,所述将所述组成元素信息转化成目标客户端可处理的动画元素信息包括:根据所述组成元素信息获取组成元素的原始实现方式,识别组成元素的原始实现方式是否支持目标客户端进行处理,若识别出目标客户端不支持所述组成元素的原始实现方式,则将所述原始实现方式替换成与所述原始实现方式相似的且所述目标客户端可处理的实现方式;将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件;所述将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件包括:获取所述动画元素信息中所包含的标签信息;根据所述标签信息识别出所述动画元素信息所对应动画元素的类别;依据所述类别所对应的自定义对象格式,从所述动画元素信息中获取所述动画元素的对象信息,生成所述目标动画的动画文件;所述自定义对象格式中包括与所述动画元素相对应的唯一标识信息,利用所述唯一标识信息可重复调用所述动画元素;
绘制所述动画帧播放队列中的动画帧;
展示绘制完成的动画帧。
14.根据权利要求13所述的装置,其特征在于,所述处理器在实现绘制所述动画帧播放队列中的动画帧时包括:
获取所述动画帧播放队列中动画帧中的绘制对象信息;
利用与所述绘制对象信息相匹配的图形引擎绘制所述绘制对象。
15.根据权利要求13所述的装置,其特征在于,所述处理器在实现绘制所述动画帧播放队列中的动画帧时包括:
从缓存空间中提取所述动画帧播放队列中的动画帧所包含的绘制对象信息,所述缓存空间用于存储预设数量的待绘制动画帧所包含的绘制对象信息;
根据所述绘制对象信息绘制所述动画帧。
16.根据权利要求13所述的装置,其特征在于,所述处理器在实现绘制所述动画帧播放队列中的动画帧时包括:
获取所述动画帧播放队列中动画帧的原始色彩值和颜色变换信息;
利用GPU计算所述动画帧的更新色彩值,所述更新色彩值根据所述动画帧的原始色彩值和颜色变换信息计算得到。
17.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现以下步骤:
获取目标动画的组成元素信息;所述获取目标动画的组成元素信息包括:获取目标动画的元素描述文件,从所述元素描述文件中解析得到所述目标动画的主动画和子动画,分别获取所述主动画和所述子动画中的组成元素,从所述元素描述文件中解析得到所述组成元素所对应的动画参数信息;所述元素描述文件包括以下之一:目标动画的动画源文件、根据目标动画的动画源文件转化得到的文件;
将所述组成元素信息转化成目标客户端可处理的动画元素信息,所述将所述组成元素信息转化成目标客户端可处理的动画元素信息包括:根据所述组成元素信息获取组成元素的原始实现方式,识别组成元素的原始实现方式是否支持目标客户端进行处理,若识别出目标客户端不支持所述组成元素的原始实现方式,则将所述原始实现方式替换成与所述原始实现方式相似的且所述目标客户端可处理的实现方式;
将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件;所述将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件包括:获取所述动画元素信息中所包含的标签信息;根据所述标签信息识别出所述动画元素信息所对应动画元素的类别;依据所述类别所对应的自定义对象格式,从所述动画元素信息中获取所述动画元素的对象信息,生成所述目标动画的动画文件;所述自定义对象格式中包括与所述动画元素相对应的唯一标识信息,利用所述唯一标识信息可重复调用所述动画元素。
18.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现以下步骤:
解析预设动画文件格式的动画文件,构建动画帧播放队列;所述预设动画文件格式的动画文件通过以下方式得到:获取目标动画的组成元素信息;所述获取目标动画的组成元素信息包括:获取目标动画的元素描述文件,从所述元素描述文件中解析得到所述目标动画的主动画和子动画,分别获取所述主动画和所述子动画中的组成元素,从所述元素描述文件中解析得到所述组成元素所对应的动画参数信息;所述元素描述文件包括以下之一:目标动画的动画源文件、根据目标动画的动画源文件转化得到的文件;将所述组成元素信息转化成目标客户端可处理的动画元素信息,所述将所述组成元素信息转化成目标客户端可处理的动画元素信息包括:根据所述组成元素信息获取组成元素的原始实现方式,识别组成元素的原始实现方式是否支持目标客户端进行处理,若识别出目标客户端不支持所述组成元素的原始实现方式,则将所述原始实现方式替换成与所述原始实现方式相似的且所述目标客户端可处理的实现方式;将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件,所述将处理得到的所述动画元素信息组织成预设动画文件格式的动画文件包括:获取所述动画元素信息中所包含的标签信息;根据所述标签信息识别出所述动画元素信息所对应动画元素的类别;依据所述类别所对应的自定义对象格式,从所述动画元素信息中获取所述动画元素的对象信息,生成所述目标动画的动画文件;所述自定义对象格式中包括与所述动画元素相对应的唯一标识信息,利用所述唯一标识信息可重复调用所述动画元素;
绘制所述动画帧播放队列中的动画帧;
展示绘制完成的动画帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710660229.1A CN109389661B (zh) | 2017-08-04 | 2017-08-04 | 一种动画文件转化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710660229.1A CN109389661B (zh) | 2017-08-04 | 2017-08-04 | 一种动画文件转化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109389661A CN109389661A (zh) | 2019-02-26 |
CN109389661B true CN109389661B (zh) | 2024-03-01 |
Family
ID=65412372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710660229.1A Active CN109389661B (zh) | 2017-08-04 | 2017-08-04 | 一种动画文件转化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109389661B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112070864A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画渲染方法、装置、计算机可读存储介质和计算机设备 |
CN112435319A (zh) * | 2019-08-26 | 2021-03-02 | 上海卷石文化传媒有限公司 | 一种基于计算机处理的二维动画生成系统 |
CN113516737A (zh) * | 2020-03-27 | 2021-10-19 | 北京小米松果电子有限公司 | 动画转换方法、装置及智能设备 |
CN111968201A (zh) * | 2020-08-11 | 2020-11-20 | 深圳市前海手绘科技文化有限公司 | 一种基于手绘素材的手绘动画素材生成方法 |
CN111932660A (zh) * | 2020-08-11 | 2020-11-13 | 深圳市前海手绘科技文化有限公司 | 一种基于ae文件的手绘视频制作方法 |
CN112150591B (zh) * | 2020-09-30 | 2024-02-02 | 广州光锥元信息科技有限公司 | 智能动画和图层化的多媒体处理装置 |
CN113268301B (zh) * | 2021-05-25 | 2024-02-13 | 北京北大方正电子有限公司 | 动画生成方法、装置、设备及存储介质 |
CN113506359A (zh) * | 2021-06-03 | 2021-10-15 | 深圳东辉盛扬科技有限公司 | 一种动画元素采集方法及装置 |
CN113806115A (zh) * | 2021-10-08 | 2021-12-17 | 泰山信息科技有限公司 | 一种动画复制方法、装置、设备及存储介质 |
CN113989425B (zh) * | 2021-12-24 | 2022-04-26 | 北京搜狐新动力信息技术有限公司 | 一种帧动画播放方法及装置、存储介质及电子设备 |
CN115328855B (zh) * | 2022-10-17 | 2023-01-24 | 北京尽微致广信息技术有限公司 | 文件还原度的评估方法、装置、存储介质和设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577760A (zh) * | 2009-05-26 | 2009-11-11 | 深圳市融创天下科技发展有限公司 | 在装有kjava应用软件的手机联网时播放动画的方法 |
CN102314701A (zh) * | 2011-06-28 | 2012-01-11 | 北京新媒传信科技有限公司 | 移动设备中实时播放gif动画的方法及装置 |
CN102368247A (zh) * | 2011-09-16 | 2012-03-07 | 杭州典能科技有限公司 | 在手持终端上执行swf文件的方法 |
CN102609400A (zh) * | 2011-01-19 | 2012-07-25 | 上海中信信息发展股份有限公司 | 文件格式转换方法及转换工具 |
CN105657574A (zh) * | 2014-11-12 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种视频文件制作方法以及装置 |
CN106204695A (zh) * | 2016-06-23 | 2016-12-07 | 厦门幻世网络科技有限公司 | 一种3d动画的编辑方法及装置 |
CN106485770A (zh) * | 2015-08-26 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 一种flash动画的格式转换方法及装置 |
CN106611435A (zh) * | 2016-12-22 | 2017-05-03 | 广州华多网络科技有限公司 | 动画处理方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7911467B2 (en) * | 2005-12-30 | 2011-03-22 | Hooked Wireless, Inc. | Method and system for displaying animation with an embedded system graphics API |
CN106920270B (zh) * | 2015-12-24 | 2021-06-25 | 博雅网络游戏开发(深圳)有限公司 | 动画处理方法和装置 |
-
2017
- 2017-08-04 CN CN201710660229.1A patent/CN109389661B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577760A (zh) * | 2009-05-26 | 2009-11-11 | 深圳市融创天下科技发展有限公司 | 在装有kjava应用软件的手机联网时播放动画的方法 |
CN102609400A (zh) * | 2011-01-19 | 2012-07-25 | 上海中信信息发展股份有限公司 | 文件格式转换方法及转换工具 |
CN102314701A (zh) * | 2011-06-28 | 2012-01-11 | 北京新媒传信科技有限公司 | 移动设备中实时播放gif动画的方法及装置 |
CN102368247A (zh) * | 2011-09-16 | 2012-03-07 | 杭州典能科技有限公司 | 在手持终端上执行swf文件的方法 |
CN105657574A (zh) * | 2014-11-12 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种视频文件制作方法以及装置 |
CN106485770A (zh) * | 2015-08-26 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 一种flash动画的格式转换方法及装置 |
CN106204695A (zh) * | 2016-06-23 | 2016-12-07 | 厦门幻世网络科技有限公司 | 一种3d动画的编辑方法及装置 |
CN106611435A (zh) * | 2016-12-22 | 2017-05-03 | 广州华多网络科技有限公司 | 动画处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
Flash动画的内容特征分析与图像信息提取研究;刘菲 等;现代教育技术;第19卷(第12期);第91-94页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109389661A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109389661B (zh) | 一种动画文件转化方法及装置 | |
CN108010112B (zh) | 动画处理方法、装置及存储介质 | |
EP4198909A1 (en) | Image rendering method and apparatus, and computer device and storage medium | |
Cordeil et al. | IATK: An immersive analytics toolkit | |
US20220080318A1 (en) | Method and system of automatic animation generation | |
CN111669623B (zh) | 视频特效的处理方法、装置以及电子设备 | |
CN110969685A (zh) | 使用渲染图的可定制渲染管线 | |
CN105144243A (zh) | 数据可视化 | |
CN111951356B (zh) | 基于json数据格式的动画渲染方法 | |
CN109242934A (zh) | 一种动画代码的生成方法及设备 | |
CN109636885B (zh) | 一种用于h5页面的序列帧动画制作方法和系统 | |
CN111179391A (zh) | 一种三维动画制作方法、系统及存储介质 | |
Hummel et al. | Leveraging nvidia omniverse for in situ visualization | |
CN113453073A (zh) | 一种图像渲染方法、装置、电子设备及存储介质 | |
Flotyński et al. | Building multi-platform 3D virtual museum exhibitions with Flex-VR | |
US9704290B2 (en) | Deep image identifiers | |
US9501812B2 (en) | Map performance by dynamically reducing map detail | |
Schwab et al. | Scalable scalable vector graphics: Automatic translation of interactive svgs to a multithread vdom for fast rendering | |
CN110874869B (zh) | 生成虚拟动画表情的方法和装置 | |
Levkowitz et al. | Cloud and mobile web-based graphics and visualization | |
CN117390322A (zh) | 虚拟空间构建方法、装置、电子设备及非易失性存储介质 | |
CN110990104B (zh) | 一种基于Unity3D的纹理渲染方法及装置 | |
CN115482324A (zh) | 多媒体资源生成方法、装置、电子设备及存储介质 | |
CN111068314B (zh) | 一种基于Unity的NGUI资源渲染处理方法及装置 | |
CN114217758A (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 |