拖尾视觉效果的生成方法、视频的生成方法、电子设备转让专利

申请号 : CN202011584142.9

文献号 : CN112700518B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭燚薛晓乐潘嘉荔

申请人 : 北京字跳网络技术有限公司

摘要 :

一种基于粒子流的拖尾视觉效果的生成方法、一种视频的生成方法、电子设备、非瞬时性计算机可读存储介质。该基于粒子流的拖尾视觉效果的生成方法包括:获取粒子流的延伸轨迹;在用于生成拖尾视觉效果的三维空间中,根据延伸轨迹,生成用于形成粒子流的多个粒子;对多个粒子进行渲染,以得到多个粒子图元模型;基于多个粒子图元模型,生成拖尾视觉效果。该基于粒子流的拖尾视觉效果的生成方法可以沿着粒子流的延伸轨迹产生粒子,形成拖尾视觉效果。

权利要求 :

1.一种基于粒子流的拖尾视觉效果的生成方法,包括:

获取所述粒子流的延伸轨迹;

在用于生成所述拖尾视觉效果的三维空间中,根据所述延伸轨迹,生成用于形成所述粒子流的多个粒子;

对所述多个粒子进行渲染,以得到多个粒子图元模型;

基于所述多个粒子图元模型,生成所述拖尾视觉效果,其中,在第一时刻,所述拖尾视觉效果呈现为第一拖尾视觉效果,在第二时刻,所述拖尾视觉效果呈现为第二拖尾视觉效果,所述第二拖尾视觉效果呈现为所述第一拖尾视觉效果沿着所述延伸轨迹不断移动和变化后得到,所述第一时刻早于所述第二时刻;

其中,所述多个粒子图元模型中用于以可视方式构成所述拖尾视觉效果的至少部分粒子图元模型沿所述延伸轨迹依次产生并且在显示预设时间后按照生成顺序依次消失,所述多个粒子中与所述至少部分粒子图元模型对应的粒子沿所述延伸轨迹依次生成,其中,所述多个粒子图元模型中用于以可视方式构成所述拖尾视觉效果的至少部分粒子图元模型沿所述延伸轨迹依次产生并且在显示预设时间后按照生成顺序依次消失,包括:设置所述至少部分粒子图元模型的生命周期大于或等于所述预设时间,以使得所述至少部分粒子图元模型至少显示所述预设时间后按照生成顺序依次消失,所述每个粒子还具有生命周期属性,所述生命周期属性用于表征所述每个粒子对应的粒子图元模型的生命周期;或者在所述至少部分粒子图元模型显示预设时间后,按照生成所述多个粒子的顺序,依次将所述至少部分粒子图元模型的透明度调整为完全透明,其中,所述至少部分粒子图元模型的生命周期大于所述预设时间。

2.根据权利要求1所述的方法,其中,根据所述延伸轨迹,生成用于形成所述粒子流的多个粒子,包括:沿着所述延伸轨迹等间距地生成所述多个粒子或随机间距地生成所述多个粒子;或者沿着所述延伸轨迹等时间间隔地生成所述多个粒子或随机时间间隔地生成所述多个粒子。

3.根据权利要求2所述的方法,其中,获取所述粒子流的延伸轨迹,包括:获取待处理视频;

检测所述待处理视频中的目标对象;

确定所述目标对象在所述待处理视频中的移动轨迹;

将所述移动轨迹转换为所述粒子流的延伸轨迹,其中,所述延伸轨迹为所述移动轨迹映射至所述三维空间中的轨迹。

4.根据权利要求3所述的方法,其中,沿着所述延伸轨迹等间距地产生所述多个粒子,包括:所述目标对象沿所述延伸轨迹每移动预定距离,在包括所述目标对象所在的位置的三维区域内随机生成至少一个粒子,以形成所述粒子流。

5.根据权利要求2所述的方法,其中,所述延伸轨迹为预设轨迹,沿着所述延伸轨迹等间距地产生所述多个粒子,包括:

沿所述延伸轨迹,依次在包括所述延伸轨迹上每间隔预定距离的位置的三维区域内随机生成至少一个粒子,以形成所述粒子流。

6.根据权利要求1‑5任一项所述的方法,其中,所述多个粒子中的每个粒子具有至少一个视觉属性,并且,所述至少一个视觉属性至少包括粒子尺寸、粒子颜色、粒子透明度、粒子旋转速度中的一种或多种,所述至少一个视觉属性用于控制所述每个粒子对应的粒子图元模型的视觉效果。

7.根据权利要求6所述的方法,其中,所述粒子图元模型的视觉效果包括所述粒子图元模型的透明度变化。

8.根据权利要求7所述的方法,其中,所述透明度变化包括在所述粒子图元模型的生命周期内,所述粒子图元模型的透明度从第一透明度变至第二透明度再变为第三透明度,其中,所述第一透明度和所述第三透明度均与所述第二透明度不同。

9.根据权利要求7所述的方法,其中,所述透明度变化包括在所述粒子图元模型的生命周期内,所述粒子图元模型的透明度进行周期性变化。

10.根据权利要求7所述的方法,其中,所述透明度变化包括在所述粒子图元模型的生命周期内,所述粒子图元模型的透明度从所述粒子图元模型的生命周期中的第m秒开始进行周期性变化,m为正数。

11.根据权利要求7所述的方法,其中,所述透明度变化包括在所述粒子图元模型的生命周期的前m秒内,所述粒子图元模型的透明度发生变化,从所述粒子图元模型的生命周期中的第m秒开始,所述粒子图元模型的透明度进行透明度峰值逐渐降低的周期性变化,m为正数。

12.根据权利要求6所述的方法,其中,所述粒子图元模型的视觉效果包括所述粒子图元模型的尺寸变化。

13.根据权利要求12所述的方法,其中,所述尺寸变化表示在所述粒子图元模型的生命周期内,所述粒子图元模型的尺寸从第一尺寸变为第二尺寸再变为第三尺寸,其中,所述第一尺寸和所述第三尺寸均小于所述第二尺寸。

14.根据权利要求6所述的方法,其中,所述粒子图元模型的视觉效果包括所述粒子图元模型的旋转变化,所述旋转变化表示在所述粒子图元模型的生命周期内,所述粒子图元模型按照预设旋转速度进行旋转。

15.根据权利要求14所述的方法,其中,所述预设旋转速度为预设范围内的随机值,在所述粒子图元模型的生命周期内,所述预设旋转速度保持不变。

16.一种视频的生成方法,包括:

确定待处理视频中的视觉效果轨迹;

在所述视觉效果轨迹处生成拖尾视觉效果,所述拖尾视觉效果根据如权利要求1‑15任一项所述的生成方法生成;

在所述待处理视频中叠加所述拖尾视觉效果,以生成所述视频。

