环绕动画特效处理方法、装置及可读存储介质与流程

文档序号:32742440发布日期:2022-12-30 19:47阅读:81来源:国知局
环绕动画特效处理方法、装置及可读存储介质与流程

1.本公开涉及互联网技术领域,尤其涉及一种环绕动画特效处理方法、装置及可读存储介质。


背景技术:

2.用户使用具有视频编辑功能的应用程序进行创作时,常常会使用一些特效,使视频创作更加有趣。其中,二维(2d)的环绕动画特效是深受人们喜爱的一种特效,环绕动画特效具体是指环绕对象(例如,贴纸、花字等等)绕着二维平面上的某个点进行旋转的一种特效。
3.现有技术中,2d的环绕动画特效的生产制作是通过手写脚本的方式实现,这种方式导致2d的环绕动画特效的生产效率较低。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种环绕动画特效处理方法、装置及可读存储介质。
5.第一方面,本公开提供了一种环绕动画特效处理方法,包括:
6.获取环绕对象;
7.显示二维环绕参数配置窗口,并将所述环绕对象与所述二维环绕参数配置窗口进行关联;其中,所述二维环绕参数配置窗口包括用于生成二维的目标二维环绕动画特效的多个配置项;
8.根据所述多个配置项的配置信息,生成目标二维环绕动画特效的配置文件;目标二维环绕动画特效为环绕对象沿环绕点在二维平面上进行环绕的动画特效。
9.第二方面,本公开提供了一种环绕动画特效处理装置,包括:
10.获取模块,用于获取环绕对象;
11.配置模块,用于显示二维环绕参数配置窗口,并将所述环绕对象与所述二维环绕参数配置窗口进行关联;其中,所述二维环绕参数配置窗口包括用于生成二维的目标二维环绕动画特效的多个配置项;
12.生成模块,用于根据所述多个配置项的配置信息,生成目标二维环绕动画特效的配置文件;所述目标二维环绕动画特效为所述环绕对象沿所述环绕点在二维平面上进行环绕的动画特效。
13.第三方面,本公开提供了一种电子设备,包括:存储器、处理器以及计算机程序指令;所述存储器被配置为存储所述计算机程序指令;所述处理器被配置为执行所述计算机程序指令,以实现如第一方面任一项所述的方法。
14.第四方面,本公开提供了一种可读存储介质,包括:计算机程序指令;所述计算机程序指令被电子设备的至少一个处理器执行时,以实现如第一方面任一项所述的方法。
15.第五方面,本公开提供了一种程序产品,所述程序产品包括计算机程序,所述计算
机程序存储在可读存储介质中,所述电子设备的至少一个处理器可以从所述可读存储介质中读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得所述电子设备实现如第一方面任一项所述的方法。
16.本公开提供一种环绕动画特效处理方法、装置及可读存储介质,其中,该方法包括:通过将制作二维环绕动画特效的需求进行封装,并向用户提供可视化的二维环绕参数配置窗口,方便用户操作。在用户将承载环绕对象的组件与二维环绕参数配置窗口关联之后,可通过操作二维环绕参数配置窗口中提供的配置项,配置环绕对象对应的二维环绕参数。之后,再根据环绕对象关联的二维环绕参数配置窗口中各配置项的配置信息,自动生成目标二维环绕动画特效的配置文件。与现有技术中,手写脚本的方式相比,本公开提供的方法,更加方便快捷,能够有效提高二维环绕动画特效的生产效率。另外,本公开提供的方法,能够适用于以任意类型的素材为环绕对象的目标二维环绕动画特效的生产制作中,适用范围较广。
附图说明
17.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
18.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
19.图1为本公开一实施例提供的二维环绕动画特效的示意图;
20.图2为本公开一实施例提供的环绕动画特效处理方法的流程图;
21.图3a至图3g为本公开提供的二维环绕参数配置窗口的示意图;
22.图4a至图4b为本公开提供的二维环绕参数配置窗口的示意图;
23.图5a至图5b为本公开提供的环绕对象进行自转和未自转两种情况下的示意图;
24.图6a为本公开提供的二维环绕参数配置窗口的示意图;
25.图6b至图6f为本公开提供的二维环绕参数配置窗口相互关联的界面示意图;
26.图6g为本公开提供的二维环绕参数配置窗口与可视化模块相互关联的界面示意图
27.图7为本公开提供的二维环绕参数配置窗口的示意图;
28.图8为本公开另一实施例提供的环绕动画特效处理方法的流程图;
29.图9为本公开提供的环绕对象的位置变化示意图;
30.图10为本公开一实施例提供的环绕动画特效处理装置的结构示意图;
31.图11为本公开另一实施例提供的电子设备的结构示意图。
具体实施方式
32.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
33.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采
用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
34.这里,首先,对2d的环绕动画特效示例性地进行说明,参照图1 所示,环绕对象为表情贴纸,表情贴纸在二维平面上,以点a为环绕点,并沿箭头所示的逆时针方向进行旋转。在实际应用中,环绕对象的数量可以为一个,也可以为多个。如图1所示的环绕动画特效包括8 个表情贴纸,分别为表情贴纸101至表情贴纸108,这些表情贴纸均以点a为环绕点,并沿箭头所示的逆时针方向进行旋转。
35.目前,生产制作2d的环绕动画特效是通过手写脚本的方式实现,由于手写脚本的效率较低,因此,导致2d的环绕动画特效的生产效率较低。另外,由于用户写脚本的风格不同,导致后期代码较难维护。
36.基于上述问题,本公开实施例提供一种环绕动画特效处理方法,该方法通过将2d的环绕动画特效需求封装在一个节点中,并提供了可视化的二维环绕参数配置窗口,可通过操作二维环绕参数配置窗口中的多个配置项即可进行二维环绕参数的配置,后台可以自动根据二维环绕参数对应的配置项的配置信息生成二维环绕动画特效对应的可执行程序文件(即配置文件)。由于提供了可视化的二维环绕参数配置窗口,对于用户来说操作简单方便,有效提高了2d的环绕动画特效的生产效率。另外,后期对环绕动画特效进行维护时,也可以通过操作该二维环绕参数配置窗口实现,解决了现有技术中,后期维护手写脚本难度较大的问题。
37.本公开提供的环绕动画特效处理方法可以由环绕动画特效处理装置执行,其中,环绕动画特效处理装置可以通过任意的软件和/或硬件的方式实现。示例性地,环绕动画特效处理装置可以包括平板电脑、手机(如折叠屏手机、大屏手机等)、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer, umpc)、上网本、智能家居设备等等电子设备。环绕动画特效处理装置还可以包括应用程序。
38.图2为本公开一实施例提供的环绕动画特效处理方法的流程图。
39.参照图2所示,本实施例的方法包括:
40.s201、获取环绕对象。
41.其中,环绕对象可以包括贴纸、花字、图像、照片等类型的素材。环绕对象可以是具有静态效果的素材,例如,静态表情贴纸、静态花字、静态照片、静态图像等等;或者,环绕对象也可以是具有动态效果的素材,例如,动态表情贴纸、具有动态效果的花字等等。本公开对于环绕对象的具体类型不作限制。
42.在实际应用中,环绕对象的数量可以是一个,也可以是多个,本公开对于一个2d环绕动画特效中包括的环绕对象的数量不作限制。
43.需要说明的是,若环绕对象的数量为多个,这多个环绕对象可以相同,也可以不同。
44.一种可能的实现方式,环绕动画特效处理装置可以提供特效编辑界面,特效编辑界面也可以称为可视化创作界面;用户可以通过输入 2d变换组件添加指令,在特效编辑界面中添加2d变换组件(也可以称为:2d transform组件)。
45.其中,2d变换组件为承载环绕对象的可视化组件集合。2d变换组件可以是环绕动
画特效处理装置提供的一个可视化的功能集合。示例性地,2d变换组件可以包括用于承载环绕对象本身的信息的第一组件、用于承载环绕对象的属性信息的第二组件。接着,通过操作第一组件和第二组件提供的交互接口,将环绕对象本身的信息存储至第一组件中,将环绕对象的属性信息存储至第二组件中。
46.应理解,2d变换组件还可以包括承载环绕对象的其他信息的组件,用户可以通过操作相应的组件进行相关设置,本公开实施例对此不作限制。
47.其中,上述所指的环绕对象本身的信息可以包括:环绕对象的填充类型、尺寸模式、颜色、透明度、纹理等信息;所述环绕对象的属性信息可以包括:尺寸信息、缩放比例信息、初始旋转信息、环绕对象的中心点的初始位置等等。
48.可选地,用户输入2d变换组件添加指令可以是通过指定的路径获取2d变换组件对应的添加选项,并通过点击该添加选项,输入2d变换组件添加指令。或者,环绕动画特效处理装置支持通过搜索定位2d 变换组件时,可通过在搜索框中输入2d变换组件的名称,从而获取 2d变换组件对应的添加选项,并通过点击该添加选项,输入2d变换组件添加指令。
49.当有多个环绕对象时,在特效编辑界面中,每个环绕对象对应一个2d变换组件。为了便于区分环绕对象,2d变换组件中可以显示环绕对象的标识信息,例如,环绕对象的编号、环绕对象的名称等等。
50.s202、显示二维环绕参数配置窗口,并将所述环绕对象与所述二维环绕参数配置窗口进行关联;其中,所述二维环绕参数配置窗口包括用于生成二维的环绕动画特效的多个配置项。
51.一种可能的实现方式,根据用户输入的二维环绕参数配置窗口添加指令,在特效编辑界面中显示二维环绕参数配置窗口。
52.其中,用户输入二维环绕参数配置窗口的添加指令的实现方式可以与用户输入2d变换组件添加指令的实现方式类似,可参照步骤s201 中的描述,简明起见,此处不再赘述。
53.若有多个环绕对象的情况下,一种可能的实现方式,可以通过重复输入二维环绕参数配置窗口添加指令,在特效编辑界面中显示与环绕对象数量相同的二维环绕参数配置窗口。
54.另一种可能的实现方式,首先,通过输入二维环绕参数配置窗口添加指令,在特效编辑页面中显示一个二维环绕参数配置窗口;再通过选中该二维环绕参数配置窗口,进行复制粘贴操作,从而在特效编辑界面中显示与环绕对象数量相同的二维环绕参数配置窗口。
55.本公开实施例对于在特效编辑界面中添加二维环绕参数配置窗口的实现方式不作限制。
56.下面通过图3a至图3g对二维环绕参数配置窗口进行详细介绍。
57.首先,针对如何将环绕对象的2d变换组件与二维环绕参数配置窗口进行关联进行示例性地介绍。
58.示例性地,参照图3a所示,二维环绕参数配置窗口300包括:2d 变换组件配置项w1,其中,2d变换组件配置项w1包括可视化的输入端口w2。
59.因此,示例性地,可以将环绕对象对应的2d变换组件的交互接口 (例如,如图7中所示)与二维环绕参数配置窗口中的2d变换组件配置项w1的输入端口w2进行连接,从而将
环绕对象与二维环绕参数配置窗口进行关联。
60.例如,用户可以先将鼠标的光标悬浮在2d变换组件的交互接口的区域,以选中2d变换组件;接着,通过长按鼠标的左键并移动鼠标,以将鼠标的光标移动至输入端口w2的区域再停止按压鼠标的左键。根据鼠标的移动轨迹,2d变换组件的交互接口与输入端口w2之间出现一根线条,这样即表示将环绕对象与该二维环绕参数配置窗口300进行了关联。
61.若用户需要修改2d变换组件与二维环绕参数配置窗口300之间的关联,可以通过删除该线条来实现。例如,用户可以将鼠标的光标定位在该线条上的任意一点,并输入删除指令,即可删除该线条,从而取消2d变换组件与二维环绕参数配置窗口300之间的关联。在实际应用中,并不限于通过鼠标实现,用户也可以通过手动在触摸屏幕上输入滑动轨迹等方式实现。
62.应理解,环绕对象的2d变换组件与二维环绕参数配置窗口未关联之前,环绕对象与该二维环绕参数配置窗口之间不具备关联关系,用户针对二维环绕参数配置窗口中提供的配置项的操作,无法关联至该环绕对象,或者,也可以理解为用户通过二维环绕参数配置窗口配置的二维环绕参数与环绕对象没有任何关系。
63.环绕对象的2d变换组件与二维环绕参数配置窗口关联之后,环绕对象与该二维环绕参数配置窗口之间具备关联关系,用户针对二维环绕参数配置窗口中提供的配置项的操作,能够关联至该环绕对象,或者,也可以理解为用户通过二维环绕参数配置窗口配置了环绕对象的二维环绕参数。
64.当有多个环绕对象时,每个环绕对象对应一个2d变换组件。针对每个环绕对象,可通过上述方式将环绕对象对应的2d变换组件与一个二维环绕参数配置窗口进行关联。这样,针对每个环绕对象,均能够通过与其关联的二维环绕参数配置窗口进行独立配置,满足环绕对象控制的原子化需求。
65.将环绕对象对应的2d变换组件与二维环绕参数配置窗口进行关联之后,用户可针对每个环绕对象对应的二维环绕参数配置窗口中的配置项进行配置操作,从而获得各配置项的配置信息。
66.接下来,结合图3b至图3f对二维环绕参数配置窗口中提供的除 2d变换组件配置项以外的其他配置项进行详细介绍。
67.本方案中,二维环绕参数配置窗口可以包括:环绕点配置项、第一旋转角度配置项、旋转速度变化方式配置项、目标单次环绕时长置项、目标环绕次数配置项以及环绕对象自转配置项中的一个或者多个。
68.可以理解的是,上述每个配置项对应一种二维环绕参数。
69.图3b示例性地示出了一种二维环绕参数配置窗口的界面示意图。参照图3b所示,二维环绕参数配置窗口300可以包括:环绕点配置项 301、第一旋转角度配置项302、旋转速度变化方式配置项303、目标单次环绕时长置项304、以及目标环绕次数配置项305。
70.应理解,在实际应用中,若一些二维环绕参数可以采用统一的默认值,则二维环绕参数配置窗口中可以显示这类二维环绕参数对应的配置项,或者,也可以不显示这类二维环绕参数对应的配置项。
71.另外,若有更多的二维环绕参数需要进行配置,则可以在二维环绕参数配置窗口中设置更多的二维环绕参数对应的配置项,以满足二维环绕参数的灵活配置。
72.下面一一介绍图3b中所示的各个配置项:
73.1、环绕点配置项301:
74.其中,环绕点配置项301配置的环绕点为环绕对象的旋转中心,因此,环绕点也可以称为旋转点、旋转中心等其他名称。
75.环绕点配置项301配置的环绕点为二维平面上的一个点,这里的二维平面可以通过二维坐标系来定义,假设二维坐标系为xy坐标系时,环绕点在二维平面中的位置可以通过x轴和y轴的坐标值确定。
76.一种可能的实现方式,参照图3b所示,环绕点配置项301包括:坐标输入区域3011。其中,坐标输入区域3011可以包括横向坐标的输入框301a和纵向坐标的输入框301b,用户可以通过分别操作横向坐标 (即x轴的坐标)的输入框301a和纵向坐标(即y轴的坐标)的输入框301b,配置环绕点的横向坐标和纵向坐标。
77.可选地,环绕点的横向坐标和纵向坐标可以为归一化的坐标值,也可以为未归一化的坐标值。例如,图3b中所示的横向坐标的值0.5 和纵向坐标的值0.5均为归一化的坐标值。
78.需要说明的是,通过输入框301a和输入框301b配置的环绕点为固定的点,环绕对象在每个环绕周期均是以该固定的环绕点为旋转中心进行旋转。
79.可选地,二维环绕参数配置窗口300包括的输入框301a和输入框 301b中可以显示一组默认的环绕点的横向坐标和纵向坐标。若该默认的环绕点的横向坐标和纵向坐标符合用户的需求,则无需用户进行重新配置,能够减少用户操作,提高环绕动画特效的生产效率。
80.另一种可能的实现方式,参照图3b所示,环绕点配置项301可以包括可视化的输入端口3012,输入端口3012可以接收其他模块或组件传递的环绕点的配置信息。
81.这里所指的“其他模块或组件”可以但不限于为加法计算模块、减法计算模块、除法计算模块、随机数生成模块、点击屏幕事件检测组件等等。在实际进行环绕动画特效制作时,将想要关联的可视化模块或组件提供的交互接口与输入端口3012连接即可,连接的具体实现方式与前述将2d变换组件与2d变换组件配置项连接的实现方式类似。
82.示例性地,参照图3g所示,特效编辑界面中,点击屏幕事件检测组件m1的交互接口与输入端口3012通过线条连接,点击屏幕事件检测组件m1的交互接口能够将检测到的用户点击的屏幕位置传递给输入端口3012,以将点击的屏幕位置配置为环绕点。
83.通过输入端口3012配置的环绕点可以是动态变化的,例如,通过输入端口3012配置的环绕点可以按照某个形状的曲线(如圆形、三角形、椭圆等)上具有固定间隔的离散点周期性进行变换;又如,可通过输入端口3012将环绕对象b在当前环绕动画特效帧中的位置配置为环绕对象a在下一环绕动画特效帧中的环绕点。
84.在实际应用中,二维环绕参数配置窗口可以仅包括坐标输入区域 3011,或者,二维环绕参数配置窗口也可以仅包括可视化的输入端口 3012,或者,还可以如图3b中所示,同时将提供两种配置方式(即,输入坐标的方式和通过输入端口3012接收输入坐标信息的方式)供用户选择。
85.2、第一旋转角度配置项302:
86.其中,第一旋转角度表示环绕对象旋转一个周期对应的旋转角度。例如,第一旋转
角度可以为360度、270度、180度等等。
87.一种可能的实现方式,参照图3b所示,第一旋转角度配置项302 可以包括输入框3021;用户可以通过操作输入框3021配置第一旋转角度。
88.可选地,第一旋转角度配置项302还可以包括:控件3022和控件 3023;其中,控件3022用于调大输入框3021中显示的第一旋转角度的值;控件3023用于调小输入框3021中显示的第一旋转角度的值。
89.需要说明的是,通过输入框3021配置的第一旋转角度为固定的值,环绕对象在旋转的过程中,每个环绕周期对应的第一旋转角度相同。
90.另一种可能的实现方式,参照图3b所示,第一旋转角度配置项302 还可以包括输入端口3024,其中,输入端口3024可以接收其他模块或组件传递的第一旋转角度的配置信息。
91.这里所指的“其他模块或组件”可以但不限于为加法计算模块、减法计算模块、除法计算模块、随机数生成模块等等。在实际进行环绕动画特效制作时,将想要关联的可视化模块或组件提供的交互接口与输入端口3024连接即可,连接的具体实现方式与前述将2d变换组件与2d变换组件配置项连接的实现方式类似。
92.示例性地,参照图3g所示,将加法计算模块m2的输出端口k1 与输入端口3024通过线条连接,加法计算模块m2包括输入框k2和输入框k3,用户可以通过操作输入框k2和输入框k3中的两个数值,加法计算模块m2对两个数值进行加法计算,并将加法计算结果传递给输入端口3024,以配置第一旋转角度。
93.可选地,二维环绕参数配置窗口300中,第一旋转角度配置项302 可以显示默认的第一旋转角度。若该默认的第一旋转角度符合用户的需求,则无需用户进行重新配置,能够减少用户操作,提高环绕动画特效的生产效率。
94.需要说明的是,二维环绕参数配置窗口可以仅包括输入框3021,或者,二维环绕参数配置窗口也可以仅包括可视化的输入端口3024,或者,还可以如图3b中所示,同时将提供两种配置方式(即,输入第一旋转角度的方式和通过输入端口3024接收第一旋转角度的方式)供用户选择,当然,还可以采用其他方式实现。
95.3、环绕速度变化方式配置项303
96.其中,环绕速度变化方式是指环绕对象在一个环绕周期中的速度变化方式。环绕速度变化方式可以包括但不限制于线性、先快后慢、先慢后快、慢入慢出等等方式。
97.一种可能的实现方式,参照图3b所示,环绕速度变化方式配置项 303:控件3031,当接收到针对控件3031的用户操作(如点击操作) 时,可参照图3c所示,二维环绕参数配置窗口中显示菜单栏3032,菜单栏3032中提供多种环绕速度变化方式。用户可以选择菜单栏中提供的选项,配置环绕速度变化方式。
98.另一种可能的实现方式,参照图3d所示,二维环绕参数配置窗口中,环绕速度变化方式配置项303包括:区域3033;其中,区域3033 包括多种环绕速度变化方式对应的区域,每种环绕速度变化方式对应包括环绕速度变化方式的名称以及控件3034,控件3034用于标识其对应的环绕速度变化方式的选中状态。
99.在图3d所示的情况下,若其中一种环绕速度变化方式对应的控件为选中状态,则其他所有的环绕速度变化方式对应的控件均为未选中状态。
100.可选地,结合图3b至图3d所示的情况,环绕速度变化方式配置项303可以包括输入端口3035,其中,输入端口3035用于接收其他模块或组件传递的环绕速度变化方式的配置信息。
101.这里所指的“其他模块或组件”可以但不限于为计时器、事件检测组件等等。在实际进行环绕动画特效制作时,将想要关联的可视化模块或组件提供的交互接口与输入端口3035连接即可,连接的具体实现方式与前述将2d变换组件与2d变换组件配置项连接的实现方式类似。
102.假设需要在检测到摇头事件时,将环绕对象的环绕速度变化方式配置为慢入慢出。示例性地,参照图3g所示,摇头事件检测组件m3 的输出端口z1与输入端口3035通过线条连接,摇头事件检测组件m3 检测到摇头事件时,向输入端口3035传递指示信息,以配置环绕速度变化方式为慢入慢出。
103.可选地,二维环绕参数配置窗口300中,环绕速度变化方式配置项303可以显示默认的环绕速度变化方式。若该默认的环绕速度变化方式符合用户的需求,则无需用户进行重新配置,能够减少用户操作,提高环绕动画特效的生产效率。
104.需要说明的是,二维环绕参数配置窗口300中,环绕速度变化方式配置项303可以采用如图3b结合图3c中所示的通过触发操作显示菜单栏后,在菜单栏提供的选项中进行选择的方式,也可以采用如图 3d中所示默认显示菜单栏的方式,或者,还可以采用通过输入端口3035 接收环绕速度变化方式的方式,或者,还可以通过其他方式实现。
105.4、目标单次环绕时长配置项304
106.其中,目标单次环绕时长表示旋转完一个环绕周期所需要的时间。
107.一种可能的实现方式,参照图3b所示,目标单次环绕时长配置项 304:可以包括输入框3041。用户可以通过操作输入框3041,输入目标单次环绕时长。
108.另一种可能的实现方式,参照图3e所示,目标单次环绕时长配置项304可以包括控件3042,当检测到用户针对控件3042的操作(如点击操作)时,在二维环绕参数配置窗口中显示菜单栏3043;菜单栏3043 提供多种不同的单次环绕时长,用户可以选择菜单栏中提供的选项,配置目标单次环绕时长。
109.在图3e所示的情况下,若其中一种单次环绕时长为选中状态,则其他所有的单次环绕时长均为未选中状态。其中,选中的单次环绕时长即为目标单次环绕时长。
110.可选地,二维环绕参数配置窗口中,目标单次环绕时长配置项304 可以显示默认的目标单次环绕时长。若该默认的目标单次环绕时长符合用户的需求,则无需用户进行重新配置,能够减少用户操作,提高环绕动画特效的生产效率。
111.可选地,结合图3b以及图3e所示的情况,目标单次环绕时长配置项304可以包括输入端口3044,其中,输入端口3044用于接收其他模块或组件传递的目标单次环绕时长的配置信息。
112.这里所指的“其他模块或组件”可以但不限于为加法计算模块、减法计算模块、除法计算模块、随机数生成模块等等。在实际进行环绕动画特效制作时,将想要关联的可视化模块或组件提供的交互接口与输入端口3044连接即可,连接的具体实现方式与前述将2d变换组件与2d变换组件配置项连接的实现方式类似。
113.示例性地,参照图3g所示,乘法运算模块m4的输出端口z2与输入端口3044通过线
条连接,乘法运算模块m4包括输入框z3和输入框 z4,乘法运算模块m4对输入框z3和输入框z4中的两个数值进行乘法计算,并将乘法计算结果传递给输入端口3044,以配置目标单次环绕时长。
114.需要说明的是,二维环绕参数配置窗口300中,目标单次环绕时长配置项304可以采用如图3b中所示输入目标单次环绕时长的方式,也可以采用如图3e中所示通过在菜单栏提供的选项中进行选择的方式,也可以采用通过输入端口3044接收目标单次环绕时长的方式,或者,还可以通过其他方式实现。
115.5、目标环绕次数配置项305
116.其中,目标环绕次数表示环绕对象需要完成的环绕周期的总数。
117.一种可能的实现方式,参照图3b所示,目标环绕次数配置项305:可以包括输入框3051,用户可以通过操作输入框3051,输入目标环绕次数。
118.可选地,目标环绕次数配置项305还可以包括控件3052和控件 3053;其中,控件3052用于调大输入框3051中显示的目标环绕次数的值;控件3053用于调小输入框3051中显示的目标环绕次数的值。
119.在实际应用中,输入框3051中可以显示默认的目标环绕次数。
120.另一种可能的实现方式,参照图3f所示,目标环绕次数配置项305 可以包括控件3054;当检测到用户针对控件3054的操作(如点击操作) 时,如图3f所示,二维环绕参数配置窗口中显示菜单栏3055;菜单栏 3055提供多种环绕次数。用户通过选择菜单栏3055中提供的选项,配置目标环绕次数。
121.在另一种可能的实现方式,目标环绕次数配置项305可以包括:显示框和滚动条,显示框中显示滚动条中的数值。用户可以通过滑动操作调整滚动条中的数值,从而配置目标环绕次数。
122.可选地,结合图3b以及图3f所示的情况,目标环绕次数配置项 305可以包括输入端口3056,其中,输入端口3056用于接收其他模块或组件传递的目标环绕次数的配置信息。
123.这里所指的“其他模块或组件”可以但不限于为加法计算模块、减法计算模块、除法计算模块、随机数生成模块等等。在实际进行环绕动画特效制作时,将想要关联的可视化模块或组件提供的交互接口与输入端口3056连接即可,连接的具体实现方式与前述将2d变换组件与2d变换组件配置项连接的实现方式类似。
124.示例性地,参照图3g所示,将除法运算模块m5的输出端口z5与输入端口3056通过线条连接,除法运算模块m5包括输入框z6和输入框z7,除法运算模块m5对输入框z6和输入框z7中的两个数值进行除法计算,并将除法计算结果传递给输入端口3056,以配置目标单次环绕时长。
125.可选地,二维环绕参数配置窗口300中,目标环绕次数配置项305 可以显示一默认的目标环绕次数。若该默认的目标环绕次数符合用户的需求,则无需用户进行重新配置,能够减少用户操作,提高环绕动画特效的生产效率。
126.需要说明的是,二维环绕参数配置窗口300中,目标环绕次数配置项可以采用如图3b中所示的输入目标环绕次数的方式,也可以采用如图3f中所示的通过在菜单栏提供的选项中进行选择的方式,也可以采用通过输入端口3056接收目标环绕次数的方式,或者,还可以通过其他方式实现。
127.应理解,在实际应用中,上述图3c至图3f中所示的各配置项的实现方式可以结合使用。
128.本方案中,二维环绕参数配置窗口中提供了用于生成目标二维环绕动画特效的各配置项供用户操作,若各配置项对应的默认值符合需求,则用户可以无需进行修改;若各配置项对应的默认值不符合需求,则可根据用户操作进行重新配置。
129.s203、根据所述多个配置项的配置信息,生成目标二维环绕动画特效的配置文件;所述目标二维环绕动画特效为所述环绕对象沿环绕点在二维平面上进行环绕的动画特效。
130.本方案中,目标二维环绕动画特效为环绕对象在环绕平面上,沿以环绕点为旋转中心进行旋转的动画特效。
131.具体地,针对环绕对象,将关联的二维环绕参数配置窗口中显示的各配置项的配置信息存储至该二维环绕参数配置窗口对应的特效脚本模板中,获得该环绕对象对应的特效脚本片段。
132.若要生成的目标二维环绕动画特效包括一个环绕对象,则根据该环绕对象对应的特效脚本片段,生成目标二维环绕动画特效的配置文件。
133.若要生成的目标二维环绕动画特效包括多个环绕对象,则针对每个环绕对象,采用类似的方式,能够获得每个环绕对象对应的特效脚本片段;接着,将多个环绕对象分别对应的脚本片段进行拼接,获得目标二维环绕动画特效的配置文件。
134.本实施例提供的方法,通过将制作二维环绕动画特效的需求进行封装,并向用户提供可视化的二维环绕参数配置窗口,方便用户操作。在用户将承载环绕对象的组件与二维环绕参数配置窗口关联之后,可通过操作二维环绕参数配置窗口中提供的配置项,配置环绕对象对应的二维环绕参数。之后,再根据环绕对象关联的二维环绕参数配置窗口中各配置项的配置信息,自动生成目标二维环绕动画特效的配置文件。与现有技术中,手写脚本的方式相比,本实施例提供的方法,更加方便快捷,能够有效提高二维环绕动画特效的生产效率。另外,本实施例的方法,能够适用于以任意类型的素材为环绕对象的目标二维环绕动画特效的生产制作中,适用范围较广。
135.在实际的应用场景中,针对目标二维环绕动画特效,可能还需要配置控制目标二维环绕动画特效中环绕对象开始环绕、暂停环绕、继续环绕以及停止环绕的信息。因此,二维环绕参数配置窗口中还可以包括:事件触发类的配置项;其中,事件触发类的配置项可以包括:开始环绕配置项、暂停环绕配置项、继续环绕配置项、停止环绕配置项中的一个或多个。
136.相应地,若用户输入针对第一目标配置项进行配置操作,则目标二维环绕动画特效对应的配置文件还可以包括第一目标配置项的配置信息。第一目标配置项可以包括上述开始环绕配置项、暂停环绕配置项、继续环绕配置项、停止环绕配置项中的一个或多个。
137.若第一目标配置项包括多个配置项,则配置操作包括多个操作。
138.图4a示为本公开另一实施例提供的二维环绕参数配置窗口的界面示意图。参照图4a所示,二维环绕参数配置窗口300还包括:开始环绕配置项306。其中,开始环绕配置项306:用于接收用户输入的控制环绕对象开始进行旋转的配置信息。
139.一种可能的实现方式,开始环绕配置项306包括可视化的输入端口3061;当输入端口3061接收到触发环绕对象开始旋转的信号时,控制环绕对象开始进行旋转。
140.示例性地,假设控制环绕对象开始环绕是通过事件触发。参照图 4b所示,可以通过输入相应的事件检测组件添加指令,在特效编辑界面中添加事件检测组件(如图4b中所示的点击屏幕事件检测组件),并通过关联操作将事件检测组件与开始环绕配置项306的输入端口 3061关联;当事件检测组件检测到相应事件时,事件检测组件向开始环绕配置项306传递指示环绕对象开始旋转的信号。输入端口3061接收该信号,并将配置文件中,该环绕对象对应的特效脚本片段中相应二维环绕参数的配置信息进行修改,当运行该特效脚本片段时,即可控制环绕对象开始旋转。
141.上述触发开始环绕的事件例如可以但不限于为:点击屏幕事件、表情事件(如微笑、张嘴等等)、手势事件、动作事件(如点头、左右转动头部)等等。
142.可选地,开始环绕配置项306:包括控件3062;当接收到用户针对控件3062的操作(如点击操作)时,控制环绕对象开始进行旋转。
143.应理解,在生产制作环绕动画特效的过程中,控件3062可以方便用户进行操作,例如,用户预览目标二维环绕动画特效时,可通过点击控件3062控制环绕对象开始进行旋转。
144.参照图4a所示,二维环绕参数配置窗口300还可以包括:暂停环绕配置项307。其中,暂停环绕配置项307:用于接收用户输入的控制环绕对象暂停旋转的配置信息。
145.一种可能的实现方式,暂停环绕配置项307包括可视化的输入端口3071;当输入端口3071接收到触发环绕对象暂停旋转的信号时,控制环绕对象暂停旋转。
146.示例性地,假设控制环绕对象暂停环绕是通过事件触发。参照图 4b所示,可以通过输入相应的事件检测组件添加指令,在特效编辑界面中添加事件检测组件(如图4b中所示的右眼眨眼事件检测组件),并通过关联操作将事件检测组件与暂停环绕配置项307的输入端口 3071关联;当事件检测组件检测到相应事件时,事件检测组件向暂停环绕配置项307传递指示环绕对象暂停环绕的信号。输入端口3071接收该信号,并将配置文件中,该环绕对象对应的特效脚本片段中相应二维环绕参数的配置信息进行修改,并通过运行该特效脚本片段,即可控制环绕对象暂停旋转。
147.上述触发暂停环绕的事件例如可以为:点击屏幕事件、表情事件 (如微笑、张嘴等等)、手势事件、动作事件(如点头、左右转动头部、眨眼等等)等等。
148.可选地,暂停环绕配置项307:包括控件3072;当接收到用户针对控件3072的操作(如点击操作)时,控制环绕对象暂停旋转。
149.应理解,在生产制作环绕动画特效的过程中,控件3072可以方便用户进行操作,例如,用户预览目标二维环绕动画特效的过程中,可通过点击控件3072控制环绕对象暂停旋转。
150.参照图4a所示,二维环绕参数配置窗口包括:继续环绕配置项308。其中,继续环绕配置项308:用于接收用户输入的控制环绕对象由暂停位置开始继续进行旋转的配置信息。
151.一种可能的实现方式,继续环绕配置项308包括可视化的输入端口3081;当输入端口3081接收到触发环绕对象继续旋转的信号时,控制环绕对象由暂停位置开始继续旋转。
152.示例性地,假设触发继续环绕的事件为点击屏幕,参照图4b所示,可以通过输入相应的事件检测组件添加指令,在特效编辑界面中添加事件检测组件(如图4b中所示的点击屏幕事件检测组件),并通过关联操作将事件检测组件与继续环绕配置项308的输入端口关联;当事件检测组件检测到相应事件时,事件检测组件向继续环绕配置项308 传递指示环
绕对象继续环绕的信号。输入端口3081接收该信号,并将配置文件中,该环绕对象对应的特效脚本片段中相应二维环绕参数的配置信息进行修改,并通过运行该特效脚本片段,即可控制环绕对象继续旋转。
153.上述触发继续环绕的事件例如可以但不限于为:点击屏幕事件、表情事件(如微笑、张嘴等等)、手势事件、动作事件(如点头、左右转动头部)等等。
154.在环绕对象处于暂停环绕的状态下,当检测单元检测到用户点击屏幕的操作时,检测单元向输入端口3081发送触发环绕对象继续旋转的信号,输入端口3081接收并根据该信号控制环绕对象由暂停位置开始继续旋转。
155.可选地,继续环绕配置项308:包括控件3082;当接收到用户针对控件3082的操作(如点击操作)时,控制环绕对象由暂停位置开始继续旋转。
156.应理解,在生产制作环绕动画特效的过程中,控件3082可以方便用户进行操作,例如,用户预览目标二维环绕动画特效时,可通过点击控件3082控制环绕对象由暂停位置开始继续旋转。
157.参照图4a所示,二维环绕参数配置窗口300还包括:停止环绕配置项309。其中,停止环绕配置项309:用于接收用户输入的控制环绕对象停止旋转,并恢复至初始位置的配置信息。这里的“初始位置”是指获取环绕对象时设置的环绕对象的位置,可通过2d变换组件获得环绕对象的初始位置。
158.一种可能的实现方式,停止环绕配置项309包括可视化的输入端口3091;当输入端口3091接收到触发环绕对象停止旋转的信号时,控制环绕对象停止旋转,并恢复环绕对象至初始位置。
159.示例性地,假设触发停止环绕的事件为连续双击屏幕,参照图4b 所示,可以通过输入相应的事件检测组件添加指令,在特效编辑界面中添加事件检测组件(如图4b中所示的连续双击屏幕检测组件),并通过关联操作将事件检测组件与停止环绕配置项309的输入端口关联;当事件检测组件检测到相应事件时,事件检测组件向停止环绕配置项 309传递指示环绕对象停止环绕的信号。输入端口3091接收该信号,并将配置文件中,该环绕对象对应的特效脚本片段中相应二维环绕参数的配置信息进行修改,并通过运行该特效脚本片段,即可控制环绕对象停止旋转。
160.上述触发停止环绕的事件例如可以为:点击屏幕事件、表情事件 (如微笑、张嘴等等)、手势事件、动作事件(如点头、左右转动头部、眨眼等等)等等。
161.可选地,停止环绕配置项309:包括控件3092;当接收到用户针对控件3092的操作(如点击操作)时,控制环绕对象停止旋转,并恢复至初始位置。
162.应理解,在生产制作环绕动画特效的过程中,控件3092可以方便用户进行操作,例如,用户预览目标二维环绕动画特效时,可通过点击控件3092控制环绕对象停止旋转,并恢复至初始位置。
163.在实际应用中,触发环绕对象开始环绕、暂停环绕、继续环绕以及停止环绕的事件例如还可以是表情事件、手势事件、或者语音事件等等,并不限于前述描述的点击屏幕事件。
164.本实施例中,通过二维环绕参数配置窗口提供上述开始环绕配置项、暂停环绕配置项、继续环绕配置项以及停止环绕配置项,用户可通过操作相应配置项,输入控制目标二
维环绕动画特效的配置信息,对于用户来说,操作简单便捷。与现有技术中,手写脚本的方式相比,本实施例提供的方法,更加方便快捷,能够有效提高二维环绕动画特效的生产效率。
165.可选地,在图4a所示实施例的基础上,二维环绕参数配置窗口300 还可以包括:环绕对象自转配置项310。其中,环绕对象自转配置项 310:用于接收用户输入的控制环绕对象自转的配置信息。
166.参照图4a所示,环绕对象自转配置项310可以包括:控件3101。
167.当控件3101被打开时,环绕对象沿环绕点进行旋转的过程中,同时进行自转;当控件3101被关闭时,环绕对象沿环绕点旋转的过程中,不进行自转。
168.示例性地,以图1所示的2d环绕动画特效为例,结合图5a、图 5b,说明环绕对象自转和没有自转的情况。假设控件3101被关闭,环绕对象旋转至下一个环绕动画特效帧时,环绕对象未发生自转时,如图5a中所示,环绕对象的水平方向与xy坐标系的横向之间不处于平行,环绕对象的竖直方向与xy坐标系的纵向之间也不处于平行;假设控件3101被打开,环绕对象旋转至下一个环绕动画特效帧时,环绕对象如图5b所示,环绕对象的水平方向与xy坐标系的横向之间处于平行,环绕对象的竖直方向与xy坐标系的纵向之间也处于平行。在实际应用中,可根据需求设置控件3101打开或者关闭。
169.在一些情况下,环绕对象自转配置项310可以包括:可视化的输入端口3102。其中,输入端口3102用于接收其他模块或组件传递的环绕对象自转的配置信息。
170.这里所指的“其他模块或组件”可以但不限于为加法计算模块、减法计算模块、除法计算模块、随机数生成模块、数值比较模块等等。在实际进行环绕动画特效制作时,将想要关联的可视化模块或组件提供的交互接口与输入端口3102连接即可,连接的具体实现方式与前述将2d变换组件与2d变换组件配置项连接的实现方式类似。
171.示例性地,参照图4b所示,特效编辑界面中,数值比较模块m6 的输出端口z8与输入端口3102通过线条连接,数值比较模块m6包括输入框z9和输入框z10,数值比较模块m6对输入框z9和输入框z10 中的两个数值进行数值大小的比较,并将比较结果传递给输入端口 3102,以配置环绕对象自转配置项。
172.需要说明的是,上述配置项301至配置项310可以分别包括一个输入端口,也可以分别包括多个输入端口。
173.在一些情况下,多个环绕对象之间可以相互关联。例如,利用环绕对象a的旋转状态控制环绕对象b的旋转状态;又如,利用环绕对象a的位置配置环绕对象b的环绕点。一些情况下,环绕对象的一些相关信息可能需要传递给环绕动画特效处理装置的一些模块或者部件。因此,环绕对象对应的二维环绕参数配置窗口中还可以包括一些可视化的输出项,例如,开始环绕触发配置项、暂停环绕触发配置项、连续环绕触发配置项、停止环绕触发配置项、位置数据输出配置项、旋转数据输出配置项等等。
174.相应地,若用户输入针对第二目标配置项进行配置操作,则目标二维环绕动画特效对应的配置文件还可以包括第二目标配置项的配置信息。第二目标配置项可以包括开始环绕触发配置项、暂停环绕触发配置项、连续环绕触发配置项、停止环绕触发配置项中的一个或多个。
175.若用户输入针对位置数据输出配置项和/或旋转数据输出配置项的配置操作,则
配置文件还可以包括位置数据输出配置项和/或旋转数据输出配置项的配置信息。
176.下面通过图6a至图6f所示的实施例示例性地对这些输出项进行详细介绍。
177.参照图6a所示,在图4a所示实施例的基础上,二维环绕参数配置窗口300还包括:开始环绕触发配置项311,其中,开始环绕触发配置项311用于检测到所述环绕对象开始进行第一次环绕时,输出用于指示所述环绕对象开始进行第一次环绕的第一信号。
178.一种可能的实现方式,开始环绕触发配置项311包括可视化的输出端口3111。用户可在特效编辑界面中将输出端口3111与要关联的模块或者组件进行连接,从而配置输出端口3111向关联的模块或者组件发送指示环绕对象开始进行环绕的第一信号。
179.示例性地,参照图6b所示,特效编辑界面中包括与环绕对象a关联的二维环绕参数配置窗口p1,和与环绕对象b关联的二维环绕参数配置窗口p2,用户通过操作(如键鼠操作等等)将二维环绕参数配置窗口p1中的开始环绕触发配置项与二维环绕参数配置窗口p2中的开始环绕配置项连接,从而实现当环绕对象a开始旋转时触发环绕对象b 同步旋转。
180.请继续参照图6a所示,在图4a所示实施例的基础上,二维环绕参数配置窗口300还包括:连续环绕触发配置项312;其中,连续环绕触发配置项312用于检测到所述环绕对象开始连续环绕时,输出用于指示环绕对象连续环绕的第二信号。
181.一种可能的实现方式,连续环绕触发配置项312包括可视化的输出端口3121。用户可在特效编辑界面中将输出端口3121与要关联的模块或者组件进行连接,从而配置输出端口3121向关联的模块或者组件发送指示环绕对象连续环绕的第二信号。
182.示例性地,参照图6c所示,图6c中包括与环绕对象a关联的二维环绕参数配置窗口p1,和与环绕对象b关联的二维环绕参数配置窗口 p2,用户通过操作(如键鼠操作等等)将二维环绕参数配置窗口p1中的连续环绕触发配置项与二维环绕参数配置窗口p2中的开始环绕配置项连接,从而实现当环绕对象a开始进入第二个环绕周期时触发环绕对象b开始旋转。
183.参照图6a所示,在图3a所示实施例的基础上,二维环绕参数配置窗口300还包括:暂停环绕触发配置项313,其中,暂停环绕触发配置项313用于检测到所述环绕对象暂停环绕时,输出用于指示所述环绕对象暂停环绕的第三信号。
184.一种可能的实现方式,暂停环绕触发配置项313包括可视化的输出端口3131。用户可在特效编辑界面中将输出端口3131与要关联的模块或者组件进行连接,从而配置输出端口3131向关联的模块或者组件发送指示环绕对象暂停环绕的第三信号。
185.示例性地,参照图6d所示,图6d中包与环绕对象a关联的二维环绕参数配置窗口p1,和与环绕对象b关联的二维环绕参数配置窗口 p2,用户通过操作(如键鼠操作等等)将二维环绕参数配置窗口p1中的暂停环绕触发配置项与二维环绕参数配置窗口p2中的暂停环绕配置项进行连接,从而实现当环绕对象a暂停环绕时触发环绕对象b同步暂停环绕。
186.参照图6a所示,在图3a所示实施例的基础上,二维环绕参数配置窗口300还包括:停止环绕触发配置项314,其中,停止环绕触发配置项314用于检测到所述环绕对象停止环绕时,输出用于指示环绕对象停止环绕的第四信号。
187.一种可能的实现方式,停止环绕触发配置项314包括可视化的输出端口3141。用户可在特效编辑界面中将输出端口3141与要关联的模块或者组件进行连接,从而配置输出端口3141向关联的模块或者组件发送指示环绕对象停止环绕的第四信号。
188.示例性地,参照图6e所示,特效编辑界面中包括环绕对象a关联的二维环绕参数配置窗口p1,和环绕对象b关联的二维环绕参数配置窗口p2,用户通过操作(如键鼠操作等等)将二维环绕参数配置窗口 p1中的停止环绕触发配置项与二维环绕参数配置窗口p2中的开始环绕配置项连接,从而实现当环绕对象a停止环绕时触发环绕对象b开始旋转。
189.参照图6a所示,在图3a所示实施例的基础上,二维环绕参数配置窗口300还包括:位置数据输出配置项315,其中,位置数据输出配置项315用于输出环绕对象在当前显示的环绕动画特效帧中的位置信息(如环绕对象的横向坐标和纵向坐标)。
190.一种可能的实现方式,位置数据输出配置项315包括可视化的输出端口3151。用户可在特效编辑界面中将输出端口3151与要关联的模块或者组件进行连接,从而配置输出端口3151向关联的模块或者组件发送环绕对象的位置数据。
191.示例性地,参照图6f所示,图6f中包括环绕对象a关联的二维环绕参数配置窗口p1,和环绕对象b关联的二维环绕参数配置窗口p2,用户通过操作(如键鼠操作)将二维环绕参数配置窗口p1中的位置数据输出配置项与二维环绕参数配置窗口p2中的环绕点配置项连接,从而实现以环绕对象a在当前环绕动画特效帧的位置数据输出至环绕对象b的环绕点配置项,从而实现将环绕对象a在当前环绕动画特效帧的位置配置为环绕对象b在下一环绕动画特效帧中的环绕点。
192.参照图6a所示,在图3a所示实施例的基础上,二维环绕参数配置窗口300还包括:旋转数据输出配置项316,其中,旋转数据输出配置项316用于输出环绕对象的旋转数据。其中,旋转数据可以包括:环绕对象在当前环绕周期已旋转的角度。
193.一种可能的实现方式,旋转数据输出配置项316包括可视化的输出端口3161。用户可在特效编辑界面中将输出端口3161与要关联的模块或者组件进行连接,从而配置输出端口3161向关联的模块或者组件发送环绕对象的旋转数据。
194.示例性地,参照图6g所示,图6g中包括环绕对象a关联的二维环绕参数配置窗口p1,和可视化的旋转数据监测模块(即图6g中所示的旋转数据监测模块),用户可通过可视化的连线将二维环绕参数配置窗口p1中的旋转数据输出配置项与旋转数据监测模块的输入端口进行连接,从而实现实时监测环绕对象a在当前环绕周期内已旋转的角度。
195.图6b至图6g示例性地以两个环绕对象为例,说明如何将一个环绕对象的二维环绕参数配置窗口中的配置项与另一个环绕对象的二维环绕参数配置窗口的配置项进行关联,从而实现两个环绕对象之间的关联控制。且上述图6b至图6g中关联方式可以单独使用,也可以结合使用。
196.图7为本公开一实施例提供的多个环绕对象的二维环绕参数配置窗口依次关联的结构示意图。具体地,图7所示的特效编辑界面中示出了3个环绕对象的二维环绕参数配置窗口相互关联的情况。假设图7 中的3个环绕对象分别为环绕对象s1、s2、以及s3,其中,环绕对象 s1对应的二维环绕参数配置窗口为r1、环绕对象s2对应的二维环绕参数配置窗口为r2、环绕对象s3对应的二维环绕参数配置窗口为r3。
197.参照图7所示,r1的开始环绕配置项与点击屏幕事件检测组件连接;r1的开始环绕触发配置项与r2的开始环绕配置项连接;r2的开始环绕触发配置项与r3的开始环绕配置项连接。通过图7所示的方式将 3个环绕对象分别对应的二维环绕参数配置窗口进行关联,能够实现当点击屏幕事件检测组件检测到用户点击屏幕的事件时,控制环绕对象 s1、s2、以
及s3同步开始旋转。
198.在实际进行环绕动画特效制作时,若有更多的环绕对象,可采用与图7所示的类似方式,将多个环绕动画特效进行关联。当然,并不限于图7所示的关联方式,也可以通过其他配置项进行关联,
199.图8为本公开一实施例提供的目标二维环绕动画特效的控制原理流程图。示例性地,这里以一个环绕对象为例,目标二维环绕动画特效的控制原理可以包括以下步骤:
200.s301a:检测是否满足开始环绕配置项的配置信息。
201.当检测到满足开始环绕配置项的配置信息时,将开始环绕标识设置为“真”,并获取环绕对象的实际环绕次数。
202.不满足开始环绕配置项的配置信息时,开始环绕标识为“假”。
203.在一些情况下,触发环绕对象开始环绕可能无任何触发条件,那么,配置文件中,开始环绕标识为“真”,而无需检测是否满足开始环绕配置项的配置信息,也就是说,可以省略步骤s301a,直接检测开始环绕标识的状态即可。
204.s301b:获取实际环绕次数。其中,实际环绕次数的初始值为0。
205.s302:确定实际环绕次数是否等于目标环绕次数。若实际环绕次数小于目标环绕次数,则执行步骤s303。若实际环绕次数等于目标环绕次数,则停止环绕。
206.s303:根据环绕对象在第一环绕动画特效帧中的位置、环绕点以及第二旋转角度,获取环绕对象在第二环绕动画特效帧中的位置。
207.其中,第一环绕动画特效帧与第二环绕动画特效帧为相邻的两个环绕动画特效帧,且第一环绕动画特效帧位于第二环绕动画特效帧之前;环绕对象在第一环绕动画特效帧中的位置的初始值为获取环绕对象时设置的环绕对象的位置。
208.其中,获取环绕对象时设置的环绕对象的位置也可以称为环绕对象的初始位置。可选地,环绕对象的初始位置可以通过环绕对象的2d 变换组件中用于承载环绕对象的属性信息的组件获得。
209.一种可能的实现方式,可以包括以下步骤:
210.首先,获取第一环绕动画特效帧与第二环绕动画特效帧之间的时间差。
211.接着,根据目标单次环绕时长、第一旋转角度、环绕速度变化方式、以及第一环绕动画特效帧与第二环绕动画特效帧之间的时间差,进行计算获得第二旋转角度。其中,第二旋转角度是指第一环绕动画特效帧更新为第二环绕动画特效帧时,环绕对象需要旋转的角度。
212.然后,根据环绕对象在第一环绕动画特效帧中的位置、环绕点以及第二旋转角度,获得环绕对象在第二环绕动画特效帧中的位置。具体地,根据环绕点以及第二旋转角度进行计算,获取坐标变换矩阵;然后根据坐标变换矩阵以及环绕对象在第一环绕动画特效帧中的位置,计算获得环绕对象在第二环绕动画特效帧中的位置。
213.下面,结合前述介绍的获取环绕对象在第二环绕动画特效帧中的位置的实现方式以及图9所示的坐标系详细说明。
214.参照图9所示,建立xy坐标系。环绕对象在xy坐标系中,以环绕点o点为旋转中心进行旋转,其中,o点的坐标为(x0,y0)。且环绕对象在单位时间dt内,旋转α角,由p点旋转至p'点,其中,p点的坐标为(x1,y1),p'点的坐标为(x

,y

)。
215.这里所指的单位时间dt即为前文中所述的第一环绕动画特效帧与第二环绕动画特效帧之间的时间差;环绕对象单位时间dt的旋转角度为α,α即为前文中所述的第二旋转角度。
216.第二旋转角度α根据环绕速度变化方式配置项所配置的环绕速度变化方式对应的曲线类型、目标单次环绕时长、单位时间差dt以及第一旋转角度计算获得。
217.α角度的旋转矩阵满足公式(1),公式(1)如下所示:
[0218][0219]
其中,公式(1)同时也是环绕对象自转的旋转矩阵。
[0220]
需要旋转的向量记为
[0221]
旋转之后的向量由矩阵运算得到,满足公式(2):
[0222][0223]
p'点的坐标满足公式(3),公式(3)如下所示:
[0224][0225]
s304:根据环绕对象在第二环绕动画特效帧中的位置,获取第二环绕动画特效帧。
[0226]
具体地,根据环绕对象在第二环绕动画特效帧中的位置,更新2d 变换组件中承载的环绕对象的属性信息(即位置信息),从而获得第二环绕动画特效帧。
[0227]
s305:更新第二环绕动画特效帧为第一环绕动画特效帧。
[0228]
s306:检测环绕对象的实际单次环绕时长,并确定实际单次环绕时长是否等于目标单次环绕时长。
[0229]
若实际单次环绕时长小于目标单次环绕时长,则返回执行步骤 s303至步骤s306;若实际单次环绕时长等于目标单次环绕时长,则执行步骤s307。
[0230]
s307:更新实际环绕次数;并返回执行步骤s301b至步骤s306。具体地,将实际环绕次数的值加1。
[0231]
通过执行上述步骤s301a至步骤s307,直至实际环绕次数等于目标环绕次数时,停止环绕。
[0232]
可选地,在上述过程中,确定实际环绕次数是否等于目标环绕次数时,若确定实际环绕次数等于1,还可以执行步骤s3021:根据开始环绕触发配置项的配置信息,向第一目标输入端口发送用于指示环绕对象开始环绕的第一信号。
[0233]
其中,第一目标输入端口即为开始环绕触发配置项的输出端口连接的模块或组件的输入端口。
[0234]
可选地,在上述过程中,确定实际环绕次数是否等于目标环绕次数时,若确定实际环绕次数大于1,且小于目标环绕次数时,还可以执行步骤s3022:根据连续环绕触发配置项的配置信息,向第二目标输入端口发送用于指示环绕对象连续环绕的第二信号。
[0235]
其中,第二目标输入端口即为连续环绕触发配置项的输出端口连接的模块或组件
的输入端口。
[0236]
可选地,在上述过程中,确定实际环绕次数等于目标环绕次数时,还可以执行步骤s3023:若实际环绕次数等于目标环绕次数,则根据停止环绕触发配置项的配置信息,向第三目标输入端口发送用于指示环绕对象停止环绕的第四信号。
[0237]
其中,第三目标输入端口即为停止环绕触发配置项的输出端口连接的模块或组件的交互接口。
[0238]
可选地,执行步骤s303之后,还可以包括:
[0239]
s3031:输出旋转数据。
[0240]
具体地,向第四目标输入端口发送环绕对象的旋转数据,其中,旋转数据包括环绕对象在当前环绕周期中已旋转的角度。
[0241]
第四目标输入端口为特效编辑界面中环绕对象关联的旋转数据输出配置项连接的模块或组件的输入端口。
[0242]
可选地,还可以包括:
[0243]
s3032:确定环绕对象是否自转。若是,则执行s3033。
[0244]
s3033:控制环绕对象自转。
[0245]
具体地,可根据环绕对象自转配置项的配置信息确定是否需要控制环绕对象进行自转。若确定环绕对象需要进行自转,则根据上述公式(1)中的旋转矩阵,控制环绕对象进行自转。
[0246]
进一步地,还可以包括:
[0247]
s3034:输出所述环绕对象的位置数据。
[0248]
具体地,向第五目标输入端口发送环绕对象的位置数据。其中,环绕对象的位置数据包括环绕对象在第二环绕动画特效帧中的位置。
[0249]
其中,第五目标输入端口为特效编辑界面中环绕对象关联的位置数据输出配置项连接的模块或组件的输入端口。
[0250]
可选地,在上述过程中,若检测到满足暂停环绕配置项的配置信息,则将开始环绕标识设置为“假”,将暂停环绕标识设置为“真”,并控制环绕对象暂停环绕。若暂停环绕触发配置项连接有相应的端口,则向与暂停环绕触发配置项连接的端口发送指示环绕对象暂停环绕的信号。
[0251]
可选地,假设环绕对象处于暂停环绕状态,若检测到满足继续环绕配置项的配置信息,则将开始环绕标识设置为“真”,将暂停环绕标识设置为“假”,并控制环绕对象由暂停位置开始继续环绕。
[0252]
可选地,在上述过程中,若检测到满足停止环绕配置项的配置信息,则将开始环绕标识设置为“假”,将停止环绕标识设置为“真”,并控制环绕对象暂停环绕,并根据2d变换组件中承载环绕对象的属性信息的组件,获取环绕对象的初始位置,将环绕对象恢复至初始位置。
[0253]
上述过程是针对一个环绕对象,更新环绕动画特效帧的实现原理,若目标二维环绕动画特效中包括多个环绕对象,则针对每个环绕对象执行上述过程,从而可以同步进行更新。
[0254]
示例性地,本公开提供一种环绕动画特效处理装置。
[0255]
图10为本公开一实施例提供的环绕动画特效处理装置的结构示意图。如图10所示,本实施例提供的环绕动画特效处理装置1000包括:
[0256]
获取模块1001,用于获取环绕对象。
[0257]
显示模块1002,用于显示二维环绕参数配置窗口。
[0258]
第一处理模块1003,用于将所述环绕对象与所述二维环绕参数配置窗口进行关联;其中,所述二维环绕参数配置窗口包括用于生成二维的目标二维环绕动画特效的多个配置项;以及根据所述多个配置项的配置信息,生成目标二维环绕动画特效的配置文件;目标二维环绕动画特效为环绕对象沿环绕点在二维平面上进行环绕的动画特效。
[0259]
在一些可能的设计中,所述多个配置项包括:环绕点配置项、目标单次环绕时长配置项、第一旋转角度配置项、环绕速度变化方式配置项、目标环绕次数配置项以及自转配置项中的多个;其中,第一旋转角度为环绕对象在目标单次环绕时长内旋转的角度。
[0260]
在一些可能的设计中,所述多个配置项还包括:开始环绕配置项、暂停环绕配置项、继续环绕配置项以及停止环绕配置项中的一个或多个。
[0261]
在一些可能的设计中,获取模块1001,还用于接收用户输入的针对第一目标配置项的配置操作;第一处理模块1003,用于根据针对所述第一目标配置项的配置操作,获取所述第一目标配置项对应的配置信息;所述配置文件还包括所述第一目标配置项对应的配置信息;其中,第一目标配置项包括开始环绕配置项、暂停环绕配置项、继续环绕配置项以及停止环绕配置项中的一个或多个。
[0262]
在一些可能的设计中,所述多个配置项还包括:开始环绕触发配置项、暂停环绕触发配置项、连续环绕触发配置项、停止环绕触发配置项、位置数据输出配置项以及旋转数据输出配置项中的一个或多个。
[0263]
在一些可能的设计中,获取模块1001,还用于接收用户输入的针对所述第二目标配置项的配置操作;第一处理模块1003,用于根据针对所述第二目标配置项的配置操作,获取所述第二目标配置项对应的配置信息;所述配置文件还包括所述第二目标配置项的配置信息;其中,第二目标配置项包括开始环绕触发配置项、暂停环绕触发配置项、连续环绕触发配置项以及停止环绕触发配置项中的一个或多个。
[0264]
在一些可能的设计中,环绕动画特效处理装置1000还包括:第二处理模块1004,用于根据所述目标二维环绕动画特效的配置文件,更新环绕动画特效帧。
[0265]
相应地,显示模块1002,还用于显示所述环绕动画特效帧。
[0266]
在一些可能的设计中,第二处理模块1004,具体用于执行以下步骤:
[0267]
步骤(a)获取所述环绕对象的实际环绕次数,并确定所述实际环绕次数是否小于所述目标环绕次数;所述实际环绕次数的初始值为0;
[0268]
步骤(b)若所述实际环绕次数小于所述目标环绕次数,则根据所述环绕对象在第一环绕动画特效帧中的位置、所述环绕点配置项、所述目标单次环绕时长配置项、所述第一旋转角度配置项以及所述环绕速度变化方式配置项的配置信息,获取所述环绕对象在第二环绕动画特效帧中的位置;其中,所述第一环绕动画特效帧与所述第二环绕动画特效帧为相邻的两个环绕动画特效帧,且所述第一环绕动画特效帧位于所述第二环绕动画特效帧之前;所述环绕对象在第一环绕动画特效帧中的位置的初始值为获取所述环绕对象时设置的所述环绕对象的位置;
[0269]
步骤(c)根据所述环绕对象在所述第二环绕动画特效帧中的位置,获取所述第二环绕动画特效帧;
[0270]
步骤(d)更新所述第二环绕动画特效帧为第一环绕动画特效帧,并检测所述环绕对象的实际单次环绕时长;
[0271]
若所述实际单次环绕时长小于所述目标单次环绕时长,返回执行步骤(b)至步骤(d),直至所述实际单次环绕时长等于所述目标单次环绕时长,更新所述实际环绕次数,并返回执行步骤(a)至步骤(d),直至所述实际环绕次数等于所述目标环绕次数;
[0272]
若所述实际单次环绕时长等于所述目标单次环绕时长,更新所述实际环绕次数,并返回执行步骤(a)至步骤(d),直至所述实际环绕次数等于所述目标环绕次数。
[0273]
在一些可能的设计中,第二处理模块1004,具体用于获取所述第一环绕动画特效帧与所述第二环绕动画特效帧之间的时间差;
[0274]
根据所述目标单次环绕时长配置项的配置信息、所述第一旋转角度配置项的配置信息、所述环绕速度变化方式配置项的配置信息、以及所述时间差,获取所述第二旋转角度;
[0275]
根据所述环绕对象在第一环绕动画特效帧中的位置、所述环绕点配置项的配置信息、以及所述第二旋转角度,获取坐标转换矩阵;
[0276]
根据所述坐标转换矩阵以及所述环绕对象在第一环绕动画特效帧中的位置,获取所述环绕对象在第二环绕动画特效帧中的位置。
[0277]
在一些可能的设计中,若所述配置文件包括环绕对象自转配置项的配置信息,且所述环绕对象自转配置项的配置信息指示所述环绕对象进行自转,第二处理模块1004,还用于根据所述坐标转换矩阵,控制所述环绕对象在第二环绕动画特效帧进行自转。
[0278]
在一些可能的设计中,若配置文件包括暂停环绕配置项的配置信息,第二处理模块1004,还用于运行配置文件时,若检测到满足所述暂停环绕配置项的配置信息,控制所述环绕对象暂停环绕。
[0279]
在一些可能的设计中,若配置文件包括继续环绕配置项的配置信息,第二处理模块1004,还用于运行配置文件时,若检测到满足所述继续环绕配置项的配置信息,控制所述环绕对象由暂停位置开始继续环绕;其中,所述暂停位置为所述环绕对象暂停环绕时的位置。
[0280]
在一些可能的设计中,若配置文件包括停止环绕配置项的配置信息,第二处理模块1004,还用于运行配置文件时,若检测到满足停止环绕配置项的配置信息时,控制所述环绕对象停止环绕,并恢复至获取所述环绕对象时设置的所述环绕对象的位置。
[0281]
若所述配置文件包括第二目标配置项的配置信息,第二处理模块 1004,还用于运行配置文件时,若检测到满足所述第二目标配置项的配置信息时,输出所述第二目标配置项对应的目标信号;
[0282]
其中,若所述第二目标配置项包括所述开始环绕触发配置项,则所述目标信号包括指示所述环绕对象开始进行环绕的信号;若所述第二目标配置项包括所述暂停环绕触发配置项,则所述目标信号包括指示所述环绕对象暂停环绕的信号;若所述第二目标配置项包括所述连续环绕触发配置项,则所述目标信号包括指示所述环绕对象连续环绕的信号;若所述第二目标配置项包括所述停止环绕触发配置项,则所述目标信号包括指示所述环绕
对象停止环绕的信号。
[0283]
在一些可能的设计中,若所述配置文件包括位置数据输出配置项的配置信息,第二处理模块1004,还用于根据所述位置数据输出配置项的配置信息,输出所述环绕对象的位置数据,所述位置数据包括所述环绕对象在所述第一环绕动画特效帧中的位置。
[0284]
在一些可能的设计中,若所述配置文件包括旋转数据输出配置项的配置信息,第二处理模块1004,还用于根据所述旋转数据输出配置项的配置信息,输出所述环绕对象的旋转数据,所述旋转数据包括所述环绕对象在当前环绕周期内已旋转的角度。
[0285]
本实施例提供的装置可以用于执行上述任一方法实施例中的技术方案,其实现原理以及技术效果类似,可参照前述方法实施例中的详细描述,简明起见,此处不再赘述。
[0286]
图11为本公开一实施例提供的电子设备的结构示意图。参照图11 所示,本实施例提供的电子设备1100包括:存储器1101、处理器1102。
[0287]
其中,存储器1101可以是独立的物理单元,与处理器1102可以通过总线1103连接。存储器1101、处理器1102也可以集成在一起,通过硬件实现等。
[0288]
存储器1101用于存储程序指令,处理器1102调用该程序指令,执行以上任一方法实施例的技术方案。
[0289]
可选地,当上述实施例的方法中的部分或全部通过软件实现时,上述电子设备1100也可以只包括处理器1102。用于存储程序的存储器 1101位于电子设备1100之外,处理器1102通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。
[0290]
处理器1102可以是中央处理器(central processing unit,cpu),网络处理器(network processor,np)或者cpu和np的组合。
[0291]
处理器1102还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。
[0292]
存储器1101可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);存储器还可以包括上述种类的存储器的组合。
[0293]
本公开还提供一种计算机可读存储介质,计算机可读存储介质中包括计算机程序指令,所述计算机程序指令在被电子设备的至少一个处理器执行时,以执行以上任一方法实施例的技术方案。
[0294]
本公开还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,所述电子设备的至少一个处理器可以从所述可读存储介质中读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得所述电子设备执行以上任一方法实施例的技术方案。
[0295]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在
涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0296]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1