三维粒子特效生成方法、装置和电子设备与流程

文档序号:16149817发布日期:2018-12-05 17:20阅读:291来源:国知局
三维粒子特效生成方法、装置和电子设备与流程

本公开涉及一种图像技术领域,特别是涉及一种三维粒子特效生成方法、装置、硬件装置和计算机可读存储介质。

背景技术

随着计算机技术的发展,智能终端的应用范围得到了广泛的扩展,例如可以通过智能终端听音乐、玩游戏、上网聊天和拍照等。对于智能终端的拍照技术来说,其拍照像素已经达到千万像素以上,具有较高的清晰度和媲美专业相机的拍照效果。

目前在采用智能终端进行拍照或者拍视频时,不仅可以使用出厂时内置的拍照软件实现传统功能的拍照和视频效果,还可以通过从网络端下载应用程序(application,简称为:app)来实现具有附加功能的拍照效果或者视频效果。

目前的特效制作app都是预制了一些特效,无法灵活编辑,并且所述特效只能固定在图像的固定位置上。



技术实现要素:

根据本公开的一个方面,本公开提供一种三维粒子特效生成方法,包括:接收三维粒子资源包;解析所述三维粒子资源包的配置文件;在显示装置上显示所述配置文件对应的参数配置项,所述参数配置项至少包括三维粒子系统参数配置项、三维粒子发射器参数配置项、三维粒子影响器参数配置项;接收参数配置命令,对上述参数配置项进行参数配置;根据参数配置项中所配置的参数,生成所述三维粒子特效。

可选的,所述接收参数配置命令,对上述参数配置项进行参数配置,包括对三维粒子系统参数配置项进行参数配置,包括:配置三维粒子的名称;配置三维粒子的材质;配置三维粒子的数量;以及,配置三维粒子的渲染方式中的一个或多个。

可选的,所述接收参数配置命令,对上述参数配置项进行参数配置,包括对三维粒子发射器参数配置项进行参数配置,包括:配置发射器的类型;配置发生器的位置;以及配置三维粒子的初始状态中的一个或多个。

可选的,所述接收参数配置命令,对上述参数配置项进行参数配置,包括对三维粒子影响器参数配置项进行参数配置,包括:配置三维粒子影响器的类型;根据三维粒子影响器的类型配置与所述三维粒子影响器的类型对应的影响参数。

可选的,所述配置粒子影响器的类型,包括:选择多个三维粒子影响器类型;所述根据三维粒子影响器的类型配置与所述三维粒子影响器的类型对应的影响参数,包括:针对每个所选择的三维粒子影响器类型配置影响参数。

可选的,所述根据参数配置项中所配置的参数,生成所述三维粒子特效之后,还包括:在显示装置上显示所述三维粒子特效的预览。

可选的,所述根据参数配置项中所配置的参数,生成所述三维粒子特效包括:获取图像传感器采集到的第一图像,根据参数配置项中所配置的参数,在所述第一图像上生成所述三维粒子特效。

根据本公开的另一个方面,本公开提供一种三维粒子特效生成装置,包括:接收模块,用于接收三维粒子资源包;解析模块,用于解析所述三维粒子资源包的配置文件;配置项显示模块,用于在显示装置上显示所述配置文件对应的参数配置项,所述参数配置项至少包括三维粒子系统参数配置项、三维粒子发射器参数配置项、三维粒子影响器参数配置项;参数配置命令接收模块,用于接收参数配置命令,对上述参数配置项进行参数配置;三维粒子特效生成模块,用于根据参数配置项中所配置的参数,生成所述三维粒子特效。

可选的,所述参数配置命令接收模块,用于对三维粒子系统参数配置项进行参数配置,包括:配置三维粒子的名称;配置三维粒子的材质;配置三维粒子的数量;以及配置三维粒子的渲染方式中的一个或多个。

可选的,所述参数配置命令接收模块,用于对三维粒子发射器参数配置项进行参数配置,包括:配置发射器的类型;配置发生器的位置;以及,配置三维粒子的初始状态中的一个或多个。

