一种动画播放的方法和设备与流程

文档序号:16105084发布日期:2018-11-30 19:08阅读:158来源:国知局

本发明涉及广播电视领域,特别涉及一种动画播放的方法和设备。



背景技术:

为了丰富电视节目的播放形式,制作和播放动画已成为节目制作和播放的重要组成部分,而动画往往通过一个或多个关键帧描述,关键帧是由时间和影响动画图像的参数组成。影响动画图像的参数包括位置、旋转、缩放、颜色等。动画播放时逐帧计算并修改影响动画图像的参数,从而获得动画效果。

现有技术在计算影响动画图像的参数时,关键帧处的参数直接从关键帧中获取,关键帧以外的参数则通过特定的插值方式获得。插值方法包括Bezier曲线插值、线性插值、跳跃插值等。

在现有技术中,采用直接获取的方式获得关键帧中的参数,即在动画制作完毕后,关键帧和插值方式随之确定,影响动画图像的参数计算就固定了,要想播放不同的动画效果,必需重新修改关键帧才能实现,从而导致动画的播放不够灵活;例如,在一些特定的播放情况下,动画播放之前影响动画图像的特定参数的值可能是不确定的,如果按照直接获取关键帧中参数的方式播放动画,由于关键帧中的参数与动画播放之前的参数可能存在较大的差别,从而在动画播放时可能出现跳动现象,从而影响动画播放质量。

综上所述,现有技术中采用直接获取的方式获得关键帧参数并进行动画播放,不能满足高质量动画播放的需求。



技术实现要素:

本发明提供一种动画播放的方法和设备,用以解决现有技术中采用直接获取的方式获得关键帧参数并进行动画播放,不能满足高质量动画播放的需求的问题。

基于上述问题,本发明实施例提供一种动画播放的方法,包括:

确定关键帧参数的获取方式,其中所述关键帧参数的获取方式是在动画播放前设置的;

根据确定的所述获取方式,获取关键帧参数;

根据获取的所述关键帧参数,播放动画。

由于本发明实施例提供的动画播放的方法,提供的可选的关键帧参数的获取方式包括:直接获取,动态跟随和动态输入,用户能够根据需要选择获取方式,实现在播放前能够对关键帧参数进行修改,使得动画的播放更加灵活,提高动画播放质量。

可选的,根据确定的所述获取方式,获取关键帧参数,包括:

直接获取所述关键帧中的关键帧参数。

由于本发明实施例提供了直接获取方式,如果用户确定关键帧参数在播放前不需要调整,则可选择直接获取的方式,在动画播放时直接获取关键帧参数,这种获取方式简单快捷,易于实施。

可选的,根据确定的所述获取方式,获取关键帧参数,包括:

将在动画播放前获取与关键帧对应的影响动画图像的参数,作为所述关键帧参数。

由于本发明实施例提供了动态跟随方式,如果用户确定在动画播放之前,与有些关键帧参数对应的影响动画图像的参数是不定的,则可选择动态跟随的方式,采用动态跟随的方式能够得到影响动画图像参数的最终值,可以有效避免动画播放时出现的跳动问题。

可选的,根据确定的所述获取方式,获取关键帧参数,包括:

确定用户在用户输入界面中输入的与关键帧对应的参数;

根据所述用户输入的参数调整对应的关键帧参数。

由于本发明实施例提供了动态输入方式,在动画制作完成之后,动画播放之前,用户可以根据需要调整关键帧参数,采用动态输入的方式调整关键帧参数,使关键帧参数的调整更加方便快捷,使得动画的播放更加灵活。

可选的,根据确定的所述获取方式,获取关键帧参数,包括:

若在用户输入界面中输入的关键帧对应的参数为部分参数,则直接从所述关键帧中获取未输入参数。

由于本发明实施例提供的动态输入方式,用户能够在用户输入界面输入关键帧的部分参数,在用户输入的是部分播放参数时,能够自动采用直接获取的方式获取其它未输入参数,使得动态输入的方式在使用过程中更加灵活。

