CN112988306A - 动画处理方法及装置 - Google Patents

动画处理方法及装置 Download PDF

Info

Publication number
CN112988306A
CN112988306A CN202110357334.4A CN202110357334A CN112988306A CN 112988306 A CN112988306 A CN 112988306A CN 202110357334 A CN202110357334 A CN 202110357334A CN 112988306 A CN112988306 A CN 112988306A
Authority
CN
China
Prior art keywords
sub
animation
target
configuration file
images
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.)
Granted
Application number
CN202110357334.4A
Other languages
English (en)
Other versions
CN112988306B (zh
Inventor
宋澜超
牛福振
柳欣源
周维
赵茂兰
王顺明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202110357334.4A priority Critical patent/CN112988306B/zh
Publication of CN112988306A publication Critical patent/CN112988306A/zh
Application granted granted Critical
Publication of CN112988306B publication Critical patent/CN112988306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供动画处理方法及装置,其中动画处理方法包括:获取待转换动画的目标图集和对应的配置文件;根据配置文件,对目标图集进行切割,得到至少两个子图,并生成至少两个子图对应的播放文件;根据所述至少两个子图对应的播放文件,获得转换后的目标动画。如此,通过拆分、重构目标图集包括的子图,得到转换后的动画,实现跨平台动画资源的直接转换,动画处理周期较短,提高了动画处理效率,大大节省了人力和时间。

Description

动画处理方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及一种动画处理方法。本申请同时涉及一种动画处理装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着计算机技术的快速发展,动画越来越受到人们的喜爱,生活和工作中随处可见各种各样的动画。目前,移动端游戏大多采用Unity游戏引擎作为开发工具,人物模型动画部分采用的是读取图集生成动画的方式呈现。当进行网络端游戏重构时,表现人物动作部分大多数选用Swf格式的帧动画呈现,与Unity游戏引擎所生成的动画格式不同。
现有技术中,往往是美术人员重新使用原始美术资源,在Flash中重新制作一遍相应的动画。上述动画处理方法,在网络端重新制作动画的制作周期较长,动画处理效率低,浪费巨大的人力和时间,需要靠人数来弥补巨大的动画制作周期,且重新生成的动画无法确保和基于Unity游戏引擎制作出的动画完全一样,准确性得不到保证。
发明内容
有鉴于此,本申请实施例提供了一种动画处理方法。本申请同时涉及一种动画处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的在网络端重新制作动画的制作周期较长,动画处理效率低的问题。
根据本申请实施例的第一方面,提供了一种动画处理方法,包括:
获取待转换动画的目标图集和对应的配置文件;
根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件;
根据所述至少两个子图对应的播放文件,获得转换后的目标动画。
根据本申请实施例的第二方面,提供了一种动画处理装置,包括:
获取模块,被配置为获取待转换动画的目标图集和对应的配置文件;
切割模块,被配置为根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件;
获得模块,被配置为根据所述至少两个子图对应的播放文件,获得转换后的目标动画。
根据本申请实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取待转换动画的目标图集和对应的配置文件;
根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件;
根据所述至少两个子图对应的播放文件,获得转换后的目标动画。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现任意所述动画处理方法的步骤。
本申请提供的动画处理方法,可以获取待转换动画的目标图集和对应的配置文件;根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件;根据所述至少两个子图对应的播放文件,获得转换后的目标动画。如此,通过拆分、重构目标图集包括的子图,可以得到转换后的动画,实现跨平台动画资源的直接转换,动画处理周期较短,提高了动画处理效率,大大节省了人力和时间,且保证了转换后的动画与转换前的动画的一致性。
附图说明
图1是本申请一实施例提供的一种动画处理方法的流程图;
图2是本申请一实施例提供的一种目标图集的示意图;
图3是本申请一实施例提供的一种目标图集的切割过程示意图;
图4是本申请一实施例提供的一种待播放帧序列示意图;
图5是本申请一实施例提供的一种动画处理过程的示意图;
图6是本申请一实施例提供的一种动画处理的原理框图
图7是本申请一实施例提供的一种动画处理装置的结构示意图;
图8是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
Flash:Flash是一种动画创作与应用程序开发于一身的创作软件。Adobe FlashProfessional CC为创建数字动画、交互式Web站点、桌面应用程序以及手机应用程序开发提供了功能全面的创作和编辑环境。Flash广泛用于创建吸引人的应用程序,它们包含丰富的视频、声音、图形和动画。
Unity:Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
Swf:是动画设计软件Flash的专用格式,被广泛应用于网页设计、动画制作等领域,Swf文件通常也被称为Flash文件。
Web(WorldWide Web):即全球广域网,也称为万维网,它是一种基于超文本传输协议(HTTP)的、全球性的、动态交互的、跨平台的分布式图形信息系统。
Web端游戏:是基于Web浏览器的网络互动游戏,无需下载客户端,不存在机器配置不够的问题,最重要的是关闭或者切换极其方便。
png图集:将多张同类型图片合并到一张上显示的一种位图格式文件。
遍历:是指沿着某条搜索路线,依次对树(或图)中每个节点均做一次访问。
树:树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。
JSON(JavaScript Object Notation,JS对象简谱):是一种轻量级的数据交换格式。它基于欧洲计算机协会制定的js规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
fla文件:fla是一种包含原始素材的Flash动画格式的文件。
关键帧:指动画中角色或者物体运动或变化中的关键动作所处的那一帧。
Python:是一种跨平台的计算机程序设计语言。
crop函数:一种切割图片的方法。
在本申请中,提供了一种动画处理方法,本申请同时涉及一种动画处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种动画处理方法的流程图,具体包括以下步骤:
步骤102:获取待转换动画的目标图集和对应的配置文件。
实际应用中,目前移动端游戏大多采用Unity游戏引擎作为开发工具,人物模型动画部分采用的是读取图集生成动画的方式呈现。当进行网络端游戏重构时,表现人物动作部分大多数选用Swf格式的帧动画呈现,与Unity游戏引擎所生成的动画格式不同。因而,需要美术人员重新使用原始美术资源,在Flash中重新制作一遍相应的动画,动画处理周期较长、效率较低,浪费巨大的人力和时间,需要靠人数来弥补巨大的动画制作周期。
因而,为了缩短动画处理周期,提高动画处理效率,本申请提供了一种动画处理方法,可以获取待转换动画的目标图集和对应的配置文件;根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件;根据所述至少两个子图对应的播放文件,获得转换后的目标动画。如此,抽象出了不同的动画平台的动画格式规则,通过拆分、重构目标图集包括的子图,得到转换后的动画,实现跨平台动画资源的直接转换。
需要说明的是,为了实现动画美术资源的复用,节省游戏开发中的人力成本并减小人为因素带来的不准确性,本申请深入研究了Unity及Flash软件的关键帧动画技术。Unity的动画系统是基于关键帧的动画插值技术,通过研究关键帧动画插值参数结构,发现Unity动画系统中使用的动画动作png图集可拆分为按名称排序的一组单张关键帧的图片。在Flash软件中,可以批量读取拆分得到到每组图片,并最终加工成Swf格式的关键帧动画,以实现跨平台的动画资源直接转换。也就是说,本申请中可以抽象出两个动画制作平台的规律,通过中间数据的交互实现Unity动画在Flash软件中复现,从而节省游戏开发中的人力成本,提升工作效率及准确性。
具体的,待转换动画可以为以图集格式存储动画数据的动画,而目标动画则可以为以单个图像的格式存储的动画,如在Unity游戏引擎中制作、需要在web端播放的动画,该待转换动画的图像通过png格式存储,而web端播放的目标动画则需要为Swf格式的文件或者fla格式的文件。另外,目标图集为待转换动画对应的任一个png图集;配置文件是存储该目标图集的属性信息对应的文件,如该目标图集对应的动画帧序列的总时长,该目标图集包括的各个子图的位置、旋转等信息。
实际实现时,动画关键帧技术的核心是插值技术,动画设计软件Flash和游戏引擎Unity都采用了动画关键帧技术,只需解析数据格式并重组即可实现不同平台间动画的转换。本申请中,在Unity的动画动作图集(即目标图集)路径下同时存在该目标图集的JSON配置文件,该配置文件以特定的规则存储了目标图集中每张子图的位置、宽高、旋转等信息。
需要说明的是,配置文件可以以JSON文件的格式存储,JSON文件中,其数据是按照“树结构”进行排列组合的,解析JSON配置文件的时候会遍历JSON数据,从而获取到相应的位置、宽高、旋转等信息。
示例的,图2是本申请一实施例提供的一种目标图集的示意图,如图2所示,目标图集中包括4张子图,分别为子图1、子图2、子图3和子图4。
步骤104:根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件。
具体的,在获取待转换动画的目标图集和对应的配置文件的基础上,进一步地,将根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件。其中,播放文件可以是指子图在动画帧中播放的位置参数,该播放文件可以为文本文件,一个子图对应一个播放文件。
当然,实际应用中,除了针对拆分得到的每个子图均生成一个对应的播放文件外,还可以针对拆分得到的全部子图生成一个播放文件,该播放文件中可以包括每个子图的播放信息,以及每个播放信息对应的子图的标识,从而可以从该播放文件中根据子图的标识,获取各个子图对应的播放信息,本申请对此不进行限制。
本实施例一个可选的实施方式中,所述配置文件包括所述至少两个子图中每个子图在所述目标图集中的位置信息和尺寸;根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,具体实现过程可以如下:
对所述配置文件进行解析,得到所述至少两个子图中每个子图的位置信息和尺寸;
根据所述每个子图的位置信息和尺寸,对所述目标图集进行切割,得到所述至少两个子图。
具体的,位置信息可以是指目标图集中每张子图的绝对位置坐标,该绝对位置坐标是指子图相对于图集原点的位置,根据该绝对位置坐标可以唯一确定出子图在目标图集中所处的位置;且该位置信息可以是子图中心点的位置坐标,也可以是指子图某个边缘点的位置坐标。另外,尺寸是指子图的大小,该尺寸可以是子图的宽和高。需要说明的是,不同子图的尺寸可以相同也可以不同。
实际应用中,配置文件可以根据预设的规则存储每个子图的位置信息和尺寸,相应的,按照该预设的规则对配置文件进行解析,即可得到每个子图的位置信息和尺寸。
示例的,如图2所示,配置文件分别存储有:子图1(X1,Y1),宽为5,高为8;子图2(X2,Y2),宽为5,高为8;子图3(X3,Y3),宽为5,高为8;子图4(X4,Y4),宽为5,高为8。
本申请中,在获取待转换动画的目标图集的同时,还可以获取目标图集对应的配置文件,通过解析该配置文件,获得目标图集包括的各个子图的位置信息和尺寸,从而便于后续根据该位置信息和尺寸对目标图集进行裁剪,得到对应的子图,以进行动画转换。
本实施例一个可选的实施方式中,根据所述每个子图的位置信息和尺寸,对所述目标图集进行切割,得到至少两个子图,具体实现过程可以如下:
针对所述至少两个子图中的每个子图,根据所述子图的尺寸,生成对应尺寸的切割框;
根据所述子图的位置信息,确定所述对应尺寸的切割框的放置位置,并在所述放置位置设置所述切割框;
通过所述切割框,从所述目标图集中切割出对应的参考子图。
具体的,切割框即为裁剪框,对目标图集进行裁剪,可以得到目标图集包括的至少两个子图;另外,参考子图是指仅通过切割框裁剪得到的、未经其他处理的子图。
需要说明的是,为了保证切割得到的子图是完整的子图,切割框的尺寸大小应该大于等于对应子图的尺寸大小,且根据子图的位置信息,将对应的切割框放置在子图上,也即需要使用切割框框住子图,使子图完全位于切割框内,然后可以通过所述切割框从所述目标图集中切割出对应的参考子图。
实际实现时,可以通过自定义的python脚本,将配置文件中的数据按特定规则解析,然后根据子图的位置坐标及宽高等信息生成对应的矩形切割框,并利用crop函数将目标图集拆解为对应的多张子图。如此,实现了简单快速地对目标图集进行切割,得到准确子图的目的。
示例的,图3是本申请一实施例提供的一种目标图集的切割过程示意图,如图3所示,目标图集中包括4张子图,分别为子图1、子图2、子图3和子图4。假设切割框的尺寸大小刚好等于子图的尺寸大小,此时分别在子图1、子图2、子图3和子图4上设置对应的切割框,通过该切割框即可切割得到对应的4个子图。
本实施例一个可选的实施方式中,所述配置文件还包括所述至少两个子图中每个子图的旋转参数;通过所述切割框,从所述目标图集中切割出对应的参考子图之后,还包括:
根据所述旋转参数,对所述参考子图进行反向旋转,得到所述子图。
具体的,旋转参数是指子图进行旋转的角度,如配置文件中记载有某个子图顺时针旋转过15度,即目标图集中的该子图是原子图顺时针旋转15度后得到的子图,因而在切割目标图集,得到参考子图后,需要将该参考子图逆时针旋转15度进行复原,才能得到最后所需的子图。
本申请中如果在切割目标图集的过程中,如果确定获取到的某个子图进行过旋转,则可以控制该子图进行反向旋转,以进行复原,切割得到的子图将作为后续转换后的动画的帧图片,从而得到转换后的目标动画。
本实施例一个可选的实施方式中,生成所述至少两个子图对应的播放文件,具体实现过程可以如下:
根据所述配置文件,确定所述至少两个子图中每个子图对应的时间偏移信息;
针对所述至少两个子图中的每个子图,根据所述子图对应的时间偏移信息,生成所述子图对应的播放文件。
具体的,时间偏移信息是指子图在空白序列帧中相对于起始帧偏移的时间,即时间偏移信息是指该子图对应的位置距离起始帧之间的时间距离,如时间偏移可以为4、6、8等。
本实施例一个可选的实施方式中,根据所述配置文件,确定所述至少两个子图中每个子图对应的时间偏移信息,具体实现过程可以如下:
根据所述配置文件,确定所述至少两个子图对应的参考图像帧,以及每个所述子图在所述至少两个子图中的排列顺序;
针对所述至少两个子图中的每个子图,根据所述参考图像帧和所述排列顺序,确定所述子图对应的时间偏移信息。
具体的,参考图像帧是指一个子图相较于起始图像帧的距离,即多少帧插入一个子图,如当参考图像帧为6时,在空白序列帧中每间隔6帧插入一个子图。实际实现时,可以将子图的排列顺序乘以该参考图像帧,得到该子图对应的时间偏移信息。
实际应用中,配置文件中携带的位置信息除了可以包括每张子图的绝对位置坐标之外,还可以包括每张子图的相对位置坐标,该相对位置坐标是指动画播放过程中子图的相对坐标,代表了子图的排列顺序,因而根据配置文件中携带的位置信息的相对位置坐标,可以确定出每个子图的排列顺序。
示例的,假设确定出的参考图像帧为6,共有4个子图,排列顺序依次为子图1、子图2、子图3和子图4,那么子图1的排列顺序为1,时间偏移信息为1乘以6等于6,即在空白序列帧中第6帧的位置处插入子图1;子图2的排列顺序为2,时间偏移信息为2乘以6等于12,即在空白序列帧中第12帧的位置处插入子图2;子图3的排列顺序为3,时间偏移信息为3乘以6等于18,即在空白序列帧中第18帧的位置处插入子图3;子图4的排列顺序为4,时间偏移信息为4乘以6等于24,即在空白序列帧中第24帧的位置处插入子图4。
本实施例一个可选的实施方式中,根据所述配置文件,确定所述至少两个子图对应的参考图像帧,具体实现过程可以如下:
从所述配置文件中获取所述总动画时长和所述播放速度;
从所述配置文件中获取所述至少两个子图的子图数量;
根据所述总动画时长、所述子图数量以及所述播放速度,确定所述至少两个子图对应的参考图像帧。
具体的,播放速度是指动画每秒播放帧数,如播放速度可以为每秒24帧。
实际应用中,根据所述总动画时长、所述子图数量以及所述播放速度,确定所述至少两个子图对应的参考图像帧,可以使用总动画时长除以子图数量,然后再乘以播放速度,从而得到该参考图像帧。
示例的,假设总动画时长为1秒,子图数量为4个,播放速度为每秒24帧。那么总动画时长1秒除以子图数量4,为1/4,然后再使用1/4乘以播放速度每秒24帧,得到参考图像帧为6,即需要在空白序列帧中每间隔6帧插入一个子图。
步骤106:根据所述至少两个子图对应的播放文件,获得转换后的目标动画。
具体的,在根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件的基础上,进一步地,将根据所述至少两个子图对应的播放文件,获得转换后的目标动画。
本实施例一个可选的实施方式中,根据所述至少两个子图对应的播放文件,获得转换后的目标动画,包括:
根据所述配置文件中记录的总动画时长和播放速度,创建空白帧序列;
根据所述至少两个子图对应的播放文件,将所述至少两个子图中的每个子图插入所述空白帧序列中的对应位置处,获得待播放帧序列,基于所述待播放帧序列,得到转换后的目标动画。
需要说明的是,若需要得到转换后的目标动画,可以先基于原本的待转换动画,创建一个空白帧序列,然后再将拆分得到的各个子图,插入空白帧序列中的对应位置处即可获得待播放帧序列,该获得的待播放帧序列就是转换后的动画对应的帧序列,基于得到的待播放帧序列,可以得到转换后的目标动画,该目标动画为swf格式的动画文件,即所述目标动画可以在网络端进行访问。
本实施例一个可选的实施方式中,根据所述配置文件中记录的总动画时长和播放速度,创建空白帧序列,具体实现过程可以如下:
根据所述配置文件中记录的总动画时长和播放速度,确定帧序列的目标长度;
创建所述目标长度的空白帧序列。
需要说明的是,配置文件中记载有目标图集对应的动画的总动画时长和播放速度,该总动画时长和播放速度可以表示待转换动画对应的视频帧长度,根据该总动画时长和播放速度,可以确定出需要创建的空白帧序列的目标长度,然后创建该目标长度的空白帧序列即可,便于后续在空白帧序列中,插入相应的图像,得到与待转换动画相同的转换格式后的目标动画。
示例的,总动画时长为1秒,播放速度为每秒24帧,则目标长度为24帧,此时需要创建一个包括24帧的空白帧序列。
本实施例一个可选的实施方式中,根据所述至少两个子图对应的播放文件,将所述至少两个子图中的每个子图插入所述空白帧序列中的对应位置处,获得待播放帧序列,具体实现过程可以如下:
针对所述至少两个子图中的每个子图,解析所述子图对应的播放文件,获取所述子图对应的时间偏移信息;
根据所述时间偏移信息,确定所述子图对应的目标位置;
将所述子图插入所述空白帧序列中的所述目标位置处;
在所述至少两个子图中每个子图均插入所述空白帧序列中的目标位置处的情况下,得到所述待播放帧序列。
示例的,图4是本申请一实施例提供的一种待播放帧序列示意图,如图4所示,分别解析子图1、子图2、子图3和子图4对应的播放文件,分别得到其对应的时间偏移信息分别为6、12、18和24。因而在空白序列帧中第6帧的位置处插入子图1、第12帧的位置处插入子图2、第18帧的位置处插入子图3、第24帧的位置处插入子图4,当所有的子图插入完毕,即可得到待播放帧序列。
实际应用中,可以将切割得到的各个子图批量导入Flash软件中,通过flash脚本代码模拟软件中的操作(例如添加新图层,设置关键帧属性等),读取切割目标图集时设置的播放文件,然后根据配置文件中记录的总动画时长和播放速度,创建空白帧序列,并且将对应的子图插入新生成的空白帧序列中的对应位置处,如此可以批量生成即发布对应的Fla及Swf文件,并保存到指定的路径下,最终实现动画在Unity平台到Flash平台间的自动化转换。
需要说明的是,Fla文件是FLASH动画的源文件,包含动画的所有内容,可以进行修改和编辑;Swf文件是FLASH动画最终生成并输出的文件,其不可修改,只可播放。
示例的,图5是本申请一实施例提供的一种动画处理过程的示意图,如图5所示,需要先运行Python脚本,对Unity中的png图集的位置信息、宽高信息等信息进行批量解析,然后批量生成多个单张子图,在Flash平台中运行脚本,导入得到的各个子图,解析所述各个子图的播放文件中的时间偏移信息,根据时间偏移信息将子图插入创建的空白帧序列中,得到待播放帧序列,基于该待播放帧序列,批量生成转换后的目标动画(即批量生成fla文件),批量导出生成的目标动画的swf文件。
示例的,图6是本申请一实施例提供的一种动画处理的原理框图,如图6所示,本申请中首先需要通过Python读取图集数据模块,来读取目标图集的数据,然后可以根据Python图集切割数据模块,来对目标图集进行切割,得到至少两个子图,之后,可以通过读取图片数据模块,来读取切割得到的各个子图,并通过拼装图片数据模块,在创建的空白帧序列中拼接得到的各个子图,通过生成动画模块,得到装换后的动画。
本申请提供的动画处理方法,可以获取待转换动画的目标图集和对应的配置文件;根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件;根据所述配置文件中记录的总动画时长和播放速度,创建空白帧序列,然后根据所述至少两个子图的播放文件,将所述至少两个子图插入所述空白帧序列中的对应位置处,获得待播放帧序列,基于所述待播放帧序列,得到转换后的目标动画,所述目标动画为在网络端访问的动画。
这种情况下,可以对待转换动画的目标图集进行拆解,得到至少两个子图,且基于总动画时长和播放速度,创建对应的空白帧序列,然后将拆解得到的子图分别插入创建的空白帧序列中对应的位置,即可得到转换后的目标动画,该目标动画可以在网络端播放。如此,可以抽象不同的动画平台的动画格式规则,通过拆分、重构目标图集包括的子图,得到转换后的动画,实现跨平台动画资源的直接转换,动画处理周期较短,提高了动画处理效率,大大节省了人力和时间,且保证了转换后的动画与转换前的动画的一致性。
与上述方法实施例相对应,本申请还提供了动画处理装置实施例,图7示出了本申请一实施例提供的一种动画处理装置的结构示意图。如图7所示,该装置包括:
获取模块702,被配置为获取待转换动画的目标图集和对应的配置文件;
切割模块704,被配置为根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件;
获得模块706,被配置为根据所述至少两个子图对应的播放文件,获得转换后的目标动画。
可选地,获得模块706进一步被配置为:
根据所述配置文件中记录的总动画时长和播放速度,创建空白帧序列;
根据所述至少两个子图对应的播放文件,将所述至少两个子图中的每个子图插入所述空白帧序列中的对应位置处,获得待播放帧序列,基于所述待播放帧序列,得到转换后的目标动画。
可选地,所述配置文件包括所述至少两个子图中每个子图在所述目标图集中的位置信息和尺寸;
切割模块704进一步被配置为:
对所述配置文件进行解析,得到所述至少两个子图中每个子图的位置信息和尺寸;
根据所述每个子图的位置信息和尺寸,对所述目标图集进行切割,得到所述至少两个子图。
可选地,切割模块704进一步被配置为:
针对所述至少两个子图中的每个子图,根据所述子图的尺寸,生成对应尺寸的切割框;
根据所述子图的位置信息,确定所述对应尺寸的切割框的放置位置,并在所述放置位置设置所述切割框;
通过所述切割框,从所述目标图集中切割出对应的参考子图。
可选地,所述配置文件还包括所述至少两个子图中每个子图的旋转参数;
切割模块704进一步被配置为:
通过所述切割框,从所述目标图集中切割出对应的参考子图之后,还包括:
根据所述旋转参数,对所述参考子图进行反向旋转,得到所述子图。
可选地,切割模块704进一步被配置为:
根据所述配置文件,确定所述至少两个子图中每个子图对应的时间偏移信息;
针对所述至少两个子图中的每个子图,根据所述子图对应的时间偏移信息,生成所述子图对应的播放文件。
可选地,切割模块704进一步被配置为:
根据所述配置文件,确定所述至少两个子图对应的参考图像帧,以及每个所述子图在所述至少两个子图中的排列顺序;
针对所述至少两个子图中的每个子图,根据所述参考图像帧和所述排列顺序,确定所述子图对应的时间偏移信息。
可选地,切割模块704进一步被配置为:
从所述配置文件中获取所述总动画时长和所述播放速度;
从所述配置文件中获取确定所述至少两个子图的子图数量;
根据所述总动画时长、所述子图数量以及所述播放速度,确定所述至少两个子图对应的参考图像帧。
可选地,获得模块706进一步配置为:
针对所述至少两个子图中的每个子图,解析所述子图对应的播放文件,获取所述子图对应的时间偏移信息;
根据所述时间偏移信息,确定所述子图对应的目标位置;
将所述子图插入所述空白帧序列中的所述目标位置处;
在所述至少两个子图中每个子图均插入所述空白帧序列中的目标位置处的情况下,得到所述待播放帧序列。
可选地,获得模块706进一步被配置为:
根据所述配置文件中记录的总动画时长和播放速度,确定帧序列的目标长度;
创建所述目标长度的空白帧序列。
本申请提供的动画处理装置,可以抽象不同的动画平台的动画格式规则,通过拆分、重构目标图集包括的子图,得到转换后的动画,实现跨平台动画资源的直接转换,动画处理周期较短,提高了动画处理效率,大大了节省人力和时间,且保证了转换后的动画与转换前的动画的一致性。
上述为本实施例的一种动画处理装置的示意性方案。需要说明的是,该动画处理装置的技术方案与上述的动画处理方法的技术方案属于同一构思,动画处理装置的技术方案未详细描述的细节内容,均可以参见上述动画处理方法的技术方案的描述。
图8示出了根据本申请一实施例提供的一种计算设备800的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
计算设备800还包括接入设备840,接入设备840使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备800还可以是移动式或静止式的服务器。
其中,处理器820用于执行如下计算机可执行指令:
获取待转换动画的目标图集和对应的配置文件画;
根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件;
根据所述至少两个子图对应的播放文件,获得转换后的目标动画。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的动画处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述动画处理方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时以用于实现上述动画处理方法的操作步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的动画处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述动画处理方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (13)

1.一种动画处理方法,其特征在于,包括:
获取待转换动画的目标图集和对应的配置文件;
根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件;
根据所述至少两个子图对应的播放文件,获得转换后的目标动画。
2.根据权利要求1所述的动画处理方法,其特征在于,根据所述至少两个子图对应的播放文件,获得转换后的目标动画,包括:
根据所述配置文件中记录的总动画时长和播放速度,创建空白帧序列;
根据所述至少两个子图对应的播放文件,将所述至少两个子图中的每个子图插入所述空白帧序列中的对应位置处,获得待播放帧序列,基于所述待播放帧序列,得到转换后的目标动画。
3.根据权利要求1或2所述的动画处理方法,其特征在于,所述配置文件包括所述至少两个子图中每个子图在所述目标图集中的位置信息和尺寸;
根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,包括:
对所述配置文件进行解析,得到所述至少两个子图中每个子图的位置信息和尺寸;
根据所述每个子图的位置信息和尺寸,对所述目标图集进行切割,得到所述至少两个子图。
4.根据权利要求3所述的动画处理方法,其特征在于,根据所述每个子图的位置信息和尺寸,对所述目标图集进行切割,得到所述至少两个子图,包括:
针对所述至少两个子图中的每个子图,根据所述子图的尺寸,生成对应尺寸的切割框;
根据所述子图的位置信息,确定所述对应尺寸的切割框的放置位置,并在所述放置位置设置所述切割框;
通过所述切割框,从所述目标图集中切割出对应的参考子图。
5.根据权利要求4所述的动画处理方法,其特征在于,所述配置文件还包括所述至少两个子图中每个子图的旋转参数;
通过所述切割框,从所述目标图集中切割出对应的参考子图之后,还包括:
根据所述旋转参数,对所述参考子图进行反向旋转,得到所述子图。
6.根据权利要求2所述的动画处理方法,其特征在于,生成所述至少两个子图对应的播放文件,包括:
根据所述配置文件,确定所述至少两个子图中每个子图对应的时间偏移信息;
针对所述至少两个子图中的每个子图,根据所述子图对应的时间偏移信息,生成所述子图对应的播放文件。
7.根据权利要求6所述的动画处理方法,其特征在于,根据所述配置文件,确定所述至少两个子图中每个子图对应的时间偏移信息,包括:
根据所述配置文件,确定所述至少两个子图对应的参考图像帧,以及每个所述子图在所述至少两个子图中的排列顺序;
针对所述至少两个子图中的每个子图,根据所述参考图像帧和所述排列顺序,确定所述子图对应的时间偏移信息。
8.根据权利要求7所述的动画处理方法,其特征在于,根据所述配置文件,确定所述至少两个子图对应的参考图像帧,包括:
从所述配置文件中获取所述总动画时长和所述播放速度;
从所述配置文件中获取所述至少两个子图的子图数量;
根据所述总动画时长、所述子图数量以及所述播放速度,确定所述至少两个子图对应的参考图像帧。
9.根据权利要求6所述的动画处理方法,其特征在于,根据所述至少两个子图对应的播放文件,将所述至少两个子图中的每个子图插入所述空白帧序列中的对应位置处,获得待播放帧序列,包括:
针对所述至少两个子图中的每个子图,解析所述子图对应的播放文件,获取所述子图对应的时间偏移信息;
根据所述时间偏移信息,确定所述子图对应的目标位置;
将所述子图插入所述空白帧序列中的所述目标位置处;
在所述至少两个子图中每个子图均插入所述空白帧序列中的目标位置处的情况下,得到所述待播放帧序列。
10.根据权利要求2所述的动画处理方法,其特征在于,根据所述配置文件中记录的总动画时长和播放速度,创建空白帧序列,包括:
根据所述配置文件中记录的总动画时长和播放速度,确定帧序列的目标长度;
创建所述目标长度的空白帧序列。
11.一种动画处理装置,其特征在于,包括:
获取模块,被配置为获取待转换动画的目标图集和对应的配置文件;
切割模块,被配置为根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件;
获得模块,被配置为根据所述至少两个子图对应的播放文件,获得转换后的目标动画。
12.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
获取待转换动画的目标图集和对应的配置文件;
根据所述配置文件,对所述目标图集进行切割,得到至少两个子图,并生成所述至少两个子图对应的播放文件;
根据所述至少两个子图对应的播放文件,获得转换后的目标动画。
13.一种计算机可读存储介质,其特征在于,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述动画处理方法的步骤。
CN202110357334.4A 2021-04-01 2021-04-01 动画处理方法及装置 Active CN112988306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110357334.4A CN112988306B (zh) 2021-04-01 2021-04-01 动画处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110357334.4A CN112988306B (zh) 2021-04-01 2021-04-01 动画处理方法及装置

Publications (2)

Publication Number Publication Date
CN112988306A true CN112988306A (zh) 2021-06-18
CN112988306B CN112988306B (zh) 2023-04-11

Family

ID=76338873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110357334.4A Active CN112988306B (zh) 2021-04-01 2021-04-01 动画处理方法及装置

Country Status (1)

Country Link
CN (1) CN112988306B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579518A (zh) * 2022-03-04 2022-06-03 福建天晴在线互动科技有限公司 一种批量生成图集的方法及其系统
CN114866801A (zh) * 2022-04-13 2022-08-05 中央广播电视总台 视频数据的处理方法、装置、设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198504A (zh) * 2013-03-01 2013-07-10 北京国双科技有限公司 过渡动画的控制方法和装置
CN112396681A (zh) * 2019-08-13 2021-02-23 上海哔哩哔哩科技有限公司 一种动画生成方法、装置和存储介质
US20210350600A1 (en) * 2019-06-11 2021-11-11 Tencent Technology (Shenzhen) Company Limited Animation file processing method and apparatus, computer-readable storage medium, and computer device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198504A (zh) * 2013-03-01 2013-07-10 北京国双科技有限公司 过渡动画的控制方法和装置
US20210350600A1 (en) * 2019-06-11 2021-11-11 Tencent Technology (Shenzhen) Company Limited Animation file processing method and apparatus, computer-readable storage medium, and computer device
CN112396681A (zh) * 2019-08-13 2021-02-23 上海哔哩哔哩科技有限公司 一种动画生成方法、装置和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579518A (zh) * 2022-03-04 2022-06-03 福建天晴在线互动科技有限公司 一种批量生成图集的方法及其系统
CN114866801A (zh) * 2022-04-13 2022-08-05 中央广播电视总台 视频数据的处理方法、装置、设备及计算机可读存储介质
CN114866801B (zh) * 2022-04-13 2023-10-27 中央广播电视总台 视频数据的处理方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN112988306B (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
US12017145B2 (en) Method and system of automatic animation generation
CN112988306B (zh) 动画处理方法及装置
CN107393013B (zh) 虚拟漫游文件生成、显示方法、装置、介质、设备和系统
CN109389661B (zh) 一种动画文件转化方法及装置
CN107170050A (zh) 物联图元的3d场景建立方法及系统
CN107506517A (zh) 建筑模型显示、数据处理方法、装置、介质、设备和系统
CN111161365A (zh) 一种骨骼动画数据的压缩方法及装置
CN107402985A (zh) 视频特效输出控制方法、装置及计算机可读存储介质
CN109242934A (zh) 一种动画代码的生成方法及设备
CN111383349A (zh) 一种地形场景编辑方法及装置、计算设备及存储介质
CN111179391A (zh) 一种三维动画制作方法、系统及存储介质
CN111145318B (zh) 一种基于ngui的渲染方法及装置
CN114140564A (zh) 表情创建方法及装置
CN114742928A (zh) 动画渲染方法、装置、电子设备及介质
CN116115995A (zh) 图像渲染处理方法、装置及电子设备
CN111068314B (zh) 一种基于Unity的NGUI资源渲染处理方法及装置
CN108171778A (zh) 一种可视化呈现数据的处理、回放方法、装置及存储介质
WO2018049682A1 (zh) 一种虚拟3d场景制作方法及相关设备
CN109558186A (zh) 一种页面显示方法和装置
CN112040322A (zh) 一种视频说明书制作方法
CN112396681A (zh) 一种动画生成方法、装置和存储介质
CN110990104B (zh) 一种基于Unity3D的纹理渲染方法及装置
CN115904372A (zh) 数据处理方法及装置
CN113209626B (zh) 一种游戏画面渲染方法及装置
CN111640170B (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