17.根据权利要求16所述的方法,其中,在所述视觉效果轨迹处生成拖尾视觉效果,包括:将所述拖尾视觉效果映射到所述视觉效果轨迹上,使得所述拖尾视觉效果叠加于所述视觉效果轨迹处。

18.根据权利要求16所述的方法,其中,确定待处理视频中的视觉效果轨迹,包括:响应于在所述待处理视频中检测到目标物体,识别所述目标物体上的特征点作为目标点,根据所述目标点的移动轨迹,确定所述视觉效果轨迹。

19.根据权利要求16所述的方法,其中,所述视觉效果轨迹为预设的视觉效果轨迹。

20.根据权利要求18所述的方法,其中,所述目标物体包括手,所述目标点包括所述手的手指尖,所述方法还包括:

在所述手指尖的移动轨迹处显示所述拖尾视觉效果。

21.一种电子设备,包括:

存储器,用于非瞬时性地存储计算机可读指令;

处理器,配置为运行所述计算机可执行指令,

其中,所述计算机可执行指令被所述处理器运行时实现根据权利要求1‑15任一项所述的基于粒子流的拖尾视觉效果的生成方法。

22.一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据权利要求1‑15中任一项所述的基于粒子流的拖尾视觉效果的生成方法。

说明书 :

拖尾视觉效果的生成方法、视频的生成方法、电子设备

技术领域

[0001] 本公开的实施例涉及一种基于粒子流的拖尾视觉效果的生成方法、视频的生成方法、电子设备和非瞬时性计算机可读存储介质。

背景技术

[0002] 可以采用粒子系统实现数字拖尾视觉效果。三维计算机图形学技术可以在计算机中渲染一个虚拟的三维空间,该三维空间中的三维物体采用离散的数学表达形式(如三角面)来刻画。这些离散的三维物体被称为三维(3D,3‑dimension)模型。在三维空间中,这些三维模型最终所呈现的颜色、质感、光影效果等是通过一系列图形学算法及规则来定义和刻画的。这些定义三维物体以何种颜色进行视觉呈现的算法及封装,通常称为三维模型材质。
[0003] 在三维计算机图形学中,粒子系统可以用于模拟火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹、发光轨迹等特效。然而,在现有技术中,并没有基于粒子系统获得具有逼真视觉效果的拖尾视觉效果的方法。

发明内容

[0004] 提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
[0005] 本公开至少一实施例提供一种基于粒子流的拖尾视觉效果的生成方法,包括:获取所述粒子流的延伸轨迹;在用于生成所述拖尾视觉效果的三维空间中,根据所述延伸轨迹,生成用于形成所述粒子流的多个粒子;对所述多个粒子进行渲染,以得到多个粒子图元模型;基于所述多个粒子图元模型,生成所述拖尾视觉效果。
[0006] 本公开至少一实施例提供一种视频的生成方法,包括:确定待处理视频中的视觉效果轨迹;在所述视觉效果轨迹处生成拖尾视觉效果,所述拖尾视觉效果根据本公开任一实施例所述的拖尾视觉效果的生成方法生成;在所述待处理视频中叠加所述拖尾视觉效果,以生成所述视频。
[0007] 本公开至少一实施例提供一种电子设备,包括:存储器,用于非瞬时性地存储计算机可读指令;处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理器运行时实现根据本公开任一实施例所述的拖尾视觉效果的生成方法。
[0008] 本公开至少一实施例提供一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据本公开任一实施例所述的拖尾视觉效果的生成方法。

附图说明

[0009] 为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
[0010] 图1A为本公开至少一实施例提供的一种拖尾视觉效果的生成方法的示意性流程图;
[0011] 图1B为本公开至少一实施例提供的多个粒子贴图的示意图;
[0012] 图2A为本公开一实施例提供的一种粒子透明度的属性值的变化曲线的示意图;
[0013] 图2B为本公开一实施例提供的一种粒子透明度的属性值的变化曲线的示意图;
[0014] 图2C为本公开一实施例提供的一种第二因子的变化曲线示意图;
[0015] 图2D为本公开一实施例提供的一种粒子透明度的属性值的变化曲线的示意图;
[0016] 图2E为本公开一实施例提供的另一种第二因子的变化曲线的示意图;
[0017] 图3A为本公开至少一实施例提供的一种视频的生成方法的示意性流程图;
[0018] 图3B为本公开至少一实施例提供的一种拖尾视觉效果的示意图;
[0019] 图3C为本公开至少一实施例提供的一种拖尾视觉效果的示意图;
[0020] 图4为本公开至少一实施例提供的一种电子设备的示意性框图;
[0021] 图5为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图;
[0022] 图6为本公开至少一实施例提供的另一种电子设备的结构示意图。

具体实施方式