可选的,根据确定的所述获取方式,获取关键帧参数之后,根据获取的所述关键帧参数,播放动画之前,还包括:

确定用户在用户输入界面中输入的动画对应的播放时长;

根据所述用户输入的播放时长,对所述关键帧参数中的时间参数进行调整。

由于本发明实施例在动画制作完成之后,用户能够根据剩余时间,通过用户输入界面修改动画播放时长,从而有效避免由于剩余的播放时间和动画播放时长不匹配时,出现的播放不完全或静帧现象,可以有效保证动画的播放质量。

另一方面,本申请实施例提供的一种动画播放的设备,包括:

确定模块,用于确定关键帧参数的获取方式,其中所述关键帧参数的获取方式是在动画播放前设置的;

获取模块,用于根据确定的所述获取方式,获取关键帧参数;

播放模块,用于根据获取的所述关键帧参数,播放动画。

可选的,所述获取模块具体用于:

直接获取所述关键帧中的关键帧参数。

可选的,所述获取模块具体用于:

将在动画播放前获取与关键帧对应的影响动画图像的参数,作为所述关键帧参数。

可选的,所述获取模块具体用于:

确定用户在用户输入界面中输入的与关键帧对应的参数;根据所述用户输入的参数调整对应的关键帧参数。

可选的,所述获取模块还用于:

若在用户输入界面中输入的关键帧对应的参数为部分参数,则直接从所述关键帧中获取未输入参数。

可选的,所述获取模块还用于:

确定用户在用户输入界面中输入的动画对应的播放时长;根据所述用户输入的播放时长,对所述关键帧参数中的时间参数进行调整。

附图说明

图1为本发明实施例提供的一种动画播放的方法流程示意图一;

图2为本发明实施例动画播放界面示意图;

图3为本发明实施例用户输入界面示意图一;

图4为本发明实施例用户输入界面示意图二;

图5为本发明实施例提供的一种动画播放的方法流程示意图二;

图6为本发明实施例提供的一种动画播放的设备结构示意图。

具体实施方式

本发明实施例确定关键帧参数的获取方式,其中所述关键帧参数的获取方式是在动画播放前设置的;根据确定的获取方式,获取关键帧参数;根据获取的关键帧参数,播放动画。由于本发明实施例提供了多种关键帧参数的获取方式,用户能够根据需要选择获取方式,实现在动画播放前能够对关键帧参数进行修改,使得动画的播放更加灵活,提高动画播放质量。

下面结合说明书附图对本申请实施例作进一步详细描述。

如图1所示,本发明实施例一种动画播放的方法包括:

步骤101,确定关键帧参数的获取方式,其中关键帧参数的获取方式是在动画播放前设置的;

步骤102,根据确定的获取方式,获取关键帧参数;

步骤103,根据获取的关键帧参数,播放动画。

本发明实施例中,关键帧参数包括关键帧在时间轴上的时间信息和影响动画图像的参数。

其中,影响动画图像的参数包括但不限于下列参数中的部分或全部:位置、旋转、缩放、颜色等。

动画播放的过程即为逐帧修改影响动图像画参数的过程,逐帧修改影响动图像画参数可以采用插值方式,本发明实施例以插值方式逐帧得到影响动图像画参数,获得动画效果。

具体插值过程为:给定一个特定的时间,如果该时间在两个相邻的关键帧之间,则通过这两个相邻的关键帧插值计算获取,如果在第一个关键帧之前,则不予修改,如果在最后一个关键帧之后,则与最后一个关键帧中的播放参数一致。其中,插值方式包括Bezier(贝塞尔)曲线插值、线性插值、跳跃插值等。在实施中,用户可以根据需要选择特定的插值方式。