可选的,所述参数配置命令接收模块,用于对三维粒子影响器参数配置项进行参数配置,包括:配置三维粒子影响器的类型;根据三维粒子影响器的类型配置与所述三维粒子影响器的类型对应的影响参数。

可选的,所述配置粒子影响器的类型,包括:选择多个三维粒子影响器类型;所述根据三维粒子影响器的类型配置与所述三维粒子影响器的类型对应的影响参数,包括:针对每个所选择的三维粒子影响器类型配置影响参数。

可选的,所述三维粒子特效生成装置,还包括预览显示模块,用于在显示装置上显示所述三维粒子特效的预览。

可选的,所述三维粒子特效生成模块,用于获取图像传感器采集到的第一图像,根据参数配置项中所配置的参数,在所述第一图像上生成所述三维粒子特效。

根据本公开的又一个方面,本公开提供一种电子设备,包括:存储器,用于存储非暂时性计算机可读指令;以及,处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现上述任一方法所述的步骤。

根据本公开的又一个方面,本公开提供一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行上述任一方法中所述的步骤。

本公开实施例提供一种三维粒子特效生成方法、装置、电子设备和计算机可读存储介质。其中,该三维粒子特效生成方法包括:接收三维粒子资源包;解析所述三维粒子资源包的配置文件;在显示装置上显示所述配置文件对应的参数配置项,所述参数配置项至少包括三维粒子系统参数配置项、三维粒子发射器参数配置项、三维粒子影响器参数配置项;接收参数配置命令,对上述参数配置项进行参数配置;根据参数配置项中所配置的参数,生成所述三维粒子特效。通过三维粒子特效参数配置操作,用户可以方便的对三维粒子特效进行配置和编辑,并且可以使用三维粒子特效参数在实时采集的图像上生成三维粒子特效,大大降低了三维粒子特效的编辑难度以及编辑时间。

上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1为根据本公开一个实施例的三维粒子特效生成方法的流程示意图;

图2为根据本公开一个实施例的三维粒子特效生成装置的结构示意图;

图3为根据本公开一个实施例的电子设备的结构示意图;

图4为根据本公开一个实施例的计算机可读存储介质的结构示意图;

图5为根据本公开一个实施例的三维粒子特效生成终端的结构示意图。

具体实施方式

以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。

还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。

为了解决如何提高用户体验效果的技术问题,本公开实施例提供一种三维粒子特效生成方法。如图1所示,该三维粒子特效生成方法主要包括如下步骤s1至步骤s5。其中:

步骤s1:接收三维粒子资源包。

在该实施例中,所述三维粒子资源包可以是已经制作好的三维粒子资源包也可以是三维粒子的半成品,或者是新建的三维粒子。如果接收的是已经制作好的三维粒子资源包,可以直接在该资源包上进行编辑,如果是半成品或者新建的三维粒子,可以继续接收三维粒子所需要的资源,或者对所述资源进行编辑。典型的三维粒子资源为三维粒子的贴图、材质文件、音频文件等等,在此不做具体限制,只要是能够用于生成三维粒子的资源,均可以引入本公开中。

步骤s2:解析所述三维粒子资源包的配置文件。

在该实施例中,当三维粒子的资源包被接收,则系统解析所述三维粒子资源包的配置文件,所述配置文件是用于定义三维粒子特效的文件,所述配置文件中记录了三维粒子特效的属性参数,所述配置文件中可以有默认参数,以便生成默认的三维粒子特效。

步骤s3:在显示装置上显示所述配置文件对应的参数配置项,所述参数配置项至少包括三维粒子系统参数配置项、三维粒子发射器参数配置项、三维粒子影响器参数配置项。

在该实施例中,在终端设备的显示装置上显示配置文件所对应的参数配置项,在本公开中,所述参数配置项至少包括三维粒子系统参数配置项:在该配置项中配置三维粒子系统的一些基本属性,典型的如三维粒子的名称、三维粒子的材质、三维粒子的数量、三维粒子的渲染方式等,需要说明的是,由于配置项都有默认值,因此不是每个参数配置项都需要配置,可以选择其中的一项或者多项进行配置。上述参数配置项中,三维粒子的名称和三维粒子的数量很容易理解,不再对其进行详细阐述。