[0023] 下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0024] 应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0025] 本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0026] 需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0027] 需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0028] 本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0029] 在图形学中,粒子效果指的是一种特殊的渲染效果能力封装。在三维空间中生成一组点集,即多个粒子,然后将点集中的每个粒子替换成3D模型(最常见的是平面模型),然后配合特定材质进行渲染,则可以生成粒子的视觉效果。粒子效果常用来制作视觉特效,如云雾、火焰等。
[0030] CPU(中央处理器,Central Processing Unit)粒子和GPU(图形处理器,Graphics Processing Unit)粒子是实现粒子效果的两种技术手段。
[0031] 粒子效果中的单个粒子都有一个完整的粒子生命周期,即初始化阶段、更新阶段和渲染阶段,渲染阶段结束之后,可以生成与该粒子对应的粒子图元模型。
[0032] 本公开至少一实施例提供一种基于粒子流的拖尾视觉效果的生成方法、电子设备、非瞬时性计算机可读存储介质。该基于粒子流的拖尾视觉效果的生成方法包括:获取粒子流的延伸轨迹;在用于生成拖尾视觉效果的三维空间中,根据延伸轨迹,生成用于形成粒子流的多个粒子;对多个粒子进行渲染,以得到多个粒子图元模型;基于多个粒子图元模型,生成拖尾视觉效果。该基于粒子流的拖尾视觉效果的生成方法可以沿着粒子流的延伸轨迹依次产生粒子,以形成拖尾视觉效果。
[0033] 需要说明的是,本公开实施例提供的拖尾视觉效果的生成方法可被至少部分应用于适当的电子设备上,例如,在一些实施例中,拖尾视觉效果的生成方法可以通过电子设备中安装的应用程序或者通过例如云服务器下载的非安装的应用程序在本地实现。电子设备可以是包括个人计算机、移动终端等,该移动终端可以是手机、平板电脑、可穿戴电子设备、智能家居设备等设备。例如,在一些实施例中,拖尾视觉效果的生成方法也可以通过服务器实现,或者拖尾视觉效果的生成方法中的一部分步骤可以通过服务器(例如云服务器)实现而另一部分步骤可以通过电子设备在本地实现,电子设备例如通过网络(例如无线或有线通信网络)彼此通信。
[0034] 在本公开的实施例中,拖尾视觉效果可以包括显示在电子设备的显示界面上的视觉效果。
[0035] 下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
[0036] 图1A为本公开至少一实施例提供的一种基于粒子流的拖尾视觉效果的生成方法的示意性流程图。
[0037] 例如,如图1A所示,该基于粒子流的拖尾视觉效果的生成方法包括步骤S110至S140。
[0038] 在步骤S110,获取粒子流的延伸轨迹。
[0039] 在步骤S120,在用于生成拖尾视觉效果的三维空间中,根据延伸轨迹,生成用于形成粒子流的多个粒子。
[0040] 在步骤S130,对多个粒子进行渲染,以得到多个粒子图元模型。
[0041] 在步骤S140,基于多个粒子图元模型,生成拖尾视觉效果。
[0042] 该基于粒子流的拖尾视觉效果的生成方法可以通过多个粒子图元模型实现拖尾视觉效果,具有丰富且逼真的三维视觉效果,提升用户的视觉体验。在一些实施例中,该基于粒子流的拖尾视觉效果的生成方法可以模拟真实的拖尾效果。在另一些实施例中,还可以通过结合AR(Augmented Reality,增强现实)和目标物体跟踪检测等技术,实现随着目标物体的移动而形成拖尾视觉效果,并在视频中通过例如增强现实技术将拖尾视觉效果与目标物体进行叠加显示的效果。
[0043] 多个粒子基于GPU(图形处理器)粒子技术生成和渲染。由于GPU粒子技术可以支持的粒子数量比CPU多,因此,GPU粒子比较适合用来生成使用到大量粒子的效果,拖尾视觉效果由沿着延伸轨迹不断生成的多个粒子对应的多个粒子图元模型构成,因而GPU粒子技术更适合于生成拖尾视觉效果。
[0044] 例如,拖尾视觉效果可以为三维动态视觉效果。当拖尾视觉效果用于形成视频片段时,视频片段中的各个视频帧中显示的拖尾视觉效果可以彼此各不相同。
[0045] 在一些实施例中,粒子流的延伸轨迹可以根据目标对象的移动确定。例如,步骤S110可以包括:获取待处理视频;获取待处理视频中的目标对象;检测待处理视频中的目标对象;确定目标对象在待处理视频中的移动轨迹;将移动轨迹转换为粒子流的延伸轨迹,其中,延伸轨迹为移动轨迹映射至三维空间中的轨迹。
[0046] 该三维空间可以表示多个粒子所在的虚拟三维空间,该虚拟三维空间可以由一个虚拟三维坐标系确定。需要说明的是,二维平面可以是三维空间的一个特例,即若三维空间的某一个维度为0,则该三维空间即表示一个二维平面,对应地,本公开至少一个实施例的方法所得到的基于粒子流的拖尾视觉效果是在二维平面中渲染得到的。
[0047] 步骤S120可以包括:沿着延伸轨迹等间距地产生多个粒子或随机间距地产生多个粒子;或者沿着延伸轨迹等时间间隔地产生多个粒子或随机时间间隔地产生多个粒子。
[0048] 沿着延伸轨迹等间距地产生多个粒子,可以包括:目标对象沿延伸轨迹每移动预定距离,在包括目标对象所在的位置的三维区域内随机生成至少一个粒子,以形成粒子流。
[0049] 该三维区域可以是球体、正方体、长方体、椭球体等形状,例如,目标对象所在位置可以为三维区域中的任意位置,例如,目标对象所在位置为球体的中心。
[0050] 当目标对象每移动单位距离时产生N个粒子,这里单位距离为前述虚拟三维空间中的单位距离,例如根据虚拟三维空间采用的尺度为虚拟三维空间中的1“米”或其他设置的虚拟单位距离(例如选择为虚拟三维空间的宽度或长度的百分之一),则此时预定距离可以为单位距离与N的比值,即(1/N)米,其中,N为大于或等于1的正整数。也就是说,随着目标对象的不断移动,在目标对象的移动轨迹上不断生成新的粒子。
[0051] 在另一些实施例中,延伸轨迹为预设轨迹。例如,延伸轨迹为预先设定的心形轨迹、五角星轨迹、文字轨迹等,沿着预设的延伸轨迹生成的拖尾视觉效果可以与待处理视频进行叠加处理,以生成具有拖尾视觉效果的视频片段或动图。
[0052] 沿着延伸轨迹等间距地产生多个粒子,可以包括:沿延伸轨迹,依次在包括延伸轨迹上每间隔预定距离的位置的三维区域内随机生成至少一个粒子,以形成粒子流。
[0053] 多个粒子中的每个粒子具有至少一个视觉属性,并且,至少一个视觉属性至少包括粒子尺寸、粒子颜色、粒子透明度、粒子旋转速度中的一种或多种,该至少一个视觉属性用于控制每个粒子对应的粒子图元模型的视觉效果。也就是说,可以为粒子设置视觉属性,以根据显示需要实现拖尾视觉效果中的各种视觉效果,例如视觉变化。
[0054] 需要说明的是,根据视觉效果的需要,还可以选择粒子属性的其他属性作为视觉属性以达到所需的视觉效果,例如,粒子朝向、粒子位置等,本公开对此不作限制。
[0055] 每个粒子还具有生命周期属性,生命周期属性用于限定每个粒子对应的粒子图元模型的生命周期。
[0056] 例如,在粒子的生命周期内,可以更新粒子的视觉属性的属性值,并基于更新后的粒子的视觉属性的属性值控制粒子对应的粒子图元模型产生相应的视觉变化,从而可以模拟粒子图元模型对应的视觉效果随时间的变化。
[0057] 步骤S130可以包括:基于渲染帧率,更新多个粒子属性的属性值,以得到多个粒子一一对应的多个粒子属性的更新属性值;获取与多个粒子对应的粒子贴图;基于粒子贴图和多个粒子一一对应的多个粒子属性的更新属性值,对多个粒子进行渲染,以得到多个粒子图元模型。
[0058] 图1B示出了多个粒子贴图的示例。如图1B所示,粒子贴图可以包括粒子贴图C21‑C24,本公开的实施例不限于粒子贴图中粒子的具体形状。
[0059] 对于每个粒子,在初始化阶段,电子设备会从各个粒子贴图里随机选择一个粒子贴图对该粒子进行渲染并显示,然后,在该粒子的生命周期中,还会按照一定的切换频率(例如设定的频率或基于时间改变的频率等)随机地或顺序地切换用于渲染的粒子贴图。或者,在对每个粒子进行渲染时,可以从粒子贴图C21‑C24中随机选择一个粒子贴图对该粒子进行渲染,以得到对应的视觉效果。
[0060] 粒子图元模型为基于更新后的视觉属性的属性值生成的面片模型,并基于粒子贴图对面片模型进行渲染得到。例如,粒子贴图可以根据视觉效果的需要任意选择,此外,在每次渲染时可以选择固定的一幅粒子贴图进行渲染,也可以选择不同的粒子贴图进行渲染,本公开对此不作限制。
[0061] 在一个实施例中,步骤S140可以包括:将多个粒子图元模型进行叠加处理以生成粒子流对应的拖尾视觉效果。
[0062] 为形成拖尾视觉效果,多个粒子图元模型中的至少部分粒子图元模型至少显示预设时间,也即沿延伸轨迹依次生成的多个粒子对应的多个粒子图元模型中,用于以可视方式构成拖尾视觉效果的至少部分粒子图元模型需要至少显示一段时间后再消失,从而在视觉上形成拖尾的效果。预设时间可以根据拖尾视觉效果的显示需要确定,例如,在一些实施例中,预设时间为3秒,在另一些实施例中,预设时间可以是10秒。为获得更好的拖尾视觉效果,预设时间可以设置的适当长,例如,预设时间可以是大于3秒的任意时间长度。
[0063] 需要说明的是,本公开中的预设时间限定粒子图元模型需要显示的时间下限,根据显示需要可能存在部分粒子图元模型需要至少显示第一预设时间,部分粒子图元模型需要至少显示第二预设时间,第一预设时间和第二预设时间不相同,此时,预设时间可以为第一预设时间和第二预设时间中的最小值。
[0064] 粒子图元模型从视觉上消失可以通过两种方式实现,例如,一种方式可以通过设置粒子的生命周期大于或等于该预设时间,从而使得粒子对应的粒子图元模型经过生命周期属性所设定的时间后消亡,实现粒子图元模型在视觉上消失的效果。例如,至少部分粒子图元模型的生命周期大于或等于预设时间,例如,粒子图元模型的生命周期可以是一定范围内的随机值,也可以是固定值,例如,预设时间为5秒,粒子图元模型的生命周期可以是大于5秒的任意值,例如,6秒。
[0065] 另一种方式可以通过设置粒子图元模型的透明度在预设时间后调整为完全透明,使得粒子在预设时间后处于不可见状态,产生从视觉上“消失”的效果。例如,粒子的生命周期可能无限长或远大于预设时间,可以在至少部分粒子图元模型显示预设时间后,按照生成多个粒子的顺序,依次将至少部分粒子图元模型的透明度调整为完全透明。例如,按照时间顺序,先生成的粒子先被调整,例如,沿着延伸轨迹依次生成了粒子A、粒子B、粒子C等粒子,首先调整粒子A对应的粒子图元模型的透明度为完全透明,之后调整粒子B对应的粒子图元模型的透明度为完全透明,之后调整粒子C对应的粒子图元模型的透明度为完全透明,以此类推,并且,相邻两个粒子的调整时间间隔可以相等,例如,每间隔第一时间依次调整粒子图元模型的透明度。
[0066] 视觉效果可以包括透明度变化、颜色变化、尺寸变化、旋转变化等,通过具有丰富的视觉效果的粒子图元模型叠加构成拖尾视觉效果,从而获得丰富且逼真的拖尾视觉效果,提升用户的视觉体验。
[0067] 例如,视觉效果包括粒子图元模型的透明度变化,例如,透明度变化由粒子图元模型对应的粒子的粒子透明度的属性值控制。
[0068] 例如,在一些实施例中,透明度变化包括在粒子图元模型的生命周期内,粒子图元模型的透明度从第一透明度变至第二透明度再变为第三透明度,例如,第一透明度和第三透明度均与第二透明度不同。
[0069] 例如,第一透明度和第三透明度可以相同也可以不同,例如,在一些实施例中,第一透明度和第三透明度均可以为完全透明,第二透明度可以为完全不透明,此时,第一透明度和第三透明度均低于第二透明度,粒子图元模型呈现一个渐显渐隐的视觉效果。
[0070] 图2A为本公开一实施例提供的一种粒子透明度的属性值的变化曲线的示意图。如图2A所示,横坐标的坐标值表示粒子已存在时间与粒子的生命周期的比值,例如,粒子的生命周期为10秒,图2A中横坐标值“1”表示粒子已存在10秒,即将消亡,横坐标值“0.1”表示粒子已存在1秒;纵坐标的坐标值表示粒子的粒子透明度的属性值,纵坐标的坐标值“1”表示粒子完全不透明,纵坐标的坐标值“0”表示粒子完全透明,即处于不可见的状态。需要说明的是,这里用0‑1之间的数值表示粒子透明度的属性值,在其他实施例中,也可以采用其他形式的表示方式,本公开对此不作限制。
[0071] 如图2A所示,例如,粒子的生命周期为t秒,该粒子的粒子透明度的属性值在出生后的第a秒达到1,例如,a=0.1*t,此时,该粒子对应的粒子图元模型完全不透明;此后,粒子透明度的属性值逐渐减小,在生命周期结束时,也即出生后的第t秒时,粒子透明度的属性值降为0,此时,该粒子对应的粒子图元模型完全透明。通过如图2A所示的粒子透明度的属性值的变化曲线,在粒子图元模型的生命周期内,可以控制粒子图元模型的透明度先快速变为不透明,此后透明度逐渐降低,最终变为完全透明,即呈现渐显渐隐的视觉效果。
[0072] 例如,在另一些实施例中,第一透明度和第三透明度均可以为完全不透明,第二透明度可以为完全透明,此时,第一透明度和第三透明度均高于第二透明度,粒子图元模型呈现一个渐隐渐显的视觉效果。
[0073] 需要说明的是,在本公开中,透明度越低表示粒子图元模型的透明度越接近完全透明,即粒子图元模型对应的粒子透明度的属性值越趋近于0;相反,透明度越高表示粒子图元模型的透明度越接近完全不透明,即粒子图元模型对应的粒子透明度的属性值越趋近于1。
[0074] 在另一些实施例中,透明度变化包括在粒子图元模型的生命周期内,粒子图元模型的透明度进行周期性变化。例如,当粒子图元模型的透明度呈现为周期性变化时,在视觉上产生了闪烁效果。
[0075] 例如,多个粒子中的第i个粒子的粒子透明度表示为公式(1):
[0076] Bi(t)=abs(sin(rb(i)+t*v))   公式(1)
[0077] 其中,Bi(t)表示第i个粒子在第t时刻的粒子透明度,t表示第i个粒子已存在的时间,sin()表示正弦函数,abs()表示求绝对值,rb(i)表示第i个粒子对应的闪烁节奏随机值,v表示闪烁频率。
[0078] 此时,第i个粒子对应的粒子图元模型的透明度的变化可以由Bi(t)控制,从而在视觉上呈现透明度的周期性变化,产生了闪烁的效果。
[0079] 闪烁频率越大,粒子图元模型在单位时间内的闪烁次数越多。闪烁节奏随机值用于控制粒子图元模型在透明度变化的起始时刻的粒子透明度的属性值,多个粒子图元模型对应的闪烁节奏随机值不同,则多个粒子图元模型在透明度变化的起始时刻的粒子透明度的属性值也不同,从而在视觉上产生多个粒子图元模型具有不同的闪烁节奏的效果。例如,一些粒子图元模型从完全透明的状态开始产生闪烁,一些粒子图元模型从完全不透明的状态开始闪烁。
[0080] 结合图2B为例进行说明。图2B为本公开一实施例提供的一种粒子透明度的属性值的变化曲线的示意图。如图2B所示,横坐标的坐标值表示粒子已存在时间与粒子的生命周期的比值,纵坐标的坐标值表示粒子的粒子透明度的属性值。
[0081] 图2B所示的变化曲线为当公式(1)中的闪烁频率为10、闪烁节奏随机值为0时,基于公式(1)所得到的粒子透明度的属性值的变化。如图2B所示,粒子透明度的属性值在0和1之间周期性变化,也即粒子图元模型的透明度在完全透明和完全不透明之间周期性变化,在视觉上产生了忽亮忽灭的闪烁效果。
[0082] 在另一些实施例中,透明度变化表示在粒子图元模型的生命周期内,粒子图元模型的透明度从粒子图元模型的生命周期中的第m秒开始进行周期性变化,m为正数。
[0083] 例如,多个粒子中的第i个粒子的粒子透明度表示为公式(2):
[0084] Ci(t)=max(Bi(t),D(t)))   公式(2)
[0085] 其中,Ci(t)表示第i个粒子在第t时刻的粒子透明度,t表示第i个粒子已存在的时间,Bi(t)表示第i个粒子对应的第一因子,D(t)表示第i个粒子对应的第二因子,max()表示求最大值,例如,第一因子用于控制粒子图元模型的透明度进行周期性变化,第二因子用于控制粒子图元模型的透明度进行该周期性变化的开始时间,即控制m的具体值。
[0086] 在一些实施例中,第一因子可以通过公式(1)得到,这里不再赘述。
[0087] 图2C为本公开一实施例提供的第二因子的变化曲线示意图。如图2C所示,横坐标的坐标值表示粒子已存在时间与粒子的生命周期的比值,纵坐标的坐标值表示粒子的粒子透明度的属性值。
[0088] 如图2C所示,第二因子控制的粒子图元模型的透明度的变化包括三个阶段,首先在粒子出生时,也即粒子的生命周期中的第0秒,粒子透明度的属性值为1,此时,该粒子对应的粒子图元模型处于完全不透明的状态;之后,在从第0秒到第0.2*t秒之间的第一个阶段,粒子透明度的属性值减小,在粒子的生命周期中的第0.2*t秒时,粒子透明度的属性值变为0.8,此时,该粒子对应的粒子图元模型处于某一透明度的状态;之后,在从第0.2*t秒到第0.3*t秒之间的第二个阶段,粒子透明度的属性值快速降低,在粒子的生命周期中的第0.3*t秒时,粒子透明度的属性值变为0.1,此时,该粒子对应的粒子图元模型处于另一透明度(某一透明度第高于该另一透明度)的状态;最后,在从第0.3*t秒到第t秒之间的第三个阶段,粒子透明度的属性值逐渐从0.1降至0,最终,在该粒子图元模型的生命周期结束时,该粒子对应的粒子图元模型处于完全透明的状态。
[0089] 图2D为本公开一实施例提供的一种粒子透明度的属性值的变化曲线的示意图。如图2D所示,横坐标的坐标值表示粒子已存在时间与粒子的生命周期的比值,纵坐标的坐标值表示粒子的粒子透明度的属性值。
[0090] 例如,该粒子透明度的属性值可以通过公式(2)确定,第一因子可以通过公式(1)确定,第二因子基于图2C所示的变化曲线确定。
[0091] 如图2D所示,通过第一因子和第二因子的共同作用,在粒子的出生时刻至粒子的生命周期中的第0.2*t秒,由于粒子透明度的属性值为第一因子和第二因子中在某时刻的最大值,粒子透明度的属性值整体比较高,使得粒子透明度的属性值处于一个比较高的状态,此时粒子图元模型的闪烁效果不明显;从第0.2*t秒开始,粒子的粒子透明度开始大范围地在0和1之间切换,从而在视觉上使得该粒子对应的粒子图元模型产生闪烁效果。可以看出,通过第二因子可以控制第一因子所产生的闪烁效果的开始时间。
[0092] 在另一些实施例中,可以将前述的透明度变化相结合,以得到更为丰富的视觉效果,例如,透明度变化包括在粒子图元模型的生命周期的前m秒内,粒子图元模型的透明度发生变化,从粒子图元模型的生命周期中的第m秒开始,粒子图元模型的透明度进行透明度峰值逐渐降低的周期性变化,m为正数。
[0093] 在一个实施例中,多个粒子中的第i个粒子的粒子透明度表示为公式(3):
[0094] Ei(t)=max(Bi(t),D(t)))*Ai(t)   公式(3)
[0095] 其中,t表示第i个粒子已存在的时间,Ei(t)表示第i个粒子在第t时刻的粒子透明度,Bi(t)表示第i个粒子对应的第一因子,D(t)表示第i个粒子对应的第二因子,max()表示求最大值,Ai(t)表示第i个粒子对应的第三因子,其中,第一因子用于控制粒子图元模型的透明度进行周期性变化,第二因子用于控制粒子图元模型的透明度进行该周期性变化的开始时间,第三因子用于控制粒子图元模型在每个时刻的峰值透明度从第一透明度变至第二透明度再变为第三透明度,第一透明度和第三透明度均与第二透明度不同。
[0096] 在一些实施例中,公式(3)中的第一因子可以通过公式(1)确定,公式(3)中的第二因子可以与公式(2)中的第二因子作用相同,例如,第二因子可以由如图2C所示的曲线确定,用于控制第一因子所产生的闪烁效果的开始时间。
[0097] 图2E为本公开一实施例提供的另一种第二因子的变化曲线示意图。如图2E所示,横坐标的坐标值表示粒子已存在时间与粒子的生命周期的比值,纵坐标的坐标值表示粒子的粒子透明度的属性值。
[0098] 如图2E所示,第二因子控制的粒子图元模型的透明度的变化也包括三个阶段,首先在从第0秒到第0.25*t秒之间的第一个阶段,粒子透明度的属性值减小,在粒子的生命周期中的第0.25*t秒时,粒子透明度的属性值变为0.8;之后,在从第0.25*t秒到第0.4*t秒之间的第二个阶段,粒子透明度的属性值快速降低,在粒子的生命周期中的第0.4*t秒时,粒子透明度的属性值变为0.17;最后,在从第0.4*t秒到第t秒之间的第三个阶段,粒子透明度的属性值逐渐从0.17降至0,最终,在该粒子图元模型的生命周期结束时,该粒子对应的粒子图元模型处于完全透明的状态。
[0099] 当第三因子为如图2A所示的变化曲线,第二因子为如图2E所示的变化曲线,第一因子通过公式(1)确定(例如为如图2B所示的变化曲线)时,在粒子图元模型的生命周期中的前m秒(例如,m=0.25*t),第二因子的值在大部分情况下均大于第一因子的值,粒子图元模型的透明度主要由第三因子和第二因子决定,此时没有闪烁效果,但是透明度不断变化;此后,从粒子图元模型的生命周期的第m秒开始,由于第一因子的值在大部分情况下均大于第二因子的值,粒子图元模型的透明度主要由第一因子和第三因子决定,此时,透明度变化为闪烁效果与第三因子对应的粒子图元模型的透明度变化相叠加的效果,例如,在一些实施例中,从第m秒至生命周期结束,第三因子的值不断降低,第i个粒子图元模型的透明度不断下降,叠加上第一因子的作用,在透明度不断下降的过程中,第i个粒子图元模型的透明度还具有闪烁的效果,从而呈现出一种逐渐消失且闪烁的视觉效果。
[0100] 需要说明的是,第一因子的变化曲线不限于图2B中所示曲线,此外,第二因子的变化曲线不限于图2E中所示的带有曲率的曲线折线图,也可以为图2C所示的直线折线图,本公开对此不作限制。
[0101] 在一个实施例中,视觉效果包括粒子图元模型的尺寸变化,例如,尺寸变化由粒子图元模型对应的粒子的粒子尺寸的属性值控制。
[0102] 尺寸变化表示在粒子图元模型的生命周期内,粒子图元模型的尺寸从第一尺寸变为第二尺寸再变为第三尺寸,第二尺寸与第一尺寸和第三尺寸均不相等。
[0103] 例如,第一尺寸和第三尺寸小于第二尺寸,也即在粒子图元模型的生命周期内,粒子图元模型的尺寸会有一个从小变大又变小的过程,以此来表现粒子图元模型逐渐出现又逐渐消失的视觉效果。
[0104] 在一个实施例中,视觉效果包括粒子图元模型的旋转变化,例如,旋转变化由粒子图元模型对应的粒子的粒子旋转速度的属性值控制。例如,旋转变化表示在粒子图元模型的生命周期内,粒子图元模型按照预设旋转速度进行旋转。该预设旋转速度即为粒子的粒子旋转速度的属性值。
[0105] 预设旋转速度为预设范围内的随机值,在粒子图元模型的生命周期内,预设旋转速度保持不变。例如,在初始化粒子属性的属性值时,为多个粒子设置不同的粒子旋转速度的初始属性值,以呈现不同的粒子图元模型的旋转速度不同的视觉效果。
[0106] 在一个实施例中,视觉效果包括粒子图元模型的颜色变化,例如,颜色变化由粒子图元模型对应的粒子的粒子颜色的属性值控制。例如,颜色变化表示在粒子图元模型的生命周期内,粒子图元模型的颜色具有变化,例如,在粒子图元模型的生命周期内,粒子图元模型的颜色可以从黄色变为粉色再变为红色,例如具体可以采用RGB值进行设定。
[0107] 本公开至少一实施例还提供一种视频的生成方法。图3A为本公开至少一实施例提供的一种视频的生成方法的示意性流程图。例如,如图3A所示,该视频的生成方法包括步骤S210‑S230。
[0108] 在步骤S210,确定待处理视频中的视觉效果轨迹。
[0109] 在步骤S220,在视觉效果轨迹处生成拖尾视觉效果。
[0110] 在步骤S230,在待处理视频中叠加拖尾视觉效果,以生成视频。
[0111] 例如,在步骤S220中,该拖尾视觉效果可以根据本公开任一实施例所述的基于粒子流的拖尾视觉效果的生成方法生成。
[0112] 在本公开的实施例提供的视频的生成方法中,可以将生成的拖尾视觉效果叠加到待处理视频中,例如,叠加到待处理视频中的视觉效果轨迹处,从而在不同待处理视频上实现拖尾视觉效果,满足各种场景的应用需求。例如,当结合AR技术时,可以实现随诸如指尖等目标物体的移动产生拖尾视觉效果。
[0113] 例如,待处理视频可以为实时拍摄的视频或者预先拍摄并存储的视频。例如,当该视频的生成方法应用到电子设备中时,待处理视频可以为电子设备中存储的视频,也可以为用户实时拍摄的视频;此时,如果拖尾视觉效果是由电子设备本身实现的,则电子设备可以对待处理视频实时进行处理,如果拖尾视觉效果是由服务器实现的,则电子设备中存储的视频或实时拍摄的视频通过网络被上传至服务器,服务器进行拖尾特性处理之后再返回给电子设备。此外,用户还可以将所产生的视频由电子设备通过网络上传至服务器,并通过社交应用发送给其他用户,或向公众发布。
[0114] 根据不同电子设备不同的构造,用户可以通过实体按钮、被显示的触控按钮、语音控制等方式触发视频拍摄事件。
[0115] 例如,用户可以点击触摸显示屏幕上的视频拍摄按钮,从而开始实时拍摄待处理视频。
[0116] 例如,视频拍摄事件可以由用户通过语音进行控制,本公开不对拍摄的触发条件进行限制。
[0117] 例如,在一些实施例中,步骤S210可以包括:响应于在待处理视频中检测到目标物体,识别目标物体上的特征点作为目标点,根据目标点的移动轨迹,确定视觉效果轨迹。
[0118] 例如,目标物体包括手,目标点包括手的手指尖,例如,手指尖可以为食指指尖,该视频的生成方法还包括:在手指尖的移动轨迹处显示拖尾视觉效果。从而在视觉上,可以实现拖尾视觉效果随着手指尖的移动而移动,即实现随指尖的移动产生拖尾视觉效果。例如,手指尖可以为食指指尖等。
[0119] 例如,在一些实施例中,视觉效果轨迹可以为预设的轨迹,例如,心形轨迹、形成特定文字、数字、特定图形等的轨迹等。
[0120] 在一些实施例中,步骤S220可以包括:将拖尾视觉效果映射到视觉效果轨迹上,使得拖尾视觉效果叠加于视觉效果轨迹处。在一个实施例中,电子设备可以基于增强现实AR的技术,将拖尾视觉效果叠加显示于视觉效果轨迹处。
[0121] 例如,在一些实施例中,当视觉效果轨迹为根据用户的手指指尖的移动确定的轨迹时,用户可以点击电子设备的触摸显示屏幕中的视频拍摄按钮,从而开始拍摄视频,或者,用户也可以通过语音控制视频拍摄;当拍摄的视频中包括用户的手指指尖时,则可以随着手指指尖移动,在显示屏幕上形成拖尾视觉效果。例如,当用户的手指指尖移出显示屏幕之外,则拖尾视觉效果从拖尾视觉效果的起始位置开始逐渐消失。由此,可以增加用户在拍摄视频或者观看视频中的体验。
[0122] 例如,在另一些实施例中,当视觉效果轨迹为预设的轨迹时,该拖尾视觉效果可以自动按照一定的速率沿着该预设轨迹不断变化。例如,拖尾视觉效果可以基于检测到待处理视频中具有特定的物体而触发,例如,若特定的物体为食指指尖,视觉效果轨迹可以为围绕用户的食指指尖的心形轨迹,例如,当待处理视频中包括用户的食指指尖时,则可以在用户的食指指尖周围形成拖尾视觉效果,该拖尾视觉效果按照一定的速率沿着该心形轨迹不断循环移动,当在待处理视频中检测不到用户的食指指尖,则拖尾视觉效果消失。
[0123] 例如,在一些实施例中,步骤S230可以包括:将拖尾视觉效果和待处理视频进行叠加并渲染,以生成叠加有该拖尾视觉效果的视频。
[0124] 例如,图3B及图3C为本公开至少一实施例提供的一种拖尾视觉效果的示意图。例如,根据本公开至少一实施例提供的一种视频的生成方法,生成叠加拖尾视觉效果的视频,例如,图3B为在第一时刻时该视频中拖尾视觉效果的示意图,图3C为在第二时刻时该视频中拖尾视觉效果的示意图。
[0125] 例如,该视觉效果轨迹为预设的心形轨迹(或者待处理视频中的用户所画出的心形轨迹),该拖尾视觉效果可以自动按照一定的速率沿着该心形轨迹不断变化,呈现出一种随着沿着心形轨迹移动,不断产生拖尾视觉效果的视觉效果。
[0126] 例如,该拖尾视觉效果由多个粒子图元模型组成,每个粒子图元模型呈现为四角星的形状,每个粒子图元模型具有不同的视觉效果。
[0127] 例如,视觉效果可以包括尺寸变化,由图3B及图3C可以看出,在不同时刻,粒子图元模型的尺寸不同,以此来表现粒子图元模型逐渐出现又逐渐消失的视觉效果。
[0128] 例如,视觉效果可以包括透明度变化,由图3B及图3C可以看出,在不同时刻,粒子模型的透明度不同,例如,可以使得粒子模型具有前述的任一透明度变化,以产生闪烁、渐显渐隐、渐隐渐显等视觉效果。
[0129] 例如,视觉效果可以包括旋转变化,由图3B及图3C可以看出,在不同时刻,粒子模型具有不同的旋转状态,从而产生丰富的视觉效果。
[0130] 本公开一些实施例还提供一种电子设备。图4为本公开至少一实施例提供的一种电子设备的示意性框图。
[0131] 例如,如图4所示,电子设备40包括处理器400和存储器410。应当注意,图4所示的电子设备40的组件只是示例性的,而非限制性的,根据实际应用需要,该电子设备40还可以具有其他组件。
[0132] 例如,处理器400和存储器410之间可以直接或间接地互相通信。
[0133] 例如,处理器400和存储器410可以通过网络进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。处理器400和存储器410之间也可以通过系统总线实现相互通信,本公开对此不作限制。
[0134] 例如,在一些实施例中,存储器410用于非瞬时性地存储计算机可读指令。处理器400用于运行计算机可读指令时,计算机可读指令被处理器400运行时实现根据上述任一实施例所述的基于粒子流的拖尾视觉效果的生成方法。关于该基于粒子流的拖尾视觉效果的生成方法的各个步骤的具体实现以及相关解释内容可以参见上述基于粒子流的拖尾视觉效果的生成方法的实施例,重复之处在此不作赘述。
[0135] 例如,在另一些实施例中,计算机可读指令被处理器400运行时还可以实现根据上述任一实施例所述的视频的生成方法。关于该视频片段的生成方法的各个步骤的具体实现以及相关解释内容可以参见上述视频的生成方法的实施例,重复之处在此不作赘述。
[0136] 例如,处理器400和存储器410可以设置在服务器端(或云端)。
[0137] 例如,处理器400可以控制电子设备40中的其它组件以执行期望的功能。处理器400可以是中央处理器(CPU)、图形处理器(Graphics Processing Unit,GPU)、网络处理器(NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。中央处理元(CPU)可以为X86或ARM架构等。
[0138] 例如,存储器410可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD‑ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器400可以运行所述计算机可读指令,以实现电子设备40的各种功能。在存储介质中还可以存储各种应用程序和各种数据等。
[0139] 例如,在一些实施例中,电子设备40可以为手机、平板电脑、电子纸、电视机、显示器、笔记本电脑、数码相框、导航仪、可穿戴电子设备、智能家居设备等。
[0140] 例如,电子设备40可以包括显示面板,显示面板可以用于显示拖尾视觉效果和叠加有拖尾视觉效果的视频等。例如,显示面板可以为矩形面板、圆形面板、椭圆形面板或多边形面板等。另外,显示面板不仅可以为平面面板,也可以为曲面面板,甚至球面面板。
[0141] 例如,电子设备40可以具备触控功能,即电子设备40可以为触控装置。
[0142] 例如,关于电子设备40执行基于粒子流的拖尾视觉效果的生成方法和视频片段的生成方法的过程的详细说明可以参考基于粒子流的拖尾视觉效果的生成方法和视频的生成方法的实施例中的相关描述,重复之处不再赘述。
[0143] 图5为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图。例如,如图5所示,在存储介质500上可以非暂时性地存储一个或多个计算机可读指令510。
例如,当计算机可读指令510由处理器执行时可以执行根据上文所述的基于粒子流的拖尾视觉效果的生成方法中的一个或多个步骤。又例如,当计算机可读指令510由处理器执行时还可以执行根据上文所述的视频的生成方法中的一个或多个步骤。
[0144] 例如,该存储介质500可以应用于上述电子设备40中。例如,存储介质500可以包括电子设备40中的存储器410。
[0145] 例如,关于存储介质500的说明可以参考电子设备40的实施例中对于存储器410的描述,重复之处不再赘述。
[0146] 下面参考图6,图6示出了适于用来实现本公开实施例的电子设备(例如电子设备可以包括上述实施例描述的显示设备)600的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴电子设备等等的移动终端以及诸如数字TV、台式计算机、智能家居设备等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0147] 如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置606加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备
600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
[0148] 通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置606;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0149] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置606被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
[0150] 需要说明的是,在本公开的上下文中,计算机可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是,但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
[0151] 在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText Transfer Protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
[0152] 上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0153] 可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(,包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0154] 附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0155] 描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
[0156] 本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
[0157] 根据本公开的一个或多个实施例,一种基于粒子流的拖尾视觉效果的生成方法,包括:获取所述粒子流的延伸轨迹;在用于生成所述拖尾视觉效果的三维空间中,根据所述延伸轨迹,生成用于形成所述粒子流的多个粒子;对所述多个粒子进行渲染,以得到多个粒子图元模型;基于所述多个粒子图元模型,生成所述拖尾视觉效果。
[0158] 根据本公开的一个或多个实施例,根据所述延伸轨迹,生成用于形成所述粒子流的多个粒子,包括:沿着所述延伸轨迹等间距地生成所述多个粒子或随机间距地生成所述多个粒子;或者沿着所述延伸轨迹等时间间隔地生成所述多个粒子或随机时间间隔地生成所述多个粒子。
[0159] 根据本公开的一个或多个实施例,获取所述粒子流的延伸轨迹,包括:获取待处理视频;检测所述待处理视频中的目标对象;确定所述目标对象在所述待处理视频中的移动轨迹;将所述移动轨迹转换为所述粒子流的延伸轨迹,其中,所述延伸轨迹为所述移动轨迹映射至所述三维空间中的轨迹。
[0160] 根据本公开的一个或多个实施例,沿着所述延伸轨迹等间距地产生所述多个粒子,包括:所述目标对象沿所述延伸轨迹每移动预定距离,在包括所述目标对象所在的位置的三维区域内随机生成至少一个粒子,以形成所述粒子流。
[0161] 根据本公开的一个或多个实施例,所述延伸轨迹为预设轨迹,沿着所述延伸轨迹等间距地产生所述多个粒子,包括:沿所述延伸轨迹,依次在包括所述延伸轨迹上每间隔预定距离的位置的三维区域内随机生成至少一个粒子,以形成所述粒子流。
[0162] 根据本公开的一个或多个实施例,所述多个粒子中的每个粒子具有至少一个视觉属性,并且,所述至少一个视觉属性至少包括粒子尺寸、粒子颜色、粒子透明度、粒子旋转速度中的一种或多种,所述至少一个视觉属性用于控制所述每个粒子对应的粒子图元模型的视觉效果。
[0163] 根据本公开的一个或多个实施例,所述每个粒子还具有生命周期属性,所述生命周期属性用于表征所述每个粒子对应的粒子图元模型的生命周期,所述多个粒子图元模型中的至少部分粒子图元模型至少显示预设时间,所述至少部分粒子图元模型的生命周期大于或等于所述预设时间。
[0164] 根据本公开的一个或多个实施例,所述粒子图元模型的视觉效果包括所述粒子图元模型的透明度变化。
[0165] 根据本公开的一个或多个实施例,所述透明度变化包括在所述粒子图元模型的生命周期内,所述粒子图元模型的透明度从第一透明度变至第二透明度再变为第三透明度,其中,所述第一透明度和所述第三透明度均与所述第二透明度不同。
[0166] 根据本公开的一个或多个实施例,所述透明度变化包括在所述粒子图元模型的生命周期内,所述粒子图元模型的透明度进行周期性变化。
[0167] 根据本公开的一个或多个实施例,所述透明度变化包括在所述粒子图元模型的生命周期内,所述粒子图元模型的透明度从所述粒子图元模型的生命周期中的第m秒开始进行周期性变化,m为正数。
[0168] 根据本公开的一个或多个实施例,所述透明度变化包括在所述粒子图元模型的生命周期的前m秒内,所述粒子图元模型的透明度发生变化,从所述粒子图元模型的生命周期中的第m秒开始,所述粒子图元模型的透明度进行透明度峰值逐渐降低的周期性变化,m为正数。
[0169] 根据本公开的一个或多个实施例,所述粒子图元模型的视觉效果包括所述粒子图元模型的尺寸变化。
[0170] 根据本公开的一个或多个实施例,所述尺寸变化表示在所述粒子图元模型的生命周期内,所述粒子图元模型的尺寸从第一尺寸变为第二尺寸再变为第三尺寸,其中,所述第一尺寸和所述第三尺寸均小于所述第二尺寸。
[0171] 根据本公开的一个或多个实施例,所述粒子图元模型的视觉效果包括所述粒子图元模型的旋转变化,所述旋转变化表示在所述粒子图元模型的生命周期内,所述粒子图元模型按照预设旋转速度进行旋转。
[0172] 根据本公开的一个或多个实施例,所述预设旋转速度为预设范围内的随机值,在所述粒子图元模型的生命周期内,所述预设旋转速度保持不变。
[0173] 根据本公开的一个或多个实施例,还包括:在所述至少部分粒子图元模型显示预设时间后,按照生成所述多个粒子的顺序,依次将所述至少部分粒子图元模型的透明度调整为完全透明。
[0174] 根据本公开的一个或多个实施例,一种视频的生成方法,包括:确定待处理视频中的视觉效果轨迹;在所述视觉效果轨迹处生成拖尾视觉效果,所述拖尾视觉效果根据本公开任意实施例所述的拖尾视觉效果的生成方法生成;在所述待处理视频中叠加所述拖尾视觉效果,以生成所述视频。
[0175] 根据本公开的一个或多个实施例,在所述视觉效果轨迹处生成拖尾视觉效果,包括:将所述拖尾视觉效果映射到所述视觉效果轨迹上,使得所述拖尾视觉效果叠加于所述视觉效果轨迹处。
[0176] 根据本公开的一个或多个实施例,确定待处理视频中的视觉效果轨迹,包括:响应于在所述待处理视频中检测到目标物体,识别所述目标物体上的特征点作为目标点,根据所述目标点的移动轨迹,确定所述视觉效果轨迹。
[0177] 根据本公开的一个或多个实施例,所述视觉效果轨迹为预设的视觉效果轨迹。
[0178] 根据本公开的一个或多个实施例,所述目标物体包括手,所述目标点包括所述手的手指尖,所述方法还包括:在所述手指尖的移动轨迹处显示所述拖尾视觉效果。
[0179] 根据本公开的一个或多个实施例,一种电子设备,包括:存储器,用于非瞬时性地存储计算机可读指令;处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理器运行时实现根据本公开任一实施例所述的拖尾视觉效果的生成方法。
[0180] 根据本公开的一个或多个实施例,一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据本公开任一实施例所述的拖尾视觉效果的生成方法。
[0181] 以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0182] 此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0183] 尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
[0184] 对于本公开,还有以下几点需要说明:
[0185] (1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
[0186] (2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
[0187] 以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。