本发明实施例提供了一种在动画中精确查找关键帧的方法。扩展现有关键帧的组成部分,为每一个关键帧添加唯一标识ID,添加唯一标识ID是为了能够通过ID精确、快速查找到对应的关键帧。实施中,在播放界面为用户提供用户输入界面,用户输入界面中的每一个输入框均与关键帧的唯一标识ID关联,软件能够通过关联的ID自动查找和修改关键帧。

可选的,关键帧参数的获取方式一般添加在关键帧中,但也可以设置在其它位置。

现有技术中动画制作完毕后,关键帧和插值方式随之确定,关键帧参数和非关键帧参数随之确定,要想播放不同的动画效果,必须重新修改关键帧才能实现,从而导致动画的播放不够灵活。本发明实施例提供的可选的关键帧参数的获取方式包括:直接获取,动态跟随和动态输入。

直接获取方式:在动画播放时直接获取关键帧中的关键帧参数。

动态跟随方式:将在动画播放前获取与关键帧对应的影响动画图像的参数,作为所述关键帧参数。

动态输入方式:获取用户在用户输入界面中输入的与关键帧对应的参数,根据用户输入的参数调整对应的关键帧参数。

实施中,用户可以根据需要,选择上述三种获取方式中的任意一种。

下面分别具体介绍三种获取方式。

方式一,直接获取方式。

如果用户确定关键帧参数在播放前不需要调整,则可选择直接获取的方式。

方式二,动态跟随方式。

如果在动画播放之前,与有些关键帧参数对应的影响动画图像的参数是不定的,采用直接获取的方式,直接获取关键帧中的关键帧参数,由于关键帧中的关键帧参数与播放前影响动画图像的参数存在差异,在动画播放过程中可能出现跳动现象,在这种情况下,可以选择动态跟随方式。

例如,在播放台球进洞动画时,台球的起始位置可能是球桌上的任意一个位置,但终点的位置是确定的(底洞或中洞中的一个),若使用直接获取的方式获取关键帧参数并播放动画,则需要做无穷多个动画才能模拟所有台球进洞的情况,若以一个特定的位置作为起点,则往往会出现跳动现象,因为任意位置和特定位置一般不重合,此时若将动画的第一帧设定为动态跟随,即:动画播放前台球在什么地方就以什么地方为起点,不但可以有效避免跳动现象,也不用做无穷多个动画,从而提高动画播放的质量。

实施中,一般选择动画的第一个关键帧参数的获取方式为动态跟随方式,但也可根据需要将其他关键帧参数的获取方式设定为动态跟随方式;根据用户需要,动态跟随方式可以跟随关键帧的部分或全部参数,但在一般情况下只需要跟随关键帧参数中的一个或多个即可。

实施中,当用户选择关键帧参数的获取方式为动态跟随时,在获取关键帧参数时,不再从关键帧中直接获取原始参数,而是按照上述方式获得关键帧参数。

方式三,动态输入方式。

本发明实施例中,在动画制作完成之后,动画播放之前,用户可以根据需要调整关键帧的部分或全部参数。在确定需要调整关键帧参数时,用户可以选择关键帧参数的获取方式为动态输入。

实施中,为选择动态输入方式获取参数的关键帧添加关键帧输入信息,关键帧输入信息包括:与关键帧对应的唯一标识ID,与关键帧对应的输入参数和用于描述关键帧输入信息的名称。其中,唯一标识ID便于根据用户输入参数自动查找和修改对应的关键帧参数;唯一标识ID与用户输入界面中的输入框关联,用户在输入框输入完毕后,自动通过关联的ID精确查找到对应的关键帧,实现对关键帧参数的快速修改;描述关键帧输入信息的名称便于用户在修改关键帧参数时参考,从而避免错误修改。

在动画播放前,用户可以通过用户输入界面输入需要修改的关键帧对应的参数。如图2所示,可以根据关键帧输入信息在动画播放窗口自动生成一个用户输入界面,用户在该用户输入界面输入需要修改的关键帧参数。