所述三维粒子的材质,可以直接接收现有的材质,也可以新建材质并对自定义的材质进行材质参数配置。所述材质参数包括渲染混合模式、是否开启深度测试、是否开启深度写、是否开启剔除中的一个或多个,所述材质参数还包括体表面对射到表面上的色光的rgb分量的反射率,具体的包括对环境光、漫射光、镜面光和自发光的不同光线、不同颜色分量的反射程度。具体的,所述渲染混合是指将两种颜色混合在一起,具体到本公开中是指将某一像素位置的颜色与将要画上去的颜色混合在一起,从而实现特殊效果,而渲染混合模式是指混合所使用的方式,一般来说混合方式是指将源颜色和目标颜色做计算,得出混合后的颜色,在实际应用中常常将源颜色乘以源因子得到的结果与目标颜色乘以目标因子得到的结果做计算,得到混合后的颜色,举例来说,所述计算为加,假设源颜色的四个分量(指红色,绿色,蓝色,alpha值)是(rs,gs,bs,as),目标颜色的四个分量是(rd,gd,bd,ad),又设源因子为(sr,sg,sb,sa),目标因子为(dr,dg,db,da),则混合产生的新颜色可以表示为:(rs*sr+rd*dr,gs*sg+gd*dg,bs*sb+bd*db,as*sa+ad*da),其中alpha值表示透明度,0≤alpha≤1。上述混合方式仅仅是举例,实际应用中,可以自行定义或者选择混合方式,所述计算可以是加、减、乘、除、取两者中较大的、取两者中较小的、逻辑运算(和、或、异或等等)。上述混合方式仅仅是举例,实际应用中,可以自行定义或者选择混合方式,所述计算可以是加、减、乘、除、取两者中较大的、取两者中较小的、逻辑运算(和、或、异或等等)。所述深度测试,是指设置一个深度缓冲区,该深度缓冲区与颜色缓冲区相对应,深度缓冲区存储像素的深度信息,颜色缓冲区存储的像素的颜色信息,在决定是否绘制一个物体的表面时,首先将表面对应像素的深度值与存储在深度缓冲区中的值进行比较,如果大于等于深度缓冲区中值,则丢弃这部分;否则利用这个像素对应的深度值和颜色值,分别更新深度缓冲区和颜色缓冲区。这一过程称之为深度测试(depthtesting)。在绘制场景前,清除颜色缓冲区时,清除深度缓冲区,清除深度缓冲区时将深度缓冲区的值设置为1,表示最大的深度值,深度值的范围在[0,1]之间,值越小表示越靠近观察着,值越大表示远离观察者。在开启深度测试时,还需要设置深度测试的比较函数,典型的函数如下:df_always,总是通过测试,此时与不开启深度测试是一样的,总是使用当前像素的深度值和颜色值更新深度缓冲区和颜色缓冲区;df_never,总是不通过测试,此时会一直保持深度缓冲和颜色缓冲区中的值,就是任何像素点都不会被绘制到屏幕上;df_less,在当前深度值<存储的深度值时通过;df_equal,在当前深度值=存储的深度值时通过;df_lequal,在当前深度值≤存储的深度值时通过;df_greater,在当前深度值>存储的深度值时通过;df_notequal,在当前深度值≠存储的深度值时通过;df_gequal,在当前深度值>=存储的深度值时通过。所述深度写是与深度测试关联的,一般来说如果开启了深度测试,并且深度测试的结果有可能会更新深度缓冲区的值时,需要开启深度写,以便对深度缓冲区的值进行更新。所述剔除,是指在三维空间中,一个多边形虽然有两个面,但我们无法看见背面的那些多边形,而一些多边形虽然是正面的,但被其他多边形所遮挡。如果将无法看见的多边形和可见的多边形同等对待,无疑会降低我们处理图形的效率。在这种时候,可以将不必要的面剔除。当开启剔除时,可以设置需要剔除的面,比如设置剔除背面和/或正面。在该实施例中,还对材质对各种光线的反射率做设置,其中对每种光线的颜色分量设置反射率,比如对环境光,其颜色分量为红、黄、蓝,对红色的反射率为0.5,对黄色的反射率为0.1,对蓝色的反射率为0.2,这样当设置了环境光之后,三维粒子的表面会呈现一种颜色和光泽,可以展示材质对不同光线的反射属性。

