掌桥专利:专业的专利平台
掌桥专利
首页

动画绘制方法以及相关设备

文献发布时间:2024-04-18 19:58:26


动画绘制方法以及相关设备

技术领域

本申请涉及绘图动画技术领域,具体涉及一种动画绘制方法以及相关设备。

背景技术

在应用开发设计中,为了给用户呈现更好的视觉效果,通常UI(User Interface,用户界面)设计师会设计一些酷炫的动画视觉效果。这些动画视觉效果一般是使用插值器控制的。具体地,绘制每一个动画帧时,可以获取该动画帧在插值曲线中对应的插值系数,基于该插值系数计算该动画帧对应的视图属性,如缩放比例、平移距离、透明度等,从而进行当前帧的绘制。

在目前的相关技术中,某个动画帧绘制超时时,仍使用原先的理想插值曲线来绘制下一个动画帧,这样容易导致相邻两帧变化剧烈,对人眼表现为视觉跳变、动画不连贯等,影响用户体验。

发明内容

本申请实施例提供一种动画绘制方法以及相关设备,相关设备可以包括动画绘制装置、电子设备、计算机可读存储介质和计算机程序产品,可以减少视觉跳变,优化用户体验。

本申请实施例提供一种动画绘制方法,包括:

获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率;

根据所述原始插值数据,对各个动画帧进行绘制处理;

当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据;

针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。

相应的,本申请实施例提供一种动画绘制装置,包括:

获取单元,用于获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率;

第一绘制单元,用于根据所述原始插值数据,对各个动画帧进行绘制处理;

更新单元,用于当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据;

第二绘制单元,用于针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。

可选的,在本申请的一些实施例中,所述更新单元可以包括确定子单元和第一更新子单元,如下:

所述确定子单元,用于当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧的上一个动画帧的原始插值系数,确定所述目标动画帧对应的实际插值系数;

第一更新子单元,用于基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据。

可选的,在本申请的一些实施例中,所述更新单元可以包括获取子单元和第二更新子单元,如下:

所述获取子单元,用于当检测到所述动画帧集合中的目标动画帧绘制超时时,从所述原始插值数据中获取目标相邻动画帧的原始插值系数,所述目标相邻动画帧为未绘制、且与所述目标动画帧相邻的动画帧;

第二更新子单元,用于基于所述目标动画帧对应的实际插值系数,对所述目标相邻动画帧的原始插值系数进行更新,得到目标插值数据,所述目标插值数据包括所述目标相邻动画帧对应的更新后目标插值系数。

可选的,在本申请的一些实施例中,所述原始插值数据包括各个动画帧对应的时间戳和原始插值系数之间的映射关系;

所述获取子单元具体可以用于根据所述目标动画帧对应的时间戳,确定所述目标相邻动画帧对应的时间戳;基于所述目标相邻动画帧对应的时间戳,从所述原始插值数据中查找获得所述目标相邻动画帧的原始插值系数。

可选的,在本申请的一些实施例中,所述第二更新子单元具体可以用于从所述动画帧集合中确定所述目标相邻动画帧对应的参考动画帧;基于所述目标动画帧对应的实际插值系数、以及所述参考动画帧对应的原始插值系数,对所述目标相邻动画帧的原始插值系数进行更新,得到目标插值数据,以使所述目标插值数据中相邻两帧动画帧的插值系数之差不大于预设值。

可选的,在本申请的一些实施例中,所述第二绘制单元可以包括计算子单元和绘制子单元,如下:

所述计算子单元,用于针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,计算所述动画帧对应的视图属性信息;

绘制子单元,用于根据所述视图属性信息,对所述动画帧进行绘制处理。

本申请实施例提供的一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令,以执行本申请实施例提供的动画绘制方法中的步骤。

本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本申请实施例提供的动画绘制方法中的步骤。

此外,本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现本申请实施例提供的动画绘制方法中的步骤。

本申请实施例提供了一种动画绘制方法以及相关设备,可以获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率;根据所述原始插值数据,对各个动画帧进行绘制处理;当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据;针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。本申请可以在动画帧绘制超时时,根据实际插值系数对原始插值数据进行优化,从而再进行动画绘制,这样有利于减少视觉跳变,优化用户体验。

附图说明

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

图1a是本申请实施例提供的动画绘制方法的场景示意图;

图1b是本申请实施例提供的动画绘制方法的流程图;

图1c是本申请实施例提供的动画绘制方法的说明图;