例如,在播放台球进洞动画时,台球的起始位置是固定的,但终点的位置是不确定的,可以是底洞或中洞中的任一个,若使用直接获取的方式获取关键帧参数并播放动画,则至少需要为每一个洞做一个动画才能满足要求,此时将动画的最后一帧设定为动态输入,用户可以通过用户输入界面修改台球的位置信息,如图3所示,动画的最后一帧时间为1.5s,此时台球的水平位置参数为200.50,台球的竖直位置参数100.50,若要实现台球进另一个洞的动画效果,只需在用户输入界面的输入框中输入新的台球的水平位置参数和竖直位置参数;同时,采用将动画的最后一帧设定为动态输入,可以随时修改影响动画图像的参数,实现将台球停留在任意位置的动画效果,从而实现动画灵活播放,提高动画播放的质量。

实施中,为选择动态输入方式获取参数的关键帧添加关键帧输入信息,每一个关键帧输入信息中可以包含一个或者多个唯一标识ID。

可选的,若在用户输入界面中输入的关键帧对应的参数为部分参数,则直接从所述关键帧中获取未输入参数。

本发明实施例中,用户在用户输入界面中可以输入关键帧的部分或全部参数,当用户输入的是关键帧的全部参数时,不再直接获取关键帧中记录的关键帧参数,而是获取用户输入的参数,作为关键帧参数。

当用户输入的是关键帧的部分参数时,获取用户输入的部分参数,替换关键帧中的关键帧参数值,对于用户没有输入的关键帧其它参数,采用直接获取的方式,直接从关键帧中获取,将这两部分参数结合作为关键帧参数。

实施中,当用户输入的是关键帧的部分参数时,可以采用两种方式中的一种得到关键帧参数。

一,确定关键帧参数的获取方式为动态输入后,在确定该关键帧参数时,不再直接获取该关键帧中的参数,而是获取用户在用户输入界面输入的关键帧的部分参数,在确定输入的部分参数后,再从关键帧中获取其他未输入的参数,将动态输入得到的参数和直接获取得到的参数结合作为关键帧参数。例如,动画A的第一关键帧参数获取方式为动态输入,并且第一关键帧参数由时间参数和位置参数构成,用户在用户输入界面只输入了关键帧的位置参数,在确定该关键帧参数时,获取用户输入的位置参数,再从关键帧直接获取时间参数,将动态输入得到的位置参数和直接获取得到的时间参数结合,得到该关键帧参数。

二,确定关键帧参数的获取方式为动态输入后,在确定该关键帧参数时,先直接获取关键帧中的关键帧参数,再获取用户在用户输入界面输入的与关键帧对应的部分参数,然后利用用户输入界面输入的部分参数替换对应的直接获取到的部分参数。例如,动画B的第一关键帧参数获取方式为动态输入,并且第一关键帧参数由时间参数和颜色参数构成,用户在用户输入界面只输入了关键帧的颜色参数,在确定该关键帧参数时,先直接获取第一关键帧中的时间参数和颜色参数,再获取用户在用户输入界面输入的颜色参数,利用在用户输入界面获取的颜色参数替换直接从关键帧中获取的颜色参数,将替换后的颜色参数和直接获取的时间参数结合,得到该关键帧参数。

上述三种获取方式只是本发明实施例获取关键帧参数的举例说明,本发明实施例获取关键帧参数的方式并不限于上述三种方式。

在一些特定的播放环境下,例如,现场直播,对节目播放开始和结束时间限制非常苛刻,但播放过程中对时间的控制总存在一定的误差,所以留给部分动画的播放时间总是不确定的,本发明实施例中,在动画播放前,用户可以根据剩余时间等信息对动画的播放时长进行修改。

可选的,确定用户在用户输入界面中输入的动画对应的播放时长;根据用户输入的播放时长,对关键帧参数中的时间参数进行调整。