配置所述三维粒子的纹理参数,具体包括:获取所述纹理的贴图;配置纹理的环绕模式。在该实施例中,首先需要获取表示纹理的贴图,通常可以使用接收的方式将纹理贴图接收;之后可以配置纹理的环绕模式,所述环绕模式是指当三维粒子大于纹理贴图时,如何处理纹理,最简单的方式是repeat模式,就是重复纹理贴图直到三维粒子被纹理贴图完全覆盖住,这也是最常用的一种模式,还有一种模式为clamp截取模式,纹理贴图覆盖不到的三维粒子部分,会使用纹理贴图边缘的颜色覆盖。

三维粒子的渲染方式,可以包括四边形渲染方式以及拖尾渲染方式,其中四边形渲染方式是指绘制一个四边形,绘制时需要一张图片,把图片平铺在四边形上,该图片可以是透明的,粒子最终呈现出来的形状由该图片决定。拖尾渲染方式与四边形渲染方式基本相同,只是比四边形渲染方式多了个拖尾效果。可以理解的,渲染方式可以包括其他多种渲染方式,在此不再赘述。

在本公开中,所述参数配置项至少还包括三维粒子发射器参数配置项:在该参数配置项中配置三维粒子发射器的属性,所述三维粒子发射器用于定义三维粒子产生时的初始状态,典型的如三维粒子发射器的类型、位置、朝向、是否启用、粒子是否跟随发生器移动,三维粒子产生时状态参数包括:颜色、朝向、发射角度、发射频率、生存时间、质量、速度、发射持续时间、发射间隔时间、长、宽、高等。其中典型的三维粒子发射器的类型如下表1所示:

表1

上述发射器类型的举例并非穷举,实际上用户可以自定义各种发生器类型,用户可以自己编写发生器类型并应用到本公开的实施例中。

通过上述与发射器相关的参数配置项,可以配置三维粒子产生时的状态,如从哪儿产生、产生多少、持续时间多长、颜色、大小等,通过上述参数配置项已经可以产生一个基本的三维粒子特效。

在本公开中,所述参数配置项至少还包括三维粒子影响器参数配置项。通过影响器参数配置项,可以配置出更多特殊效果的三维粒子特效。具体的,所述三维粒子影响器参数配置项可以包括:影响器的类型、位置、朝向,以及针对每种不同类型的影响器所需配置的参数项。典型的三维粒子影响器的类型如下表2所示:

表2

下边具体说明上述表2中的参数:

(1)coloraffector:

颜色操作符参数colorop:"set"or"multiply","set"表示直接用预设颜色替代三维粒子当前的颜色,"multiply"表示用预设颜色乘以三维粒子当前的颜色。

颜色表colors:[[t1,r1,g1,b1,a1],[t2,r2,g2,b2,a2],[t3,r3,g3,b3,a3],[t4,r4,g4,b4,a4],……[tn,rn,gn,bn,an]],每个颜色表由多个点组成,每个点的5个参数分别表示时间、r通道、g通道、b通道、a通道,其中时间0≤tn≤1,n为大于1的自然数,当tn=0时表示粒子诞生的时刻,当tn=1时,表示粒子消亡的时刻,r、g、b为颜色通道,a为透明度通道,每个通道的取值为0-255,可以用0-1的数字表示,0表示0,1表示255,中间的值按比例取值。颜色表的一个举例为:[

[0.0,1.0,1.0,1.0,0.0],

[0.079,1.0,0.89,0.42,0.15],

[0.108,0.98,0.53,0.24,0.1],

[0.7,0.66,0.44,1.0,0.05],

[1.0,0.51,0.64,1.0,0.0]

]

(2)scaleaffector:

宽度缩放值:scalex;

高度缩放值:scaley;

深度缩放值:scalez;

