动画文件的生成方法、装置及存储介质
技术领域
本公开涉及计算机技术领域,特别涉及一种动画文件的生成方法、装置及存储介质。
背景技术
随着计算机技术的发展,用户之间的通信不再局限于发送或接收静态图片,一系列可供播放的动态图片(也可称为动画)应运而生。
相关技术中,设计人员可以采用动画设计软件(如After Effects或Animate CC)预先制作好目标格式的动画文件,然后,再由开发人员将设计人员制作好的动画文件直接存储至终端中,以供使用终端的用户下载使用。
相关技术中的动画文件的生成方法的灵活性较差。
发明内容
本公开实施例提供了一种动画文件的生成方法、装置及存储介质,可以解决相关技术中动画文件的生成方法的灵活性较差的问题。所述技术方案如下:
一方面,提供了一种动画文件的生成方法,所述方法包括:
获取用于生成动画文件的目标参数和目标图片;
基于所述目标参数生成目标格式的动画数据,所述动画数据用于指示所述目标图片在多帧画面中的播放形式;
根据所述动画数据和所述目标图片,生成所述目标格式的动画文件,所述动画文件包括所述多帧画面。
可选的,所述目标参数包括播放时长和多个元素状态值,每个所述元素状态值用于指示所述目标图片在一帧画面的播放状态;所述基于所述目标参数生成目标格式的动画数据,包括:
按照目标格式的封装标准,将所述播放时长和所述多个元素状态值进行封装,生成所述目标格式的动画数据。
可选的,所述目标参数包括播放时长、帧率和播放效果;所述基于所述目标参数生成目标格式的动画数据,包括:
根据所述播放时长、所述帧率和所述播放效果,确定多个元素状态值,每个所述元素状态值用于指示所述目标图片在一帧画面的播放状态;
按照目标格式的封装标准,将所述播放时长和所述多个元素状态值进行封装,生成所述目标格式的动画数据。
可选的,所述根据所述播放时长、所述帧率和所述播放效果,确定多个元素状态值,包括:
将所述播放时长与所述帧率相乘,得到所述动画文件包括的画面的总帧数;
基于所述播放效果和所述总帧数,确定多个元素状态值。
可选的,所述目标参数包括播放时长、帧率、播放效果和播放轨迹;所述基于所述目标参数生成目标格式的动画数据,包括:
根据所述播放轨迹,确定所述目标图片的至少一个播放位置;
将所述播放时长与所述帧率相乘,得到所述动画文件包括的画面的总帧数;
基于所述播放效果、所述目标图片的至少一个播放位置和所述总帧数,确定多个元素状态值,每个所述元素状态值用于指示所述目标图片在一帧画面的播放状态;
按照目标格式的封装标准,将所述播放时长和所述多个元素状态值进行封装,生成所述目标格式的动画数据。
可选的,所述根据所述播放轨迹,确定所述目标图片的至少一个播放位置,包括:
确定所述播放轨迹包括的多个采样点;
将从所述多个采样点中选取的至少一个目标采样点的位置确定为所述目标图片的至少一个播放位置,其中每相邻的两个所述目标采样点之间的间距大于间距阈值。
可选的,所述播放轨迹根据用户在绘制界面上执行的触控操作确定,或,所述播放轨迹根据用户针对至少一个备选播放轨迹的选择操作确定,或,所述播放轨迹为对目标对象识别得到的所述目标对象的轮廓。
可选的,所述目标格式为可伸缩矢量图形SVGA格式;所述根据所述动画数据和所述目标图片,生成所述目标格式的动画文件,包括:
按照所述SVGA格式的文件标准,对所述动画数据进行编码;
将编码后的动画数据和所述目标图片进行压缩,得到所述SVGA格式的动画文件。
另一方面,提供了一种动画文件的生成装置,所述装置包括:
获取模块,用于获取用于生成动画文件的目标参数和目标图片;
基于所述目标参数生成目标格式的动画数据,所述动画数据用于指示所述目标图片在多帧画面中的播放形式;
根据所述动画数据和所述目标图片,生成所述目标格式的动画文件,所述动画文件包括所述多帧画面。
又一方面,提供了一种动画文件的生成装置,所述装置包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
执行如上述方面所述的动画文件的生成方法。
再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述计算机可读存储介质在计算机上运行时,使得计算机执行如上述方面所述的动画文件的生成方法。
本公开实施例提供的技术方案带来的有益效果至少可以包括:
综上所述,本公开实施例提供了一种动画文件的生成方法、装置及存储介质。其中,终端可以获取用于生成动画文件的目标参数和目标图片,可以基于该目标参数生成目标格式的动画数据,且可以根据该动画数据和目标图片生成动画文件。由于终端可以基于获取到的目标参数自动生成动画文件,因此相对于相关技术中终端仅能接收设计师预先设计好的动画文件,该动画文件生成方法的灵活性较高。相应的,生成的动画文件的内容和样式即会较为丰富。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开各个实施例所涉及的一种实施环境的结构示意图;
图2是本公开实施例提供的一种动画文件的生成方法流程图;
图3是本公开实施例提供的另一种动画文件的生成方法流程图;
图4是本公开实施例提供的一种生成动画数据的生成方法流程图;
图5是本公开实施例提供的另一种生成动画数据的生成方法流程图;
图6是本公开实施例提供的一种获取的播放轨迹的示意图;
图7是本公开实施例提供的一种动画文件的应用场景示意图;
图8是本公开实施例提供的一种动画文件的生成装置的框图;
图9是本公开实施例提供的一种动画数据生成模块的框图;
图10是本公开实施例提供的另一种动画数据生成模块的框图;
图11是本公开实施例提供的又一种动画数据生成模块的框图;
图12是本公开实施例提供的一种终端的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
图1是本公开实施例提供的一种动画文件的生成方法所涉及的实施环境示意图。如图1所示,该实施环境可以包括:终端110,该终端110可以为计算机、笔记本电脑或智能手机等,图1以该终端110为计算机为例进行说明。
例如,该终端110中可以安装有动画文件的生成装置,该动画文件的生成装置可以包括动画数据处理模块和编码导出文件模块。其中,动画数据的处理模块可以获取开发人员输入的用于生成动画文件的目标参数和目标图片(也可以称为动画素材),可以根据输入的目标参数的类型,采取对应的方式对目标参数进行处理以得到目标格式的动画数据,且可以将生成的动画数据和目标图片发送至编码导出文件模块。该编码导出文件模块可以将接收到的动画数据转换为目标格式的文件,并将该目标格式的文件与目标图片一并压缩打包从而生成目标格式的动画文件,以供支持目标格式的动画文件播放的播放器进行播放。
其中,该目标格式是指动画文件播放的格式。可选的,本公开实施例均以该目标格式为一种能够同时兼容不同系统平台的可伸缩矢量图形动画(Scalable Vector GraphicsAnimation,SVGA)格式为例进行说明。
图2是本公开实施例提供的一种动画文件的生成方法流程图,该方法可以应用于图1所示的终端110中。如图2所示,该方法可以包括:
步骤201、获取用于生成动画文件的目标参数和目标图片。
在本公开实施例中,在需要开发动画文件时,开发人员可以在终端中输入用于生成动画文件的目标参数和目标图片,相应的,终端即可以获取到该目标参数和目标图片。其中,该目标参数是指与待生成的动画文件相关的参数(如播放时长和播放效果),该目标图片可以包括一张或多张。
步骤202、基于目标参数生成目标格式的动画数据。
其中,动画文件一般包括多帧画面,该动画数据可以用于指示目标图片在多帧画面中的播放形式。在本公开实施例中,终端可以按照目标格式的封装标准将获取到的目标参数进行封装,以生成目标格式的动画数据。可选的,该目标格式可以为SVGA格式。
步骤203、根据动画数据和目标图片,生成目标格式的动画文件。
在本公开实施例中,终端在生成目标格式的动画数据后,可以继续按照目标格式的文件标准将动画数据和目标图片写入同一个文件中并压缩打包,从而生成目标格式的动画文件。
综上所述,本公开实施例提供了一种动画文件的生成方法。其中,终端可以获取用于生成动画文件的目标参数和目标图片,可以基于该目标参数生成目标格式的动画数据,且可以根据该动画数据和目标图片生成动画文件。由于终端可以基于获取到的目标参数和目标图片自动生成动画文件,因此相对于相关技术中终端仅能接收设计师预先设计好的动画文件,该动画文件的生成方法的灵活性较高。相应的,生成的动画文件的内容和样式即会较为丰富。
下述以目标格式为SVGA格式为例,介绍本公开实施例提供的动画文件的生成方法。图3是本公开实施例提供的另一种动画文件的生成方法流程图,可以应用于图1所示的终端110中。如图3所示,该方法可以包括:
步骤301、获取用于生成动画文件的目标参数和目标图片。
在本公开实施例中,在需要开发动画文件时,开发人员可以在终端中输入用于生成动画文件的目标参数和目标图片,相应的,终端即可以获取到该目标参数和目标图片。其中,该目标参数是指与待生成的动画文件相关的参数,该目标图片可以包括一张或多张。
由于动画文件是指目标图片可以动态播放的文件,因此该动画文件一般包括多帧画面,目标图片在各帧画面的播放状态拼接起来即为该动画文件。相应的,用于生成动画文件的目标参数可以包括多个元素状态值,每个元素状态值可以用于指示目标图片在一帧画面的播放状态(即该目标参数可以包括完整的动画数据)。例如,该元素状态值可以包括目标图片在一帧画面中所处的位置、透明程度、旋转角度和缩放程度中的至少一种。或者,该目标参数可以不包括多个元素状态值,而仅包括能够得到多个元素状态值的相关参数。例如,该目标参数可以包括播放时长、播放效果和帧率,或者,该目标参数可以包括播放时长、播放效果、帧率和播放轨迹。
其中,该播放时长是指动画文件的播放持续时长,播放效果是指动画文件的播放形式,例如,该播放效果可以为抖动(即目标图片在播放时长内不断抖动显示)、平移(即目标图片在播放时长内不断)、缩放(即目标图片在播放时长内不断缩放)、弹簧效果(即目标图片在播放时长内不断伸展压缩)或渐变(即目标图片在播放时长内透明程度或颜色发生变化)等。该帧率是指目标图像在播放时长内连续出现的频率。该播放轨迹是指目标图片在播放时长内的播放位置。可选的,该目标参数还可以包括目标图片的图片大小(size)。
可选的,对于每种参数,终端中均可以预先配置有多个可选项,相应的,终端获取到的目标参数可以为用户针对多个可选项的选择操作输入的参数。或者,终端获取到的目标参数可以为用户实时输入的参数。
例如,终端中可以预先配置多种备选播放效果,终端获取到的播放效果可以为终端根据开发人员针对该预先配置的多种备选播放效果的选择操作确定的。或者,该播放效果可以为终端根据开发人员输入的播放效果所确定的。
又例如,该播放轨迹可以根据用户在绘制界面上执行的触控操作确定,或,终端中可以预先配置有多种备选轨迹,该播放轨迹可以根据用户针对至少一个备选播放轨迹的选择操作确定,或,该播放轨迹可以为对目标对象识别得到的目标对象的轮廓,假设该目标对象为人物,相应的,该轮廓可以为对人脸进行识别得到的人脸轮廓。当然,本公开实施例不仅限于对人脸轮廓的识别。
步骤302、基于目标参数生成目标格式的动画数据。
在本公开实施例中,该动画数据可以用于指示目标图片在多帧画面中的播放形式,即可以用于指示目标图片在播放时长内的播放效果。
需要说明的是,由于基于不同的目标参数,生成动画数据的操作可能不同。例如,在目标参数包括多个元素状态值时,终端可以直接基于目标格式的封装标准将多个元素状态值以及其他参数进行封装以生成目标格式的动画数据。在目标参数不包括多个元素状态值,终端需要先基于目标参数确定多个元素状态值,然后再将多个元素状态值和其他参数进行封装以生成目标格式的动画数据。因此,终端在获取到目标参数后,可以根据目标参数选择对应的处理方式对目标参数进行处理,以生成目标格式的动画数据。
可选的,本公开实施例以以下几种方式介绍动画数据的生成方法:
一种可选的实现方式:该目标参数包括播放时长和多个元素状态值。即开发人员输入至终端的可以为整个动画区间的动画数据。相应的,终端可以直接按照目标格式的封装标准,将播放时长和多个元素状态值进行封装,从而生成目标格式的动画数据。需要说明的是,终端在封装之前,可以先根据多个元素状态值逐帧解析出各帧画面的播放状态。
通过直接获取多个元素状态值,一方面,由于终端无需再基于目标参数计算确定多个元素状态值,因此可以有效减少终端处理资源,节省终端功耗。另一方面,由于多个元素状态值可以由开发人员指定,因此可以使得生成的动画文件不仅仅局限于现有的播放效果,即生成动画文件的方法更加灵活,生成的动画文件的内容和样式更为丰富。
另一种可选的实现方式:该目标参数可以包括播放时长、帧率和播放效果。相应的,图4是本公开实施例提供的一种生成动画数据的方法流程图。如图4所示,该方法可以包括:
步骤3021A、根据播放时长、帧率和播放效果,确定多个元素状态值。
在本公开实施例中,终端可以先将播放时长(duration)和帧率(frame rate)相乘,以得到动画文件包括的画面的总帧数(frame count)。即该总帧数可以满足下述公式:frame count=duration*frame rate公式(1)。
例如,假设终端获取到的播放时长为3秒(s),帧率为15赫兹(Hz),则终端根据公式(1)计算得到的总帧数frame count即为:frame count=duratio n*frame rate=3*15=45。
然后,终端可以基于该总帧数和播放效果,确定多个元素状态值。例如,针对每张目标图片,终端可以先根据播放效果,填充该目标图片在所有帧里的具体数据,该具体数据即是指目标图片的播放状态。然后,终端可以根据播放效果,采用预先配置的动画接口创建对应的动画对象,并根据总帧数和帧率循环在播放时长内循环播放该创建好的动画对象。例如,假设总帧数为n,帧率为f,则终端可以执行n次循环,每次循环递增1/f秒(s)。并且,在每次循环播放时,终端均可以采用预先配置的插值算法确定出多个元素状态值。
可选的,该动画接口可以为终端系统自带的动画接口,或者,可以为终端接收开发人员在开发动画文件时写入的接口。同理,该插值算法可以为终端系统自带的算法,或者,可以为开发人员在开发动画文件时写入的算法。
步骤3022A、按照目标格式的封装标准,将播放时长和多个元素状态值进行封装,生成目标格式的动画数据。
例如,假设目标格式为SVGA格式,则终端在基于目标参数确定了多个元素状态值后,即可以按照SVGA格式的封装标准,将播放时长和多个元素状态值进行封装(也可以称为组合),从而得到SVGA格式的动画数据。
由于终端可以基于播放效果、时长和帧率等目标参数,自动确定多个元素状态值,因此通过仅输入播放效果、时长和帧率等参数,可以提高生成动画文件的效率,减少开发人员的工作,保证生成的动画文件的可靠性。
又一种可选的实现方式:该目标参数可以包括播放时长、帧率、播放效果和播放轨迹,相应的,图5是本公开实施例提供的另一种动画数据的生成方法流程图。如图5所示,该方法可以包括:
步骤3021B、根据播放轨迹,确定目标图片的至少一个播放位置。
在本公开实施例中,终端可以根据获取到的播放轨迹,先确定多个采样点,然后,终端可以将从该多个采样点中选取的至少一个目标采样点的位置确定为目标图片的至少一个播放位置。其中,每相邻的两个目标采样点之间的间距大于间距阈值。也即是,终端可以先将目标图片根据确定的播放轨迹进行平铺设置,且平铺得到的每相邻两个目标图片不发生重叠。
可选的,该间距阈值可以为终端中预先配置的固定值,或,该间距阈值可以为终端接收开发人员输入的参数,或,该间距阈值可以为目标图片的尺寸。
例如,参考图6,假设目标图片的尺寸为m*n的矩形Q,终端获取到的播放轨迹如图6所示的星型,该星型轨迹占用的面积为M*N的一个矩形P,间距阈值为m/2-1。则终端可以先根据该星型轨迹确定多个采样点a0至an,并将相邻且间距大于m/2-1的多个目标采样点的位置确定为目标图片的多个播放位置。如对于每个采样点,终端均可以以该采样点为中点,确定一个大小为m*n的矩形Qi,并将与该采样点对应的矩形相邻且完全无交集的矩形的中点确定为一个目标采样点。相应的,每两个相邻的目标采样点的间距即为m/2,大于间距阈值。然后,终端可以将确定的多个目标采样点的位置确定为目标图片的播放位置。并且,在以目标采样点确定了多个矩形Qi后,终端可以将矩形Qi与矩形P相交的部分删除,从而即可以得到铺满整个星型轨迹的目标图片的多个播放位置。
步骤3022B、将播放时长与帧率相乘,得到动画文件包括的画面的总帧数。
该步骤的实现方法可以参考上述步骤3021A中计算得到总帧数的方法。
步骤3023B、基于播放效果、目标图片的至少一个播放位置和总帧数,确定多个元素状态值。
该步骤的实现方式也可以参考上述步骤3021A中确定多个元素状态值的方法,区别在于,该方法还需要根据播放轨迹确定的至少一个播放位置来确定多个元素状态值,即执行完该步骤得到的多个元素状态值与播放轨迹相关。
步骤3024B、按照目标格式的封装标准,将播放时长和多个元素状态值进行封装,生成目标格式的动画数据。
该步骤的实现方法可以参考上述步骤3022A的方法,在此不再赘述。
通过再基于播放轨迹确定多个元素状态值,可以使得开发人员自行设计动画文件的播放样式,即在提高生成动画文件的效率的前提下,进一步提高了生成动画文件的灵活性,提高了产品趣味性和用户体验。
步骤303、按照SVGA格式的文件标准,对动画数据进行编码。
在本公开实施例中,该目标格式可以为SVGA格式,相应的,终端在得到动画数据后,可以再继续按照SVGA格式的文件标准,对动画数据进行编码,即将动画数据编码成SVGA格式的文件形式。
可选的,该SVGA格式的文件标准可以包括1.0版本和2.0版本,1.0版本的SVGA格式的文件标准为json格式文件,2.0版本的SVGA格式的文件标准为google protobuf格式文件。
步骤304、将编码后的动画数据和目标图片进行压缩,得到SVGA格式的动画文件。
在本公开实施例中,终端可以继续将编码后的动画数据和目标图片写入同一个文件中,并将该文件进行压缩打包,从而生成SVGA格式的动画文件。
示例的,下述以直播客户端中动画礼物的赠送场景为例,对本公开实施例提供的动画文件的生成方法生成的动画文件应用进行介绍。
例如,参考图7,假设第一客户端正在播放第二客户端的用户XX录制的直播视频,该第一客户端的显示界面下方显示有“礼物”选项、“个性”选项和“包裹”选项,该“个性”选项为动画礼物生成选项。当第一客户端检测到用户单击该“个性”选项的操作时,第一客户端即可以检测到动画礼物生成指令。此时,如图7所示,第一客户端的显示界面上可以显示有绘画蒙层H1,以及包含有多个备选礼物图片的礼物栏G1,该礼物栏G1中包括棒棒糖的图片、玫瑰花的图片、爱心的图片和情书的图片,且每个备选礼物图片的下方还可以显示有该礼物图片的标识和单价,如棒棒糖0.1Y,Y可以是第一客户端为该礼物图片的价格设置的单位,礼物图片的标识可以为用于描述该礼物图片的文字。参考图7,用户选择了棒棒糖的图标,并在绘画蒙层H1上绘制了心形图案,在用户点击发送按钮后,即可以成功将其绘制的动画礼物发送至第二客户端,观看该直播的用户的客户端的界面上均可以播放该动画礼物。并且,参考图7,在用户绘制了动画文件后,该显示界面上还可以显示有“画了10个棒棒糖、总价格1Y,余额0.7Y”的文字提示。对于终端侧:在第一客户端接收到动画文件的发送指令时,即可以将接收到的动画文件发送至服务器,再由服务器下发至观看该直播的其他客户端,以供其他客户端的显示界面上播放该动画文件。
需要说明的是,本公开实施例提供的动画文件的生成方法的步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如,上述步骤303和304可以同步执行。任何熟悉本技术领域的技术人员在本公开揭露的技术范围内可轻易想到变化的方法,都应涵盖在发明的保护范围之内,因此不再赘述。
综上所述,本公开实施例提供了一种动画文件的生成方法。其中,终端可以获取用于生成动画文件的目标参数和目标图片,可以基于该目标参数生成目标格式的动画数据,且可以根据该动画数据和目标图片生成动画文件。由于终端可以基于获取到的目标参数和目标图片自动生成动画文件,因此相对于相关技术中终端仅能接收设计师预先设计好的动画文件,该动画文件的生成方法的灵活性较高。相应的,生成的动画文件的内容和样式即会较为丰富。
图8是公开实施例提供的一种动画文件的生成装置框图,可以应用于图1所示的终端110中。如图8所示,该装置80可以包括:
获取模块801,用于获取用于生成动画文件的目标参数和目标图片。
动画数据生成模块802,用于基于目标参数生成目标格式的动画数据,动画数据用于指示目标图片在多帧画面中的播放形式。
动画文件生成模块803,用于根据动画数据和目标图片,生成目标格式的动画文件,动画文件包括多帧画面。
一种可选的实现方式:该目标参数可以包括播放时长和多个元素状态值,每个元素状态值用于指示目标图片在一帧画面的播放状态。相应的,图9是本公开实施例提供的一种动画数据生成模块802的框图。如图9所示,该动画数据生成模块802可以包括:
封装子模块8021A,用于按照目标格式的封装标准,将播放时长和多个元素状态值进行封装,生成目标格式的动画数据。
另一种可选的实现方式:该目标参数可以包括播放时长、帧率和播放效果。相应的,图10是本公开实施例提供的另一种动画数据生成模块802的框图。如图10所示,该动画数据生成模块802可以包括:
确定子模块8021B,用于根据播放时长、帧率和播放效果,确定多个元素状态值,每个元素状态值可以用于指示目标图片在一帧画面的播放状态。
封装子模块8022B,用于按照目标格式的封装标准,将播放时长和多个元素状态值进行封装,生成目标格式的动画数据。
可选的,确定子模块8021B,可以用于将播放时长与帧率相乘,得到动画文件包括的画面的总帧数,并基于播放效果和总帧数,确定多个元素状态值。
又一种可选的实现方式:该目标参数可以包括播放时长、帧率、播放效果和播放轨迹。相应的,图11是本公开实施例提供的又一种动画数据生成模块802的框图。如图11所示,该动画数据生成模块802可以包括:
第一确定子模块8021C,用于根据播放轨迹,确定目标图片的至少一个播放位置。
相乘子模块8022C,用于将播放时长与帧率相乘,得到动画文件包括的画面的总帧数。
第二确定子模块8023C,用于基于播放效果、目标图片的至少一个播放位置和总帧数,确定多个元素状态值。
封装子模块8024C,用于按照目标格式的封装标准,将播放时长和多个元素状态值进行封装,生成目标格式的动画数据。
可选的,该第一确定子模块8021C,可以用于:确定播放轨迹包括的多个采样点,并将从多个采样点中选取的至少一个目标采样点的位置确定为目标图片的至少一个播放位置,其中每相邻的两个目标采样点之间的间距大于间距阈值。
可选的,该播放轨迹可以根据用户在绘制界面上执行的触控操作确定,或,该播放轨迹可以根据用户针对至少一个备选播放轨迹的选择操作确定,或,该播放轨迹可以为对目标对象识别得到的目标对象的轮廓。
可选的,该目标格式可以为可伸缩矢量图形SVGA格式。相应的,动画文件生成模块803,可以用于:按照SVGA格式的文件标准,对动画数据进行编码,并将编码后的动画数据和目标图片进行压缩,得到SVGA格式的动画文件。
综上所述,本公开实施例提供了一种动画文件的生成装置。其中,该装置可以获取用于生成动画文件的目标参数和目标图片,可以基于该目标参数生成目标格式的动画数据,且可以根据该动画数据和目标图片生成动画文件。由于终端可以基于获取到的目标参数和目标图片自动生成动画文件,因此相对于相关技术中仅能接收设计师预先设计好的动画文件,该动画文件的生成装置生成动画文件的灵活性较高。相应的,生成的动画文件的内容和样式即会较为丰富。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图12是本公开一个示例性实施例提供的移动终端1200的结构框图。该终端1200可以是便携式移动终端,比如:智能手机、平板电脑、笔记本电脑或台式电脑。终端1200还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。通常,终端1200包括有:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中方法实施例提供的动画文件的生成方法。
在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、显示屏1205、摄像头1206、音频电路1207、定位组件1208和电源1209中的至少一种。
外围设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置终端1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在再一些实施例中,显示屏1205可以是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以为LCD(Liquid Crystal Display,液晶显示阵列)显示屏或OLED(Organic Light-EmittingDiode,有机发光二极管)显示屏。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
定位组件1208用于定位终端1200的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1208可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1209用于为终端1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。
加速度传感器1211可以检测以终端1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制触摸显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1212可以检测终端1200的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对终端1200的3D动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1213可以设置在终端1200的侧边框和/或触摸显示屏1205的下层。当压力传感器1213设置在终端1200的侧边框时,可以检测用户对终端1200的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在触摸显示屏1205的下层时,由处理器1201根据用户对触摸显示屏1205的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1214用于采集用户的指纹,由处理器1201根据指纹传感器1214采集到的指纹识别用户的身份,或者,由指纹传感器1214根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置终端1200的正面、背面或侧面。当终端1200上设置有物理按键或厂商Logo时,指纹传感器1214可以与物理按键或厂商Logo集成在一起。
光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光学传感器1215采集的环境光强度,控制触摸显示屏1205的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1205的显示亮度;当环境光强度较低时,调低触摸显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
接近传感器1216,也称距离传感器,通常设置在终端1200的前面板。接近传感器1216用于采集用户与终端1200的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变小时,由处理器1201控制触摸显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变大时,由处理器1201控制触摸显示屏1205从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当计算机可读存储介质在计算机上运行时,可以使得计算机执行如图2和图3所示的动画文件的生成方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。