图1d是本申请实施例提供的动画绘制方法的另一说明图;

图1e是本申请实施例提供的动画绘制方法的另一流程图;

图2是本申请实施例提供的动画绘制方法的另一流程图;

图3是本申请实施例提供的动画绘制装置的结构示意图;

图4是本申请实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供一种动画绘制方法以及相关设备,相关设备可以包括动画绘制装置、电子设备、计算机可读存储介质和计算机程序产品。该动画绘制装置具体可以集成在电子设备中,该电子设备可以是终端或服务器等设备。

如图1a所示,以终端和服务器共同执行动画绘制方法为例。本申请实施例提供的动画绘制系统包括终端10和服务器11等;终端10与服务器11之间通过网络连接,比如,通过有线或无线网络连接等,其中,动画绘制装置可以集成在终端中。

其中,终端10,可以用于:获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率;根据所述原始插值数据,对各个动画帧进行绘制处理;当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据;针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。其中,终端10可以包括手机、平板电脑、电子手表、电子手环等。其中,终端10上还可以设置客户端,该客户端可以是应用程序客户端等等。

其中,服务器11,可以用于:向终端10发送动画帧集合对应的原始插值数据,以触发终端10基于该动画帧集合对应的原始插值数据进行动画绘制。其中,服务器11可以是单台服务器,也可以是由多个服务器组成的服务器集群或云服务器。

以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。

本实施例将从动画绘制装置的角度进行描述,该动画绘制装置具体可以集成在电子设备中,该电子设备可以是服务器或终端等设备。

如图1b所示,该动画绘制方法的具体流程可以如下:

101、获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率。

其中,该动画帧集合可以是给定的动画效果的多个动画帧的集合,具体还可以是针对某个绘制对象的动画帧集合。具体地,动画帧集合可以是视频的格式,也可以是动图的形式等,这样能够便于向动画开发人员呈现给定的动画效果。

具体地,移动终端设备的使用中存在大量使用动效的场景,在动画绘制的相关场景中,通常使用插值器控制动画属性,也即采用插值的方法来计算各个动画帧的属性信息;其具体原理是:绘制每一帧时,首先根据当前绘制帧对应的时间戳从插值曲线中确定当前绘制帧的插值系数,并基于该插值系数计算对应的视图属性信息,如缩放比例、平移距离、透明度等;从而根据计算得到的视图属性信息进行动画帧的绘制。

在目前的相关技术中,插值曲线是在动画绘制执行前指定的,且不再改变,并不具备实时变化的能力。若当前帧绘制超时,如果仍然使用理想插值曲线的计算值去绘制下一帧,则可能导致相邻两帧的变化剧烈,对人眼表现为距离跳变、动画不连贯等。具体来说,假设理想插值曲线为F(n),实际运动插值为f(n),若当前帧(记为第N帧)绘制超时,导致第N帧的视图呈现与第N-1帧一致,则第N帧的实际运动插值点f(N)=f(N-1);这样如果当前帧和下一帧(第N+1帧)的帧间插值系数变化值ΔFn=F(N+1)-f(n)=F(N+1)-f(n-1)超出视觉跳动阈值a,则会导致视觉跳变。

本申请提供的动画绘制方法可以根据绘制超时情况实时对插值曲线进行优化,可以一定程度上解决动画绘制卡顿导致的视觉跳变问题,更好地实现绘制对象的平滑过渡的效果,优化用户体验。

可选地,本实施例中,原始插值数据具体可以以原始插值曲线的形式呈现,动画帧对应的原始插值数据可以用于控制动画属性,具体可以控制动画变化的速率。原始插值系数表征对应动画帧的属性变化速率。

具体地,绘制每一个动画帧,可以根据其对应的原始插值系数来计算对应的视图属性信息,从而基于视图属性信息进行动画帧的绘制,其中,视图属性信息用于表征动画帧的动画效果,它可以指构成绘制对象的动画特征,例如,视图属性信息可以包括缩放比例、平移距离、透明度等。

其中,原始插值曲线可以是动画帧对应的时间戳和动画帧的原始插值系数之间的关系曲线,原始插值曲线可以视为动画帧集合对应的理论(理想)插值曲线,如图1c中的函数F(n),表示的是原始插值曲线。

102、根据所述原始插值数据,对各个动画帧进行绘制处理。

可选地,本实施例中,步骤“根据所述原始插值数据,对各个动画帧进行绘制处理”,可以包括:

针对每个动画帧,基于原始插值数据中所述动画帧对应的原始插值系数,计算所述动画帧对应的视图属性信息;

根据所述视图属性信息,对所述动画帧进行绘制处理。

103、当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据。

其中,目标动画帧具体可以是动画帧集合中绘制超时的动画帧。

可选地,本实施例中,步骤“当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据”,可以包括:

当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧的上一个动画帧的原始插值系数,确定所述目标动画帧对应的实际插值系数;

基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据。

其中,由于目标动画帧绘制超时,导致该目标动画帧的视图呈现与上一个动画帧的视图一致,因此,可以将上一个动画帧的插值系数作为该目标动画帧对应的实际插值系数。具体地,可以将目标动画帧的上一个动画帧的原始插值系数,确定为目标动画帧对应的实际插值系数。

在一具体场景中,若动画帧集合中包含m个动画帧,若第N(N≤m)个动画帧绘制超时,则可以将第N个动画帧视为目标动画帧,并将第N-1个动画帧对应的原始插值系数确定为目标动画帧的实际插值系数。

具体地,假设动画帧集合的原始插值曲线为F(n),实际运动插值为f(n),绘制未超时时,动画帧的实际运动插值为理想插值曲线上的采样点。在当前第N帧绘制超时时,第N帧的视图呈现与第N-1帧一致,因此当前第N帧的实际运动插值点f(N)=f(N-1),也就是说,目标动画帧的实际插值系数可以表示为f(N-1)。

可选地,本实施例中,步骤“当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据”,可以包括:

当检测到所述动画帧集合中的目标动画帧绘制超时时,从所述原始插值数据中获取目标相邻动画帧的原始插值系数,所述目标相邻动画帧为未绘制、且与所述目标动画帧相邻的动画帧;

基于所述目标动画帧对应的实际插值系数,对所述目标相邻动画帧的原始插值系数进行更新,得到目标插值数据,所述目标插值数据包括所述目标相邻动画帧对应的更新后目标插值系数。

其中,一些实施例中,目标相邻动画帧可以是目标动画帧的下一个动画帧,具体来说,若目标动画帧为动画帧集合中第N个动画帧,则目标相邻动画帧可以是第N+1个动画帧。另一些实施例中,目标相邻动画帧可以是目标动画帧接下来的k个动画帧,具体来说,若目标动画帧为动画帧集合中第N个动画帧,则目标相邻动画帧可以是第N+1、第N+2、以及第N+k个动画帧,其中,k为正整数。

可选地,本实施例中,所述原始插值数据包括各个动画帧对应的时间戳和原始插值系数之间的映射关系;步骤“从所述原始插值数据中获取目标相邻动画帧的原始插值系数”,可以包括:

根据所述目标动画帧对应的时间戳,确定所述目标相邻动画帧对应的时间戳;

基于所述目标相邻动画帧对应的时间戳,从所述原始插值数据中查找获得所述目标相邻动画帧的原始插值系数。

具体地,本实施例中,可以根据目标相邻动画帧对应的时间戳,确定其时间比例,从而在原始插值曲线中获取该时间比例对应的原始插值系数。

其中,原始插值数据可以视为各个动画帧对应的映射关系集合,该映射关系集合包括各个动画帧对应的时间戳和原始插值系数之间的映射关系,具体地,该映射关系集合也可以是各个动画帧对应的时间戳和原始插值系数之间的关系表。

例如,目标动画帧为第N帧,目标相邻动画帧为第N+1帧,假设目标动画帧的理论时间戳为T

一些实施例中,若目标相邻动画帧的原始插值系数F(N+1)与目标动画帧的实际插值系数f(N-1)之间的插值小于视觉跳动阈值,也可以不对插值曲线进行优化,仍然使用原始插值曲线进行动画的绘制。

可选地,本实施例中,步骤“基于所述目标动画帧对应的实际插值系数,对所述目标相邻动画帧的原始插值系数进行更新,得到目标插值数据”,可以包括:

从所述动画帧集合中确定所述目标相邻动画帧对应的参考动画帧;

基于所述目标动画帧对应的实际插值系数、以及所述参考动画帧对应的原始插值系数,对所述目标相邻动画帧的原始插值系数进行更新,得到目标插值数据,以使所述目标插值数据中相邻两帧动画帧的插值系数之差不大于预设值。

其中,该预设值可以是视觉跳动阈值,它可以根据实际情况进行设置,本实施例对此不作限制。