使用该影响器时,三维粒子的三个维度分别与三个维度上的缩放值做加法操作得到缩放之后的大小,上述三个缩放值可以为负数。

(3)scalevelocityaffector:

速度缩放值:scalevelocity;

三维粒子的速度与该速度缩放值所加法操作,得到缩放之后的速度,上述速度缩放值可以为负数。

(4)gravityaffector:

重力值gravity;

配合三维粒子的质量参数计算向心力和离心力的大小,并计算运动轨迹。

(5)jetaffector:

加速度值acceleration;

三维粒子在生存周期内按照该加速度做匀加速或匀减速运动。

(6)linearforceaffector:

力场的力大小forcescalar;

力场的影响方式application:"average"or"add","average"表示力与方向的平均,假设力场的方向为a,粒子在t0时刻的方向为v0,则使用(a+v0)/2来影响粒子的方向,在t1时刻的方向为v1,则使用(a+v1)/2来影响粒子的方向,以此类推。"add"表示把力直接作用到方向上,即无论粒子当前时刻的方向如何,都直接使用a类影响粒子的方向。

(7)sineforceaffector:

力场的力大小forcescalar;

力场的影响方式application:"average"or"add","average"表示力与方向的平均,"add"表示把力直接作用到方向上(意义同上);

震荡幅度的最小值:frequencymin;

震荡幅度的最大值:frequencymax。

(8)vortexaffector:

旋转的速度rotationspeed。

(9)textureanimationaffector:

序列帧的播放方式animationtype:"loop"or"up_down"or"random",分别表示序列帧循环播放、从上到下播放或者随机播放。

每帧动画播放时间间隔animationtimestep;

序列帧的起始idcoordsstart,序列帧的结束idcoordsend,举例来说,一个4*4的序列帧纹理,从左到右,从上到下的id为0-15;

第一帧是否随机选取一帧startrandom:"ture"or"false",第一帧是否随机选取一帧,false表示从第0帧开始,ture表示随机选一帧开始。

(10)texturerotationaffector:

是否使用固定的旋转速率useownrotationspeed:"ture"or"false";

旋转速率rotationspeed;

三维粒子发射时的初始角度rotation。

(11)pathfolloweraffector:

路径关键点points:

三维粒子按照上述关键点的空间坐标的路径顺序运动,m为大于0的自然数。

(12)planecollideraffector:

平面的法线方向normal。

(13)boxcollideraffector:

box的宽width;

box的高height;

box的深depth;

碰撞是否发生在内部innercollision:"ture"or"false"。

(14)spherecollideraffector:

球的半径radius;

碰撞是否发生在内部innercollision:"ture"or"false"。

上述影响器类型的举例并非穷举,实际上用户可以自定义各种影响器类型,用户可以自己编写影响器类型并应用到本公开的实施例中。

通过上述与影响器相关的参数配置项,可以配置三维粒子发射之后的状态,比如做出符合某一影响器属性的轨迹等,在一个实施例中,可以同时选择多个影响器对同一个影响器产生的三维粒子产生叠加影响,以产生特殊效果。

可以理解的是,上述参数配置项也不是穷举,其他可配置的项目均可以引入本公开实施例中进行配置。

步骤s4:接收参数配置命令,对上述参数配置项进行参数配置。

在该步骤中,终端接收用户输入的配置命令,对步骤s3中的参数配置项进行参数配置,具体的,所述参数可以通过输入框、下拉菜单、选择框、按钮、滑动控件等等人机交互模式接收,在此不做具体限定。总之在该步骤中,终端通过人机交互接口接收对步骤s3中所显示的参数配置项输入的参数。

步骤s5:根据参数配置项中所配置的参数,生成所述三维粒子特效。

在一个实施例中,步骤s4中所接收到的参数被传到各种图像算法中,所述图像算法根据所述参数生成对应效果的三维粒子特效。

