CN117152307A - 动画处理方法、装置、电子设备和计算机可读存储介质 - Google Patents
动画处理方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117152307A CN117152307A CN202210896176.4A CN202210896176A CN117152307A CN 117152307 A CN117152307 A CN 117152307A CN 202210896176 A CN202210896176 A CN 202210896176A CN 117152307 A CN117152307 A CN 117152307A
- Authority
- CN
- China
- Prior art keywords
- animation
- cyclic
- layer
- target
- frame
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 39
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 354
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000004044 response Effects 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000009877 rendering Methods 0.000 claims description 9
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 6
- 230000003993 interaction Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种动画处理方法、装置、电子设备和计算机可读存储介质;在本申请实施例中,获取目标动画的循环图层,以及获取所述目标动画对应的循环播放信息;基于所述循环图层和所述循环播放信息生成目标循环图层;根据所述目标动画和所述目标循环图层,生成包含所述循环播放信息的动画文件。本申请实施例可以减少动画设计师和应用工程师之间的交互,并且,也无需应用工程师设计循环播放信息对应的代码,减少出错率,提高开发效率。
Description
技术领域
本申请涉及动画技术领域,具体涉及一种动画处理方法、装置、电子设备和计算机可读存储介质。
背景技术
随着科学技术的发展,动画的应用越来越广泛,比如,将动画应用于应用程序的界面中,使得应用程序的界面更加生动。动画一般由动画设计师进行设计,得到动画文件,然后将动画文件交给应用程序工程师导入应用程序中。
然而,动画可以进行循环播放,动画设计师需要将循环播放信息额外提供给应用程序工程师,应用工程师再设置循环播放信息对应的代码去控制动画的播放,该方法不但使得动画设计师和应用工程师之间的交互较多,且循环播放信息对应的代码较为复杂,容易出错,开发效率低。
发明内容
本申请实施例提供一种动画处理方法、装置、电子设备和计算机可读存储介质,可以解决动画设计师和应用工程师之间的交互较多,且循环播放信息对应的代码较为复杂,容易出错,开发效率低的技术问题。
一种动画处理方法,包括:
获取目标动画的循环图层,以及获取上述目标动画对应的循环播放信息;
基于上述循环图层和上述循环播放信息生成目标循环图层;
根据上述目标动画和上述目标循环图层,生成包含上述循环播放信息的动画文件。
相应地,本申请实施例提供一种动画处理装置,包括:
获取模块,用于获取目标动画的循环图层,以及获取上述目标动画对应的循环播放信息;
图层生成模块,用于基于上述循环图层和上述循环播放信息生成目标循环图层;
文件生成模块,用于根据上述目标动画和上述目标循环图层,生成包含上述循环播放信息的动画文件。
此外,本申请实施例还提供一种电子设备,包括处理器和存储器,上述存储器存储有计算机程序,上述处理器用于运行上述存储器内的计算机程序实现本申请实施例提供的动画处理方法。
此外,本申请实施例还提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序适于处理器进行加载,以执行本申请实施例所提供的任一种动画处理方法。
此外,本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本申请实施例所提供的任一种动画处理方法。
在本申请实施例中,先获取目标动画的循环图层,以及获取目标动画对应的循环播放信息。然后基于循环图层和循环播放信息生成目标循环图层。最后根据目标动画和所述目标循环图层,生成包含循环播放信息的动画文件。
即在本申请实施例中,根据循环图层和循环播放信息生成目标循环图层,以便目标循环图层包含循环播放信息,使得根据目标动画和目标循环图层生成的动画文件中包含循环播放信息,无需动画设计师额外将循环播放信息给应用工程师,减少动画设计师和应用工程师之间的交互,并且,也无需应用工程师设计循环播放信息对应的代码,减少出错率,提高开发效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的动画处理方法的流程示意图;
图2是本申请实施例提供的编辑界面的示意图;
图3是本申请实施例提供的第一位置和第二位置的示意图;
图4是本申请实施例提供的循环播放信息的格式的示意图;
图5是本申请实施例提供的关键帧和差分帧的示意图;
图6是本申请实施例提供的另一种关键帧和差分帧的示意图;
图7是本申请实施例提供的另一种关键帧和差分帧的示意图;
图8是本申请实施例提供的库文件和目标应用程序的示意图;
图9是本申请实施例提供的动画处理装置的结构示意图;
图10是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种动画处理方法、装置、电子设备和计算机可读存储介质。其中,该动画处理装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
另外,本申请实施例中的“多个”指两个或两个以上。本申请实施例中的“第一”和“第二”等用于区分描述,而不能理解为暗示相对重要性。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
在本实施例中,将从动画处理装置的角度进行描述,为了方便对本申请的动画处理方法进行说明,以下将以动画处理装置集成在终端中进行详细说明,即以终端作为执行主体进行详细说明。
请参阅图1,图1是本申请一实施例提供的动画处理方法的流程示意图。该动画处理方法可以包括:
S101、获取目标动画的循环图层,以及获取目标动画对应的循环播放信息。
目标动画中可以包括循环图层,终端可以从目标动画中获取循环图层。或者,终端也可以获取目标动画的图层创建指令,然后根据图层创建指令,建立目标动画的循环图层。
目标动画可以指已经编辑完成的动画,也可以指编辑中的动画。循环播放信息指循环播放目标动画时用到的信息,比如,循环播放信息可以包括目标动画的循环播放的循环次数,循环播放的起始帧、结束帧、循环播放的时长、循环播放时的旋转角度、循环播放时缩小动画以及循环播放时放大动画中的至少一种。
需要说明的是,终端可以从其他终端中获取目标动画的循环播放信息,或者,终端也可以响应于对循环图层的编辑操作,获取到循环播放信息。
循环图层可以为可见的图层,也可以为不可见的图层。比如,循环图层可以为文字图层或空对象图层,本实施例在此不做限定。
S102、基于循环图层和循环播放信息生成目标循环图层。
终端在获取到循环图和循环播放信息之后,可以将循环播放信息记录在循环图层中,从而得到包含循环播放信息的目标循环图层。
在一些实施例中,基于循环图层和循环播放信息生成目标循环图层,包括:
显示目标动画的循环图层;
响应于对循环图层的编辑操作,生成包含循环播放信息的目标循环图层。
在本实施例中,可以在目标动画的编辑界面中显示目标动画的循环图层,以便用户对循环图层进行编辑,终端可以响应于对循环图层的编辑操作,将循环播放信息记录在循环图层中,从而得到包含循环播放信息的目标循环图层。或者,终端可以响应于对循环图层的编辑操作,获取到循环播放信息,并将循环播放信息记录在循环图层中,从而得到包含循环播放信息的目标循环图层。
其中,对循环图层的编辑操作,可以指对循环图层本身进行编辑操作,或者,也可以指对循环图层的属性区域进行操作。比如,循环图层可以为循环图层L1,循环图层L1以及目标动画的编辑界面可以如图2所示,则可以对循环图层L1进行编辑操作,也可以对循环图层L1的属性区域进行编辑操作。
在另一些实施例中,对循环图层的编辑操作可以包括第一编辑操作和第二编辑操作,循环播放信息可包括循环播放的起始帧、结束帧以及播放次数,此时,响应于对循环图层的编辑操作,生成包含循环播放信息的目标循环图层,包括:
响应对循环图层的第一编辑操作,确定目标动画的循环播放的起始帧和结束帧;
响应对循环图层的第二编辑操作,获取循环播放的播放次数;
根据起始帧、结束帧以及播放次数,生成目标循环图层。
在本实施例中,可以先响应于对循环图层的第一编辑操作,确定目标动画的循环播放的起始帧和结束帧,然后响应于对循环图层的第二编辑操作,获取循环播放次数,然后自动将循环播放次数、起始帧以及结束帧记录在循环图层中,从而得到目标循环图层。
其中,第一编辑操作和第二编辑操作的类型可以根据实际情况进行设置,比如,第一编辑操作可以为点击操作或者拖动操作等,第二编辑操作可以为输入操作或选择操作等,本实施例在此不做限定。
在本实施例中,可以对循环图层进行编辑操作,从而获取到循环播放信息,并得到包含循环播放信息的目标循环图层,较为便捷。
可选地,响应对循环图层的第一编辑操作,确定目标动画的循环播放的起始帧和结束帧,包括:
响应对循环图层的第一编辑操作,确定目标动画的时间进度条所在的第一位置和第二位置;
将目标动画的时间进度条所在的第一位置对应的动画帧确定为循环播放的起始帧,以及将时间进度条所在的第二位置对应的动画帧确定为循环播放的结束帧。
应理解,第一编辑操作可以为一次操作,比如,终端响应于对循环图层的点击操作,将时间进度条所在的当前位置作为第二位置,然后将当前位置的前一位置作为第一位置。当前位置的前一位置可以指时间进度条到达当前位置之前所在的最后一个位置。
比如,时间进度条所在的当前位置如图2所示,则当前位置的前一位置可以为位置a。
或者,第一编辑操作可以包括多次操作,比如,第一编辑操作可以为点击操作,终端响应于对循环图层的点击操作,记录目标动画的时间进度条所在的第一位置,终端响应于对循环图层的点击操作,记录目标动画的时间进度条所在第二位置。
此时,响应对循环图层的第一编辑操作,确定目标动画的时间进度条所在的第一位置和第二位置,包括:
响应对循环图层的第一编辑操作,将目标动画的时间进度条所在的当前位置作为第一位置;
响应于对时间进度条的拖动操作,将时间进度条从当前位置移动到的位置作为第二位置。
其中,终端可以响应于对时间进度条的拖动操作,将时间进度条从当前位置移动至第二位置,并记录第二位置。或者,当终端响应于对时间进度条的拖动操作,将时间进度条移动至第二位置,然后终端再次响应于对循环图层的第一编辑操作,记录第二位置。
比如,如图3所示,第一编辑操作为点击操作,终端响应于对循环图层的点击操作,记录目标动画的时间进度条所在的当前位置,即记录第一位置,第一位置可以如图3中的301所示,然后,终端响应于对时间进度条的拖动操作,将时间进度条从当前位置移动至第二位置,第二位置可以如图3中的302所示。接着,终端再次响应于对循环图层的点击操作,记录目标动画的时间进度条所在的第二位置。
在本实施例中,将目标动画的时间进度条所在的第一位置对应的动画帧确定为循环播放的起始帧,以及将时间进度条所在的第二位置对应的动画帧确定为循环播放的结束帧,无需用户确定循环播放的起始帧的标识和结束帧的标识。
在另一些实施例中,目标动画可以包括多个循环播放信息,每次播放目标动画时对应一个循环播放信息,比如,第一次播放目标动画时,可以对应循环播放信息w,第二次循环播放时,可以对应循环播放信息y。此时,目标循环图层可以包括多个循环播放信息,则响应于对循环图层的编辑操作,生成包含循环播放信息的目标循环图层,包括:
响应于对循环图层的多次编辑操作,获取目标动画的多个循环播放信息,并将多个循环播放信息记录在循环图层中,得到目标循环图层。
或者,目标动画可以包括多个分段动画,每个分段动画分别对应有循环播放信息,每个分动动画对应的循环播放信息存储于同一循环图层中,此时响应于对循环图层的编辑操作,生成包含循环播放信息的目标循环图层,包括
响应于对循环图层的编辑操作,根据每个分段动画对应的循环播放信息,生成包含循环播放信息的目标循环图层。
可选地,响应于对循环图层的编辑操作,根据每个分段动画对应的循环播放信息,生成包含循环播放信息的目标循环图层的过程可以为:
响应对循环图层的第一编辑操作,确定目标动画中的分段动画的起始帧和结束帧;
响应于对循环图层的第二编辑操作,获取分段动画的循环次数;
返回执行响应对循环图层的第一编辑操作,确定目标动画中的分段动画的起始帧和结束帧的步骤,直至得到各个分段动画的循环播放信息;
根据各个分段动画的循环播放信息,生成目标循环图层。
比如,目标动画包括分段动画1和分段动画2,终端可以响应于对循环图层的第一编辑操作,确定分段动画1的循环播放的起始帧和结束帧,响应于对循环图层的第二编辑操作,获取分段动画1的循环播放的循环次数,然后终端再次响应于对循环图层的第一编辑操作,确定分段动画2的循环播放的起始帧和结束帧,响应于对循环图层的第二编辑操作,确定分段动画2的循环播放的循环次数,然后根据分段动画1的循环播放的起始帧、结束帧、循环次数、分段动画2的循环播放的起始帧、结束帧以及循环播出,得到目标循环图层。
应理解,当确定分段动画的循环播放的起始帧和结束帧时,也可以是确定该分段动画。比如,还未对目标动画进行分段,则当响应对循环图层的第一编辑操作,确定循环播放的起始帧和结束帧时,则起始帧和结束帧之间的动画帧、起始帧以及结束帧组成分段动画1,从而得到分段动画1,也即是,分段动画的循环播放的起始帧和结束帧为分段动画的起始帧和结束帧。
或者,预先对目标动画进行分段,得到各个分段动画,然后当响应对循环图层的第一编辑操作时,确定分段动画的循环播放的起始帧和结束帧,此时,分段动画的循环播放的起始帧可能与分段动画的起始帧相同,也可能不相同,分段动画的循环播放的结束帧可能与分段动画的结束帧相同,也可能不相同。
在本实施例中,目标动画存在多个循环播放信息,多个循环播放信息存储于同一循环图层中,无需一个循环图层存储一个循环播放信息,提高存储循环播放信息时的便捷性,并且由于只有一个循环图层,因此,可以更加快速地得到目标动画对应的动画文件。
在另一些实施例中,每个分段动画对应的循环播放信息也可以存储于不同的循环图层中,也即是,每个分段动画分别对应有存储于不同循环图层的循环播放信息,此时,显示目标动画的循环图层,响应于对循环图层的编辑操作,生成包含循环播放信息的目标循环图层,包括:
将多个循环图层中第一循环图层作为候选循环图层;
显示候选循环图层;
响应于对候选循环图层的编辑操作,得到包含与候选循环图层对应的分段动画的循环播放信息的目标循环图层;
将多个循环图层中的第二循环图层作为候选循环图层,返回执行显示候选循环图层的操作,直至目标动画中各个分段动画对应的目标循环图层均生成。
比如,多个循环图层分别为循环图层L1和L2,第一循环图层为循环图层L1,第二循环图层为循环图层L2,与循环图层L1对应的分段动画为分段动画1,与循环图层L2对应的分段动画为分段动画2,将循环图层L1作为候选循环图层,然后终端响应于对候选循环图层的编辑操作,得到包含分段动画1的循环播放信息的目标循环图层。接着,终端再将循环图层L2作为候选循环图层,响应于对候选循环图层的编辑操作,得到包含分段动画2的循环播放信息的目标循环图层。
需要说明的是,当目标动画包括多个分段动画时,可以只循环播放目标动画中的一部分分段动画,也即是,目标动画中的一部分分段动画存在对应的循环播放信息,目标动画中的另外一部分分段动画没有存在对应的循环播放信息,此时,直至目标动画中各个分段动画对应的目标循环图层均生成可以指直至目标动画中各个需要循环播放的分段动画对应的目标循环图层均生成。
在另一些实施例中,循环图层可以通过动画编辑器的空对象图层实现,此时,显示目标动画的循环图层,包括:
显示图层选择界面,图层选择界面包括空对象图层控件;
响应于对空对象图层控件的确认操作,显示目标动画的空对象图层。
其中,图层选择界面的显示形式,可以根据实际情况进行选择,比如,图层选择界面可以以浮层的形式或弹窗的形式存在于目标动画的编辑界面之上,本实施例在此不做限定。
空对象图层指具备可见图层的属性的不可见图层。由于空对象图层为不可见的图层,因此,通过空对象图层实现循环图层,使得既可以把循环播放信息存储于动画文件中,而且可以使得在播放目标动画时,不会对目标动画造成视觉上的影响。
动画编辑器的类型可以根据实际情况进行选择,比如,动画编辑器可以为AE编辑器(After Effects,AE)或者PR编辑器(Adobe Premiere,PR),本实施例在此不做限定。
在另一些实施例中,显示目标动画的循环图层,包括:
获取动画编辑器的启动指令;
根据启动指令从动画编辑器的插件文件中,加载图层插件,并启动动画编辑器,以在动画编辑器的界面中显示图层插件对应的图层控件;
响应于对图层控件的触发操作,显示目标动画的循环图层。
在本实施例中,循环图层也可以以插件的形式存在,然后当根据启动指令,启动动画编辑器时,从动画编辑器的插件文件中读取图层插件并加载,使得当动画编辑器启动成功之后,动画编辑器的界面中包括图层插件对应的图层控件。然后,终端可以响应于对图层控件的触发操作,建立目标动画的循环图层并显示目标动画的循环图层。
如果动画编辑器的插件文件中没有包括循环图层对应的图层插件,则在获取动画编辑器的启动指令之前,还可以包括:
获取循环图层对应的代码文件;
根据循环图层对应的代码文件,生成循环图层对应的图层插件;
将图层插件存储于动画编辑器的插件文件中。
在另一些实施例中,循环图层对应的代码文件也可以存储于动画编辑器的安装包中,当动画编辑器的安装成功时,动画编辑器的界面中即包括图层控件,然后终端再响应于对图层控件的触发操作,建立目标动画的循环图层并显示目标动画的循环图层。
S103、根据目标动画和目标循环图层,生成包含循环播放信息的动画文件。
终端在得到目标循环图层之后,可以自动根据目标动画和目标循环图层,生成包含循环播放信息的动画文件。或者,终端在得到目标循环图层之后,也可以当接收到导出指令时,根据导出指令,根据目标动画和目标循环图层,生成包含循环播放信息的动画文件。
对于动画文件的格式,可以根据实际情况进行设置,比如,动画文件的格式可以为GIF格式或pag格式,本实施例在此不做限定。
可选地,当循环播放信息包括多个时,循环播放信息在动画文件中的格式可以如图4所示。
为了减少动画文件的大小,提高解码动画文件中的动画帧的速度,会对动画文件中的动画帧进行差分处理,即动画文件中的动画帧包括关键帧和差分帧,如果是差分帧,动画文件中只存储了差分帧与前一帧之间的差异信息,如果循环播放的起始帧为差分帧,则需要找到该差分帧对应的关键帧,并根据该差分帧对应的关键帧与该差分帧之间的所有差分帧、该差分帧对应的关键帧以及该差分帧进行解码合成,才能得到循环播放的起始帧。
比如,如图5,动画文件中第1帧动画帧和第60帧动画帧为关键帧,动画文件中其他动画帧为差分帧,则当循环播放的起始帧为第57帧动画帧时,需要根据第1帧动画帧(第1帧动画帧为第57帧动画帧对应的关键帧)和第57帧动画帧之间的所有动画帧、第57帧动画帧以及第1帧动画帧进行解码合成,才能得到循环播放的起始帧,该过程非常耗时,计算量很大,容易引起循环播放的延迟。
为了解决该问题,在一些实施例中,根据目标动画和目标循环图层,生成包含循环播放信息的动画文件,包括:
对目标循环图层进行解析,得到循环播放信息;
确定循环播放信息中的起始标识在目标动画中对应的起始动画帧;
若起始动画帧为差分帧,则将起始动画帧修改为关键帧,得到修改后目标动画;
根据修改后目标动画和循环播放信息,生成目标动画对应的动画文件。
比如,循环播放信息中的起始标识为第57帧,则查看目标动画中第57帧动画帧是否是差分帧,此时,目标动画中第57帧动画帧也即是目标动画中的起始动画帧。由于第57帧动画帧为差分帧,因此,将第57帧动画帧修改为关键帧,如图6所示,得到修改后目标动画。
在本实施例中,由于对目标循环图层进行分析之后,可以得到循环播放信息,因此,可以根据循环播放信息确定循环播放的起始帧,则在生成动画文件时,可以将循环播放的起始帧设置为关键帧,从而使得在循环播放时,可以直接进行渲染循环播放的起始帧并播放,无需向前递归,减少了计算量,避免循环播放出现延迟。
在另一些实施例中,为了在避免出现循环播放延迟的同时减少动画文件的大小,若起始动画帧为差分帧,则将起始动画帧修改为关键帧,得到修改后目标动画,包括:
若起始动画帧为差分帧,则将起始动画帧修改为关键帧;
确定目标动画中与起始动画帧最近的关键帧和起始动画帧之间的目标帧数;
若目标帧数小于预设阈值,则将与起始动画帧最近的关键帧修改为差分帧,得到修改后目标动画。
与起始动画帧最近的关键帧可以指帧数与起始动画帧的帧数最近且在起始动画帧的帧数之后的关键帧。比如,如图7所示,起始动画帧为第57帧动画帧,由于第60帧动画帧在第57帧动画帧之后,且第60帧动画帧的帧数与第57帧动画帧的帧数最近,因此,第60帧动画帧为与第57帧动画帧最近的关键帧。因为第60帧动画帧与第57帧动画帧之间的目标帧数3(第60帧动画帧与第57帧动画帧之间相差3帧)小于预设阈值,所以,将第60帧动画帧设置为差分帧,从而减少动画文件的大小。
在另一些实施例中,根据目标动画和目标循环图层,生成包含循环播放信息的动画文件,包括:
对目标循环图层进行解析,得到循环播放信息;
根据循环播放信息,确定目标动画的关键帧信息;
根据目标动画,循环播放信息以及关键帧信息,生成目标动画对应的动画文件。
比如,循环播放信息中的起始帧包括第5帧和50帧,则目标动画的第5帧和50帧均为关键帧。
在本实施例中,在生成动画文件时,先对目标循环图层进行解析,得到循环播放信息,然后直接根据循环播放信息,确定目标动画的关键帧信息,无需在确定动画文件中的关键帧和差分帧之后,再根据循环播放信息对差分帧进行修改。
在另一些实施例中,在根据目标动画和所述目标循环图层,生成包含循环播放信息的动画文件之后,方法还包括:
获取库文件,库文件包括动画解析渲染功能和循环播放信息解析控制功能;
将库文件集成于目标应用程序中;
当将动画文件导入目标应用程序时,通过目标应用程序基于库文件,对动画文件进行解析,得到目标动画和循环播放信息;
基于库文件渲染目标动画,并基于循环播放信息播放目标动画。
目标应用程序可以指播放目标动画的应用程序。将库文件集成于目标应用程序中,可以将库文件存储于目标应用程序的可执行文件中。或者,将库文件集成于目标应用程序中,也可以指将库文件对应的代码存储于目标应用程序的安装包中。对于将库文件集成于目标应用程序中的方式,可以根据实际情况进行选择,本实施例在此不做限定。
动画解析渲染功能用于对动画文件中的动画进行解析和渲染,循环播放信息解析控制功能用于对动画文件中的循环播放信息进行解析和根据循环播放信息控制动画的播放。
可选地,在一种可能实现的方式中,库文件中包括动画解析渲染功能和循环播放信息解析功能,循环播放的控制功能存储于目标应用程序中。比如,如图8所示。终端通过目标应用程序,基于库文件,对动画文件进行解析,得到目标动画和循环播放信息,并基于库文件对目标动画进行渲染,然后通过目标应用程序中循环播放的控制功能,根据循环播放信息,控制目标动画的播放。
在本实施例中,即使面对不同的动画文件,也无需调整目标应用程序的代码,只需将库文件集成于目标应用程序中即可,提高目标应用程序的开发效率,减少出错率。
由以上可知,在本申请实施例中,先获取目标动画的循环图层,以及获取目标动画对应的循环播放信息。然后基于循环图层和循环播放信息生成目标循环图层。最后根据目标动画和所述目标循环图层,生成包含循环播放信息的动画文件。
即在本申请实施例中,根据循环图层和循环播放信息生成目标循环图层,以便目标循环图层包含循环播放信息,使得根据目标动画和目标循环图层生成的动画文件中包含循环播放信息,无需动画设计师额外将循环播放信息给应用工程师,减少动画设计师和应用工程师之间的交互,并且,也无需应用工程师设计循环播放信息对应的代码,减少出错率,提高开发效率。
为便于更好的实施本申请实施例提供的动画处理方法,本申请实施例还提供一种基于上述动画处理方法的装置。其中名词的含义与上述动画处理方法中相同,具体实现细节可以参考方法实施例中的说明。
例如,如图9所示,该动画处理装置可以包括:
获取模块901,用于获取目标动画的循环图层,以及获取目标动画对应的循环播放信息。
图层生成模块902,用于基于循环图层和循环播放信息生成目标循环图层。
文件生成模块903,用于根据目标动画和目标循环图层,生成包含循环播放信息的动画文件。
可选地,图层生成模块902具体用于执行:
显示目标动画的循环图层;
响应于对循环图层的编辑操作,生成包含循环播放信息的目标循环图层。
可选地,编辑操作包括第一编辑操作和第二编辑操作,循环播放信息包括循环播放的起始帧、结束帧以及播放次数。
相应地,图层生成模块902具体用于执行:
响应对循环图层的第一编辑操作,确定目标动画的循环播放的起始帧和结束帧;
响应对循环图层的第二编辑操作,获取循环播放的播放次数;
根据起始帧、结束帧以及播放次数,生成目标循环图层。
可选地,图层生成模块902具体用于执行:
响应对循环图层的第一编辑操作,确定目标动画的时间进度条所在的第一位置和第二位置;
将目标动画的时间进度条所在的第一位置对应的动画帧确定为循环播放的起始帧,以及将时间进度条所在的第二位置对应的动画帧确定为循环播放的结束帧。
可选地,图层生成模块902具体用于执行:
响应对循环图层的第一编辑操作,将目标动画的时间进度条所在的当前位置作为第一位置;
响应于对时间进度条的拖动操作,将时间进度条从当前位置移动到的位置作为第二位置。
可选地,循环图层包括动画编辑器的空对象图层。
相应地,图层生成模块902具体用于执行:
显示图层选择界面,图层选择界面包括空对象图层控件;
响应于对空对象图层控件的确认操作,显示目标动画的空对象图层。
可选地,图层生成模块902具体用于执行:
获取动画编辑器的启动指令;
根据启动指令从动画编辑器的插件文件中,加载图层插件,并启动动画编辑器,以在动画编辑器的界面中显示图层插件对应的图层控件;
响应于对图层控件的触发操作,显示目标动画的循环图层。
可选地,该动画处理装置还包括:
存储模块,用于执行:
获取循环图层对应的代码文件;
根据循环图层对应的代码文件,生成循环图层对应的图层插件;
将图层插件存储于动画编辑器的插件文件中。
可选地,目标动画包括多个分段动画,每个分段动画分别对应有循环播放信息,每个分段动画对应的循环播放信息存储于同一循环图层中。
相应地,图层生成模块902具体用于执行:
响应于对循环图层的编辑操作,根据每个分段动画对应的循环播放信息,生成包含循环播放信息的目标循环图层。
可选地,目标动画包括多个分段动画,每个分段动画分别对应有存储于不同循环图层的循环播放信息。
相应地,图层生成模块902具体用于执行:
将多个循环图层中第一循环图层作为候选循环图层;
显示候选循环图层;
响应于对候选循环图层的编辑操作,得到包含与候选循环图层对应的分段动画对应的循环播放信息的目标循环图层;
将多个循环图层中的第二循环图层作为候选循环图层,返回执行显示候选循环图层的操作,直至目标动画中各个分段动画对应的目标循环图层均生成。
可选地,文件生成模块903具体用于执行:
对目标循环图层进行解析,得到循环播放信息;
确定循环播放信息中的起始标识在目标动画中对应的起始动画帧;
若起始动画帧为差分帧,则将起始动画帧修改为关键帧,得到修改后目标动画;
根据修改后目标动画和循环播放信息,生成目标动画对应的动画文件。
可选地,文件生成模块903具体用于执行:
若起始动画帧为差分帧,则将起始动画帧修改为关键帧;
确定目标动画中与起始动画帧最近的关键帧和起始动画帧之间的目标帧数;
若目标帧数小于预设阈值,则将与所述起始动画帧最近的关键帧修改为差分帧,得到修改后目标动画。
可选地,文件生成模块903具体用于执行:
对目标循环图层进行解析,得到循环播放信息;
根据循环播放信息,确定目标动画的关键帧信息;
根据目标动画,循环播放信息以及关键帧信息,生成目标动画对应的动画文件。
可选地,该动画处理装置还包括:
解析控制模块,用于执行:
获取库文件,库文件包括动画解析渲染功能和循环播放信息解析控制功能;
将库文件集成于目标应用程序中;
当将动画文件导入所述目标应用程序时,通过目标应用程序基于库文件,对动画文件进行解析,得到目标动画和循环播放信息;
基于库文件渲染目标动画,并基于循环播放信息播放目标动画。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施方式以及对应的有益效果可参见前面的方法实施例,在此不再赘述。
本申请实施例还提供一种电子设备,该电子设备可以是服务器或终端等,如图10所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器1001、一个或一个以上计算机可读存储介质的存储器1002、电源1003和输入单元1004等部件。本领域技术人员可以理解,图10中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器1001是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1002内的计算机程序和/或模块,以及调用存储在存储器1002内的数据,执行电子设备的各种功能和处理数据。可选的,处理器1001可包括一个或多个处理核心;优选的,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。
存储器1002可用于存储计算机程序以及模块,处理器1001通过运行存储在存储器1002的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1002还可以包括存储器控制器,以提供处理器1001对存储器1002的访问。
电子设备还包括给各个部件供电的电源1003,优选的,电源1003可以通过电源管理系统与处理器1001逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1003还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元1004,该输入单元1004可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器1001会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器1002中,并由处理器1001来运行存储在存储器1002中的计算机程序,从而实现各种功能,比如:
获取目标动画的循环图层,以及获取目标动画对应的循环播放信息;
基于循环图层和循环播放信息生成目标循环图层;
根据目标动画和目标循环图层,生成包含循环播放信息的动画文件。
以上各个操作的具体实施方式以及对应的有益效果可参见上文对动画处理方法的详细描述,在此不作赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种动画处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
获取目标动画的循环图层,以及获取目标动画对应的循环播放信息;
基于循环图层和循环播放信息生成目标循环图层;
根据目标动画和目标循环图层,生成包含循环播放信息的动画文件。
以上各个操作的具体实施方式以及对应的有益效果可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种动画处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种动画处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述动画处理方法。
以上对本申请实施例所提供的一种动画处理方法、装置、电子设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (17)
1.一种动画处理方法,其特征在于,包括:
获取目标动画的循环图层,以及获取所述目标动画对应的循环播放信息;
基于所述循环图层和所述循环播放信息生成目标循环图层;
根据所述目标动画和所述目标循环图层,生成包含所述循环播放信息的动画文件。
2.根据权利要求1所述的动画处理方法,其特征在于,所述基于所述循环图层和所述循环播放信息生成目标循环图层,包括:
显示所述目标动画的循环图层;
响应于对所述循环图层的编辑操作,生成包含所述循环播放信息的目标循环图层。
3.根据权利要求2所述的动画处理方法,其特征在于,所述编辑操作包括第一编辑操作和第二编辑操作,所述循环播放信息包括循环播放的起始帧、结束帧以及播放次数;
所述响应于对所述循环图层的编辑操作,生成包含所述循环播放信息的目标循环图层,包括:
响应对所述循环图层的第一编辑操作,确定所述目标动画的循环播放的起始帧和结束帧;
响应对所述循环图层的第二编辑操作,获取所述循环播放的播放次数;
根据所述起始帧、所述结束帧以及所述播放次数,生成目标循环图层。
4.根据权利要求3所述的动画处理方法,其特征在于,所述响应对所述循环图层的第一编辑操作,确定所述目标动画的循环播放的起始帧和结束帧,包括:
响应对所述循环图层的第一编辑操作,确定所述目标动画的时间进度条所在的第一位置和第二位置;
将所述目标动画的时间进度条所在的第一位置对应的动画帧确定为循环播放的起始帧,以及将所述时间进度条所在的第二位置对应的动画帧确定为所述循环播放的结束帧。
5.根据权利要求4所述的动画处理方法,其特征在于,所述响应对所述循环图层的第一编辑操作,确定所述目标动画的时间进度条所在的第一位置和第二位置,包括:
响应对所述循环图层的第一编辑操作,将所述目标动画的时间进度条所在的当前位置作为第一位置;
响应于对所述时间进度条的拖动操作,将所述时间进度条从所述当前位置移动到的位置作为第二位置。
6.根据权利要求2所述的动画处理方法,其特征在于,所述循环图层包括动画编辑器的空对象图层,所述显示所述目标动画的循环图层,包括:
显示图层选择界面,所述图层选择界面包括空对象图层控件;
响应于对所述空对象图层控件的确认操作,显示所述目标动画的空对象图层。
7.根据权利要求2所述的动画处理方法,其特征在于,所述显示所述目标动画的循环图层,包括:
获取动画编辑器的启动指令;
根据所述启动指令从所述动画编辑器的插件文件中,加载图层插件,并启动所述动画编辑器,以在所述动画编辑器的界面中显示所述图层插件对应的图层控件;
响应于对所述图层控件的触发操作,显示所述目标动画的循环图层。
8.根据权利要求7所述的动画处理方法,其特征在于,在所述获取所述动画编辑器的启动指令之前,所述方法还包括:
获取所述循环图层对应的代码文件;
根据所述循环图层对应的代码文件,生成所述循环图层对应的图层插件;
将所述图层插件存储于所述动画编辑器的插件文件中。
9.根据权利要求2所述的动画处理方法,其特征在于,所述目标动画包括多个分段动画,每个分段动画分别对应有循环播放信息,每个分段动画对应的循环播放信息存储于同一循环图层中;
所述响应于对所述循环图层的编辑操作,生成包含所述循环播放信息的目标循环图层,包括:
响应于对所述循环图层的编辑操作,根据每个分段动画对应的循环播放信息,生成包含所述循环播放信息的目标循环图层。
10.根据权利要求2所述的动画处理方法,其特征在于,所述目标动画包括多个分段动画,每个分段动画分别对应有存储于不同循环图层的循环播放信息;
所述显示所述目标动画的循环图层,响应于对所述循环图层的编辑操作,生成包含所述循环播放信息的目标循环图层,包括:
将多个循环图层中第一循环图层作为候选循环图层;
显示所述候选循环图层;
响应于对所述候选循环图层的编辑操作,得到包含与所述候选循环图层对应的分段动画对应的循环播放信息的目标循环图层;
将所述多个循环图层中的第二循环图层作为候选循环图层,返回执行显示所述候选循环图层的操作,直至所述目标动画中各个分段动画对应的目标循环图层均生成。
11.根据权利要求1所述的动画处理方法,其特征在于,根据所述目标动画和所述目标循环图层,生成包含所述循环播放信息的动画文件,包括:
对所述目标循环图层进行解析,得到所述循环播放信息;
确定所述循环播放信息中的起始标识在所述目标动画中对应的起始动画帧;
若所述起始动画帧为差分帧,则将所述起始动画帧修改为关键帧,得到修改后目标动画;
根据所述修改后目标动画和所述循环播放信息,生成所述目标动画对应的动画文件。
12.根据权利要求11所述的动画处理方法,其特征在于,所述若所述起始动画帧为差分帧,则将所述起始动画帧修改为关键帧,得到修改后目标动画,包括:
若所述起始动画帧为差分帧,则将所述起始动画帧修改为关键帧;
确定所述目标动画中与所述起始动画帧最近的关键帧和所述起始动画帧之间的目标帧数;
若所述目标帧数小于预设阈值,则将所述与所述起始动画帧最近的关键帧修改为差分帧,得到所述修改后目标动画。
13.根据权利要求1所述的动画处理方法,其特征在于,所述根据所述目标动画和所述目标循环图层,生成包含所述循环播放信息的动画文件,包括:
对所述目标循环图层进行解析,得到所述循环播放信息;
根据所述循环播放信息,确定所述目标动画的关键帧信息;
根据所述目标动画,所述循环播放信息以及所述关键帧信息,生成所述目标动画对应的动画文件。
14.根据权利要求1-13任一项所述的动画处理方法,其特征在于,在所述根据所述目标动画和所述目标循环图层,生成包含所述循环播放信息的动画文件之后,所述方法还包括:
获取库文件,所述库文件包括动画解析渲染功能和循环播放信息解析控制功能;
将所述库文件集成于目标应用程序中;
当将所述动画文件导入所述目标应用程序时,通过所述目标应用程序基于所述库文件,对所述动画文件进行解析,得到所述目标动画和所述循环播放信息;
基于所述库文件渲染所述目标动画,并基于所述循环播放信息播放所述目标动画。
15.一种动画处理装置,其特征在于,包括:
获取模块,用于获取目标动画的循环图层,以及获取所述目标动画对应的循环播放信息;
图层生成模块,用于基于所述循环图层和所述循环播放信息生成目标循环图层;
文件生成模块,用于根据所述目标动画和所述目标循环图层,生成包含所述循环播放信息的动画文件。
16.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至14任一项所述的动画处理方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行权利要求1至14任一项所述的动画处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210896176.4A CN117152307A (zh) | 2022-07-28 | 2022-07-28 | 动画处理方法、装置、电子设备和计算机可读存储介质 |
PCT/CN2023/092112 WO2024021737A1 (zh) | 2022-07-28 | 2023-05-04 | 动画处理方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210896176.4A CN117152307A (zh) | 2022-07-28 | 2022-07-28 | 动画处理方法、装置、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117152307A true CN117152307A (zh) | 2023-12-01 |
Family
ID=88904853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210896176.4A Pending CN117152307A (zh) | 2022-07-28 | 2022-07-28 | 动画处理方法、装置、电子设备和计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117152307A (zh) |
WO (1) | WO2024021737A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007072113A1 (en) * | 2005-12-21 | 2007-06-28 | Interagens S.R.L. | Method for controlling animations in real time |
CN112073794B (zh) * | 2019-06-11 | 2022-12-23 | 腾讯科技(深圳)有限公司 | 动画处理方法、装置、计算机可读存储介质和计算机设备 |
CN112802168A (zh) * | 2021-01-26 | 2021-05-14 | 广州欢网科技有限责任公司 | 动画生成方法、装置及电视终端 |
CN113313793B (zh) * | 2021-06-17 | 2023-11-24 | 豆盟(北京)科技股份有限公司 | 动画播放方法、装置、电子设备和存储介质 |
CN114463474A (zh) * | 2021-12-21 | 2022-05-10 | 北京达佳互联信息技术有限公司 | 页面显示方法、装置、电子设备、存储介质及产品 |
-
2022
- 2022-07-28 CN CN202210896176.4A patent/CN117152307A/zh active Pending
-
2023
- 2023-05-04 WO PCT/CN2023/092112 patent/WO2024021737A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024021737A1 (zh) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2420806C2 (ru) | Плавные переходы между анимациями | |
KR101143095B1 (ko) | 컴퓨터 디스플레이 출력시의 애니메이션 및 매체 조정 | |
EP3005301B1 (en) | Animation editing | |
KR20080021698A (ko) | 대화형 멀티미디어 환경에서의 상태 변경에 대한 선언적응답 | |
CN109672902A (zh) | 一种视频抽帧方法、装置、电子设备和存储介质 | |
US20180143741A1 (en) | Intelligent graphical feature generation for user content | |
CN110727825A (zh) | 动画播放的控制方法、装置、服务器和存储介质 | |
EP4171006A1 (en) | Previewing method and apparatus for effect application, and device and storage medium | |
US20200142572A1 (en) | Generating interactive, digital data narrative animations by dynamically analyzing underlying linked datasets | |
CN117152307A (zh) | 动画处理方法、装置、电子设备和计算机可读存储介质 | |
CN114780081A (zh) | 动画展示方法、电子设备以及存储介质 | |
CN111443913B (zh) | 交互动画配置方法及装置、存储介质及电子设备 | |
WO2018063837A1 (en) | Video generation of project revision history | |
CN111143302B (zh) | 一种追踪Office文档内容变更的方法及装置 | |
CN117750112A (zh) | 一种视频处理方法、装置、设备及存储介质 | |
CN114827701A (zh) | 多媒体信息互动方法、装置、电子设备以及存储介质 | |
WO2023125083A1 (zh) | 资源文件加载方法、装置、电子设备及存储介质 | |
CN113138698B (zh) | 游戏资源处理方法、装置、存储介质及电子设备 | |
CN118279446A (zh) | 动画展示方法、装置、终端和计算机可读存储介质 | |
CN115065864B (zh) | 游戏视频制作方法、分享方法、装置、介质和电子设备 | |
CN117950660A (zh) | 动画数据的处理方法、装置、计算机可读介质及电子设备 | |
US20240029381A1 (en) | Editing mixed-reality recordings | |
US20240029351A1 (en) | Scene tracks for representing media assets | |
CN111111197B (zh) | 一种基于DirectX平台的游戏引擎数据处理系统及方法 | |
CN113825017A (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 |