实施中,为需要修改动画播放时长的动画添加动画输入信息,动画输入信息中包括动画的名称和动画的时长;其中,动画名称便于用户修改动画时长时参考,从而避免错误修改。

实施中,为方便用户修改动画播放时长,在动画播放窗口设置一个用户输入界面,用户在该用户输入界面输入需要修改的动画的播放时长。例如在动画片尾播放字幕,由于时间限制,需要缩短字幕的播放时长,此时,用户需要在用户输入界面的片尾字幕动画长度的输入框输入调整后的字幕的播放时长,如图4所示,调整片尾字幕的播放时长为5s,只需在对应的输入框输入5,就可实现调整字幕的播放时长。

实施中,获取用户输入的播放时长后,对该动画中所有的关键帧进行整体等比例缩放,动画播放时,根据关键帧参数的获取方式获得关键帧对应的参数值,根据获得的关键帧参数值修改影响动画图像的参数,从而可以获得不同播放时长的动画。例如,动画A原有播放时长为10s,共包含三个关键帧a,b,c,其中关键帧a的时间参数为0s,关键帧b的时间参数为4s,关键帧c的时间参数为10s;根据实际需要,缩短动画A的播放时长为5s,则用户在用户输入界面输入的动画A的播放时长为5s,对该动画A中的关键帧a,b,c进行整体等比例缩放,则调整后的三个关键帧a,b,c的时间参数分别为0s,2s,5s。

如图5所示,为本申请实施例提供的动画播放方法的整体流程示意图,其中,确定关键帧参数的获取方式,其中所述关键帧参数的获取方式是在动画播放前添加的;根据确定的获取方式,获取关键帧参数;根据获取的关键帧参数,播放动画。

步骤501,确定关键帧参数的获取方式;

步骤502,直接获取关键帧中的关键帧参数;

步骤503,获取动画播放前与关键帧对应的影响动画图像的参数;

步骤504,将获取到的影响动画图像的参数作为关键帧参数;

步骤505,确定用户在用户输入界面中输入的关键帧参数;

步骤506,判断用户输入的参数是否是关键帧的全部参数,若是,执行步骤507,若否,执行步骤508;

步骤507,将用户输入的参数作为关键帧参数;

步骤508,从关键帧中获取用户未输入的参数;

步骤509,将从关键帧中获取的参数和用户输入的参数结合得到关键帧参数;

步骤510,确定关键帧参数;

步骤511,判断是否需要调整动画的播放时长,若是,执行步骤512,若否,执行步骤513;

步骤512,根据用户输入的动画的播放时长,对关键帧参数中的时间参数进行调整;

步骤513,根据关键帧参数,播放动画。

基于同一发明构思,本申请实施例中还提供了一种动画播放的设备,由于该设备解决问题的原理与本申请实施例播放动画的方法相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。

如图6所示,本发明实施例提供的一种动画播放的设备,包括:

确定模块601,用于确定关键帧参数的获取方式,其中所述关键帧参数的获取方式是在动画播放前设置的;

获取模块602,用于根据确定的所述获取方式,获取关键帧参数;

播放模块603,用于根据获取的所述关键帧参数,播放动画。

可选的,所述获取模块602具体用于:

直接获取所述关键帧中的关键帧参数。

可选的,所述获取模块602具体用于:

将在动画播放前获取与关键帧对应的影响动画图像的参数,作为所述关键帧参数。

可选的,所述获取模块602具体用于:

确定用户在用户输入界面中输入的与关键帧对应的参数;根据所述用户输入的参数调整对应的关键帧参数。

可选的,所述获取模块602还用于:

若在用户输入界面中输入的关键帧对应的参数为部分参数,则直接从所述关键帧中获取未输入参数。

可选的,所述获取模块602还用于:

确定用户在用户输入界面中输入的动画对应的播放时长;根据所述用户输入的播放时长,对所述关键帧参数中的时间参数进行调整。

以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。

相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1