在一具体实施例中,若目标动画帧为第N个动画帧,目标相邻动画帧为第N+1个动画帧,则参考动画帧可以是目标相邻动画帧的下一个动画帧,即第N+2个动画帧。在目标动画帧绘制超时时,若不对目标相邻动画帧(具体可以是目标动画帧的下一帧)的原始插值系数进行更新,如果当前帧(目标动画帧)和下一帧的帧间插值系数变化值ΔFn=F(N+1)-f(n)=F(N+1)-f(n-1)超出视觉跳动阈值a,则会导致视觉跳变。其中,F(N+1)为第N+1帧的原始插值系数。

本实施例中,在当前帧(第N帧)绘制超时时,可以根据优化算法重新计算第N+1帧(或后续一组序列帧)的插值系数F’(N+1)(也即上述实施例中所述的目标相邻动画帧对应的更新后目标插值系数),优化算法的限制为:保证ΔF

104、针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。

可选地,本实施例中,步骤“针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理”,可以包括:

针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,计算所述动画帧对应的视图属性信息;

根据所述视图属性信息,对所述动画帧进行绘制处理。

其中,视图属性信息可以包括动画帧的缩放比例、平移距离、透明度。

在一具体实施例中,如图1c所示,其中,动画帧集合的原始插值曲线为F(n),实际运动插值为f(n),假设动画帧集合中包含m个动画帧,若第N(N≤m)个动画帧绘制超时,则可以根据第N+2个动画帧对应的原始插值系数F(N+2)、以及第N个动画帧的实际插值系数f(n),对第N+1个动画帧的原始插值系数进行优化,使得ΔF

具体地,如图1d所示,可以以平移为例说明该方法效果,其中,动画绘制的原始理想状态中每个动画帧都按照相同时间间隔绘制,若第N帧动画帧绘制超时,假如不调整第N+1帧对应的插值系数,则会使得第N帧的视图属性信息和第N+1帧的视图属性信息之间的平移过大,导致视觉跳变,基于本申请提供的动画绘制方法,可以在第N帧绘制超时时,重新计算第N+1帧的插值系数,以缩小第N帧的视图属性信息和第N+1帧的视图属性信息之间的平移,消除视觉跳变。

在一具体实施例中,如图1e所示,为基于本申请提供的动画绘制方法的绘制流程,具体描述如下:

1)在动画执行前指定理想插值器,得到理想的原始插值曲线F(n),并基于原始插值曲线执行动画绘制;

2)当前帧(第N帧)绘制超时时,获取第N-1帧的实际插值系数f(N-1)及第N+2帧的理论插值系数F(N+2)(有可能需要不仅需要取一帧,而需要取后续几帧),根据优化算法计算第N+1帧新的插值系数F’(N+1),使得F’(N+1)-f(N)小于视觉跳动阈值a;

其中,具体地,由于当前帧N绘制超时,第N-1帧实际插值系数f(N-1)与第N帧的实际插值系数可以认为一致,即f(N-1)=f(N);优化算法的约束条件可以为:ΔF

其中,第N+2帧理论插值系数F(N+2)获取方法:假设当前帧的理论时间戳为T

3)在第N+1帧绘制时,使用重新计算得到的插值系数F’(N+1)进行动画帧视图属性信息的计算,然后绘制动画。

本申请提供的动画绘制方法可以根据实时的动画插值系数,优化计算后续帧的插值系数,针对绘制超时情况进行优化。

可选地,一些实施例中,也可以不对插值器进行优化,而是利用相同的方法思路,直接对动画属性值进行优化,从而消除视觉跳动。

由上可知,本实施例可以获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率;根据所述原始插值数据,对各个动画帧进行绘制处理;当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据;针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。本申请可以在动画帧绘制超时时,根据实际插值系数对原始插值数据进行优化,从而再进行动画绘制,这样有利于减少视觉跳变,优化用户体验。

根据前面实施例所描述的方法,以下将以该动画绘制装置具体集成在终端举例作进一步详细说明。

本申请实施例提供一种动画绘制方法,如图2所示,该动画绘制方法的具体流程可以如下:

201、终端获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率。

其中,该动画帧集合可以是给定的动画效果的多个动画帧的集合,具体还可以是针对某个绘制对象的动画帧集合。具体地,动画帧集合可以是视频的格式,也可以是动图的形式等,这样能够便于向动画开发人员呈现给定的动画效果。

可选地,本实施例中,原始插值数据具体可以以原始插值曲线的形式呈现,动画帧对应的原始插值数据可以用于控制动画属性,具体可以控制动画变化的速率。原始插值系数表征对应动画帧的属性变化速率。