在一个实施例中,将三维粒子特效直接同步到图像采集到的第一图像上,在该实施例中,首选获取图像传感器所采集到的第一图像,比如人脸图像或者人体图像,之后根据所述参数配置项中所配置的参数,在所述第一图像上生成所述三维粒子特效,可选的,所述三维粒子特效可以跟随第一图像的移动而移动,比如跟随人脸或者人手的移动而发生移动,该移动可以是直接改变发射器的位置,也可以是将第一图像的移动轨迹叠加到三维粒子当前的运动轨迹上,在此不做具体限制。

在一个实施例中,在步骤s5之后,还包括:在显示装置上显示所述三维粒子特效的预览。该步骤方便用户实时观察配置参数改变之后三维粒子特效的变化,方便用户修改三维粒子特效。

如下为一个具体的三维粒子的配置例子,该例子展示了一个飞机发动机喷射效果的粒子特效:

本公开实施例中,对接收或者新建的三维粒子特效进行配置,之后根据所配置的三维粒子特效参数生成三维粒子特效,并且可以将三维粒子特效实时生成在图像传感器实时采集的图像上。已有技术中,三维粒子特效需要通过第三方工具制作,使用时灵活性不足,不能实时对特效进行配置,且只能放置于已有的图像或者视频中,无法在实时采集的人脸图像上生成三维粒子特效。而本实施例中,通过三维粒子特效参数配置操作,用户可以方便的对三维粒子特效进行配置和编辑,并且可以通过生成三维粒子特效参数,使三维粒子特效生成算法可以使用三维粒子特效参数在实时采集的图像上生成三维粒子特效,因此相较于已有技术,大大降低了三维粒子特效的编辑难度以及编辑时间,且三维粒子特效可以同步于任何实时采集到图像上,从而提高了用户体验效果。

在上文中,虽然按照上述的顺序描述了上述方法实施例中的各个步骤,本领域技术人员应清楚,本公开实施例中的步骤并不必然按照上述顺序执行,其也可以倒序、并行、交叉等其他顺序执行,而且,在上述步骤的基础上,本领域技术人员也可以再加入其他步骤,这些明显变型或等同替换的方式也应包含在本公开的保护范围之内,在此不再赘述。

下面为本公开装置实施例,本公开装置实施例可用于执行本公开方法实施例实现的步骤,为了便于说明,仅示出了与本公开实施例相关的部分,具体技术细节未揭示的,请参照本公开方法实施例。

本公开实施例提供一种三维粒子特效生成装置。该装置可以执行上述三维粒子特效生成方法实施例中所述的步骤。如图2所示,该装置主要包括:接收模块21、解析模块22、配置项显示模块23、参数配置命令接收模块24和三维粒子特效生成模块25。其中:接收模块21,用于接收三维粒子资源包;解析模块22,用于解析所述三维粒子资源包的配置文件;配置项显示模块23,用于在显示装置上显示所述配置文件对应的参数配置项,所述参数配置项至少包括三维粒子系统参数配置项、三维粒子发射器配置项、三维粒子影响器配置项;参数配置命令接收模块24,用于接收参数配置命令,对上述参数配置项进行参数配置;三维粒子特效生成模块25,用于根据参数配置项中所配置的参数,生成所述三维粒子特效。

在一个实施例中,所述三维粒子特效生成装置还包括预览显示模块26,用于在显示装置上显示所述三维粒子特效的预览。

在一个实施例中,所述三维粒子特效生成模块25,用于获取图像传感器采集到的第一图像,根据参数配置项中所配置的参数,在所述第一图像上生成所述三维粒子特效。

上述三维粒子特效生成装置与上述图1所示实施例中的三维粒子特效生成方法对应一致,具体细节可参考上述对三维粒子特效生成方法的描述,在此不再赘述。

本公开实施例中,对接收或者新建的三维粒子特效进行配置,之后根据所配置的三维粒子特效参数生成三维粒子特效,并且可以将三维粒子特效实时生成在图像传感器实时采集的图像上。已有技术中,三维粒子特效需要通过第三方工具制作,使用时灵活性不足,不能实时对特效进行配置,且只能放置于已有的图像或者视频中,无法在实时采集的人脸图像上生成三维粒子特效。而本实施例中,通过三维粒子特效参数配置操作,用户可以方便的对三维粒子特效进行配置和编辑,并且可以通过生成三维粒子特效参数,使三维粒子特效生成算法可以使用三维粒子特效参数在实时采集的图像上生成三维粒子特效,因此相较于已有技术,大大降低了三维粒子特效的编辑难度以及编辑时间,且三维粒子特效可以同步于任何实时采集到图像上,从而提高了用户体验效果。

图3是图示根据本公开的实施例的电子设备框图。如图3所示,根据本公开实施例的电子设备30包括存储器31和处理器32。

该存储器31用于存储非暂时性计算机可读指令。具体地,存储器31可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。该非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。

该处理器32可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制电子设备30中的其它组件以执行期望的功能。在本公开的一个实施例中,该处理器32用于运行该存储器31中存储的该计算机可读指令,使得该电子设备30执行前述的本公开各实施例的基于人脸的特效生成方法的全部或部分步骤。

本领域技术人员应能理解,为了解决如何获得良好用户体验效果的技术问题,本实施例中也可以包括诸如通信总线、接口等公知的结构,这些公知的结构也应包含在本公开的保护范围之内。

有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。

图4是图示根据本公开的实施例的计算机可读存储介质的示意图。如图4所示,根据本公开实施例的计算机可读存储介质40,其上存储有非暂时性计算机可读指令41。当该非暂时性计算机可读指令41由处理器运行时,执行前述的本公开各实施例的基于人脸的特效生成方法的全部或部分步骤。

上述计算机可读存储介质40包括但不限于:光存储介质(例如:cd-rom和dvd)、磁光存储介质(例如:mo)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易失性存储器的媒体(例如:存储卡)和具有内置rom的媒体(例如:rom盒)。

有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。

图5是图示根据本公开实施例的终端设备的硬件结构示意图。如图5所示,该三维粒子特效生成终端50包括上述三维粒子特效生成装置实施例。

该终端设备可以以各种形式来实施,本公开中的终端设备可以包括但不限于诸如移动电话、智能电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置、车载终端设备、车载显示终端、车载电子后视镜等等的移动终端设备以及诸如数字tv、台式计算机等等的固定终端设备。

作为等同替换的实施方式,该终端还可以包括其他组件。如图5所示,该三维粒子特效生成终端50可以包括电源单元51、无线通信单元52、a/v(音频/视频)输入单元53、用户输入单元54、感测单元55、接口单元56、控制器57、输出单元58和存储单元59等等。图5示出了具有各种组件的终端,但是应理解的是,并不要求实施所有示出的组件,也可以替代地实施更多或更少的组件。

其中,无线通信单元52允许终端50与无线通信系统或网络之间的无线电通信。a/v输入单元53用于接收音频或视频信号。用户输入单元54可以根据用户输入的命令生成键输入数据以控制终端设备的各种操作。感测单元55检测终端50的当前状态、终端50的位置、用户对于终端50的触摸输入的有无、终端50的取向、终端50的加速或减速移动和方向等等,并且生成用于控制终端50的操作的命令或信号。接口单元56用作至少一个外部装置与终端50连接可以通过的接口。输出单元58被构造为以视觉、音频和/或触觉方式提供输出信号。存储单元59可以存储由控制器57执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据。存储单元59可以包括至少一种类型的存储介质。而且,终端50可以与通过网络连接执行存储单元59的存储功能的网络存储装置协作。控制器57通常控制终端设备的总体操作。另外,控制器57可以包括用于再现或回放多媒体数据的多媒体模块。控制器57可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。电源单元51在控制器57的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。

本公开提出的三维粒子特效生成方法的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,本公开提出的三维粒子特效生成方法的各种实施方式可以通过使用特定用途集成电路(asic)、数字信号处理器(dsp)、数字信号处理装置(dspd)、可编程逻辑装置(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,本公开提出的三维粒子特效生成方法的各种实施方式可以在控制器57中实施。对于软件实施,本公开提出的三维粒子特效生成方法的各种实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储单元59中并且由控制器57执行。

有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“a、b或c的至少一个”的列举意味着a或b或c,或ab或ac或bc,或abc(即a和b和c)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。

还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

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