具体地,绘制每一个动画帧,可以根据其对应的原始插值系数来计算对应的视图属性信息,从而基于视图属性信息进行动画帧的绘制,其中,视图属性信息用于表征动画帧的动画效果,它可以指构成绘制对象的动画特征,例如,视图属性信息可以包括缩放比例、平移距离、透明度等。

其中,原始插值曲线可以是动画帧对应的时间戳和动画帧的原始插值系数之间的关系曲线,原始插值曲线可以视为动画帧集合对应的理论(理想)插值曲线,如图1c中的函数F(n),表示的是原始插值曲线。

202、终端根据所述原始插值数据,对各个动画帧进行绘制处理。

可选地,本实施例中,步骤“根据所述原始插值数据,对各个动画帧进行绘制处理”,可以包括:

针对每个动画帧,基于原始插值数据中所述动画帧对应的原始插值系数,计算所述动画帧对应的视图属性信息;

根据所述视图属性信息,对所述动画帧进行绘制处理。

203、当终端检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据。

其中,目标动画帧具体可以是动画帧集合中绘制超时的动画帧。

可选地,本实施例中,步骤“当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据”,可以包括:

当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧的上一个动画帧的原始插值系数,确定所述目标动画帧对应的实际插值系数;

基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据。

其中,由于目标动画帧绘制超时,导致该目标动画帧的视图呈现与上一个动画帧的视图一致,因此,可以将上一个动画帧的插值系数作为该目标动画帧对应的实际插值系数。具体地,可以将目标动画帧的上一个动画帧的原始插值系数,确定为目标动画帧对应的实际插值系数。

可选地,本实施例中,步骤“当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据”,可以包括:

当检测到所述动画帧集合中的目标动画帧绘制超时时,从所述原始插值数据中获取目标相邻动画帧的原始插值系数,所述目标相邻动画帧为未绘制、且与所述目标动画帧相邻的动画帧;

基于所述目标动画帧对应的实际插值系数,对所述目标相邻动画帧的原始插值系数进行更新,得到目标插值数据,所述目标插值数据包括所述目标相邻动画帧对应的更新后目标插值系数。

其中,一些实施例中,目标相邻动画帧可以是目标动画帧的下一个动画帧,具体来说,若目标动画帧为动画帧集合中第N个动画帧,则目标相邻动画帧可以是第N+1个动画帧。另一些实施例中,目标相邻动画帧可以是目标动画帧接下来的k个动画帧,具体来说,若目标动画帧为动画帧集合中第N个动画帧,则目标相邻动画帧可以是第N+1、第N+2、以及第N+k个动画帧,其中,k为正整数。

一些实施例中,若目标相邻动画帧的原始插值系数F(N+1)与目标动画帧的实际插值系数f(N-1)之间的插值小于视觉跳动阈值,也可以不对插值曲线进行优化,仍然使用原始插值曲线进行动画的绘制。

可选地,本实施例中,步骤“基于所述目标动画帧对应的实际插值系数,对所述目标相邻动画帧的原始插值系数进行更新,得到目标插值数据”,可以包括:

从所述动画帧集合中确定所述目标相邻动画帧对应的参考动画帧;

基于所述目标动画帧对应的实际插值系数、以及所述参考动画帧对应的原始插值系数,对所述目标相邻动画帧的原始插值系数进行更新,得到目标插值数据,以使所述目标插值数据中相邻两帧动画帧的插值系数之差不大于预设值。

其中,该预设值可以是视觉跳动阈值,它可以根据实际情况进行设置,本实施例对此不作限制。

204、终端针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。

可选地,本实施例中,步骤“针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理”,可以包括:

针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,计算所述动画帧对应的视图属性信息;

根据所述视图属性信息,对所述动画帧进行绘制处理。

其中,视图属性信息可以包括动画帧的缩放比例、平移距离、透明度。

由上可知,本实施例可以通过终端获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率;根据所述原始插值数据,对各个动画帧进行绘制处理;当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据;针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。本申请可以在动画帧绘制超时时,根据实际插值系数对原始插值数据进行优化,从而再进行动画绘制,这样有利于减少视觉跳变,优化用户体验。

为了更好地实施以上方法,本申请实施例还提供一种动画绘制装置,如图3所示,该动画绘制装置可以包括获取单元301、第一绘制单元302、更新单元303、以及第二绘制单元304,如下:

(1)获取单元301;

获取单元,用于获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率。

(2)第一绘制单元302;

第一绘制单元,用于根据所述原始插值数据,对各个动画帧进行绘制处理。

(3)更新单元303;

更新单元,用于当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据。

可选的,在本申请的一些实施例中,所述更新单元可以包括确定子单元和第一更新子单元,如下:

所述确定子单元,用于当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧的上一个动画帧的原始插值系数,确定所述目标动画帧对应的实际插值系数;

第一更新子单元,用于基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据。

可选的,在本申请的一些实施例中,所述更新单元可以包括获取子单元和第二更新子单元,如下:

所述获取子单元,用于当检测到所述动画帧集合中的目标动画帧绘制超时时,从所述原始插值数据中获取目标相邻动画帧的原始插值系数,所述目标相邻动画帧为未绘制、且与所述目标动画帧相邻的动画帧;

第二更新子单元,用于基于所述目标动画帧对应的实际插值系数,对所述目标相邻动画帧的原始插值系数进行更新,得到目标插值数据,所述目标插值数据包括所述目标相邻动画帧对应的更新后目标插值系数。

可选的,在本申请的一些实施例中,所述原始插值数据包括各个动画帧对应的时间戳和原始插值系数之间的映射关系;

所述获取子单元具体可以用于根据所述目标动画帧对应的时间戳,确定所述目标相邻动画帧对应的时间戳;基于所述目标相邻动画帧对应的时间戳,从所述原始插值数据中查找获得所述目标相邻动画帧的原始插值系数。

可选的,在本申请的一些实施例中,所述第二更新子单元具体可以用于从所述动画帧集合中确定所述目标相邻动画帧对应的参考动画帧;基于所述目标动画帧对应的实际插值系数、以及所述参考动画帧对应的原始插值系数,对所述目标相邻动画帧的原始插值系数进行更新,得到目标插值数据,以使所述目标插值数据中相邻两帧动画帧的插值系数之差不大于预设值。

(4)第二绘制单元304;

第二绘制单元,用于针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。

可选的,在本申请的一些实施例中,所述第二绘制单元可以包括计算子单元和绘制子单元,如下:

所述计算子单元,用于针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,计算所述动画帧对应的视图属性信息;

绘制子单元,用于根据所述视图属性信息,对所述动画帧进行绘制处理。

由上可知,本实施例可以通过获取单元301获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率;通过第一绘制单元302根据所述原始插值数据,对各个动画帧进行绘制处理;当检测到所述动画帧集合中的目标动画帧绘制超时时,通过更新单元303基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据;由第二绘制单元304针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。本申请可以在动画帧绘制超时时,根据实际插值系数对原始插值数据进行优化,从而再进行动画绘制,这样有利于减少视觉跳变,优化用户体验。

本申请实施例还提供一种电子设备,如图4所示,其示出了本申请实施例所涉及的电子设备的结构示意图,该电子设备可以是终端或者服务器等,具体来讲:

该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

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

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

电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,该电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:

获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率;根据所述原始插值数据,对各个动画帧进行绘制处理;当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据;针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

由上可知,本实施例可以获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率;根据所述原始插值数据,对各个动画帧进行绘制处理;当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据;针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。本申请可以在动画帧绘制超时时,根据实际插值系数对原始插值数据进行优化,从而再进行动画绘制,这样有利于减少视觉跳变,优化用户体验。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种动画绘制方法中的步骤。例如,该指令可以执行如下步骤:

获取动画帧集合对应的原始插值数据,所述动画帧集合包括至少一个动画帧,所述原始插值数据包括各个动画帧对应的原始插值系数,所述原始插值系数表征对应动画帧的属性变化速率;根据所述原始插值数据,对各个动画帧进行绘制处理;当检测到所述动画帧集合中的目标动画帧绘制超时时,基于所述目标动画帧对应的实际插值系数,对所述原始插值数据进行更新,得到目标插值数据;针对所述动画帧集合中每个未绘制的动画帧,基于所述目标插值数据中所述动画帧对应的目标插值系数,对所述动画帧进行绘制处理。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种动画绘制方法中的步骤,因此,可以实现本申请实施例所提供的任一种动画绘制方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述动画绘制方面的各种可选实现方式中提供的方法。

以上对本申请实施例所提供的一种动画绘制方法以及相关设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 在3D动画绘制中利用帧间时间相关的方法
  • 在3D动画绘制中利用帧间时间相关的方法
技术分类

06120116494982