一种移动终端模拟粒子系统的方法

文档序号:10688092阅读:249来源:国知局
一种移动终端模拟粒子系统的方法
【专利摘要】本发明涉及移动终端技术领域,公开了一种移动终端模拟粒子系统的方法,所述方法包括:当移动终端需对模糊现象进行模拟时,建立粒子的帧启动;生成粒子并对粒子系统进行初始化;判断粒子生命周期,如果生命周期结束,则删除粒子,如果生命周期未结束,则更新粒子状态;渲染粒子,通过对粒子系统的粒子属性进行对应渲染,控制对模糊现象进行模拟,并利用三维可视化技术实现三维建模,利用粒子系统实现三维动态仿真;粒子系统仿真完成,帧结束。本发明通过采用粒子系统对模糊现象进行模拟,利用粒子系统实现了三维动态仿真,提升了模拟效果的真实度,将复杂运算的特效应用到移动终端中,方便了用户,提升了移动终端的游戏特效处理速度。
【专利说明】
一种移动终端模拟粒子系统的方法
技术领域
[0001] 本发明涉及移动终端技术领域,尤其是一种移动终端模拟粒子系统的方法。
【背景技术】
[0002] 随着手游技术和VR(Virtual Reality:虚拟现实)技术的不断发展,自主研发的游 戏特效种类繁多,不断推陈出新,粒子特效的运用能够使游戏画面以及手机界面更加具有 渲染力,增加真实感的同时会给用户带来不一样的体验。
[0003] 在游戏图形系统的开发过程中,经常要对模糊现象进行模拟,如雨、烟、水流、火 焰、雾、雪、尘埃、火花、爆炸以及发光的轨迹等模糊现象进行模拟,模拟这些现象的渲染技 术称作粒子系统,换言之,粒子系统是指计算机图形学中以粒子群体来模拟模糊现象的技 术。相比于传统的渲染技术,采用粒子系统对模糊现象进行模拟,能够提升模拟效果的真实 度。
[0004] 粒子系统的基础是大量的粒子,通过对粒子进行模拟和渲染,可以实现对模糊对 象的模拟。
[0005] 粒子系统的性能直接影响对模糊现象进行模拟的真实度,现有的粒子系统处理方 法一般是通过控制粒子数量或者改进模拟算法来提升粒子系统的性能。
[0006] 随着计算机图形学的迅速发展,新技术已经层出不穷,传统经典的欧式几何方法 只能用于直线,光滑的曲线以及平面等,可以实现一些规则的图形建模,对于动态的景物模 拟已经显得力不从心,即而现有技术中还无法在手机系统中实现复杂的游戏特效,操作也 不方便。
[0007] 因此,现有技术还有待于改进和发展。

【发明内容】

[0008] 本发明要解决的技术问题在于,针对现有技术无法而将这种复杂运算的特效应用 到手机中,因此本发明的一种移动终端模拟粒子系统的方法来通过粒子特效运用到手机 中,通过采用粒子系统对模糊现象进行模拟,主要利用三维可视化技术实现了三维建模,并 且利用粒子系统实现了三维动态仿真,能够提升模拟效果的真实度,将复杂运算的特效应 用到移动终端中,本发明在不增加粒子系统的处理流程的复杂度的情况下,优化粒子系统 的性能,从而提升粒子系统对模糊现象进行模拟的真实度。
[0009] 本发明解决技术问题所采用的技术方案如下: 一种移动终端模拟粒子系统的方法,其中,包括: 步骤A,当移动终端需对模糊现象进行模拟时,建立粒子的帧启动; 步骤B,当粒子的帧启动后,生成粒子并对粒子系统进行初始化; 步骤C,判断粒子生命周期,如果生命周期结束,则删除粒子,如果生命周期未结束,则 更新粒子状态; 步骤D,渲染粒子,通过对粒子系统的粒子属性进行对应渲染,控制对模糊现象进行模 拟,并利用三维可视化技术实现三维建模,利用粒子系统实现三维动态仿真; 步骤E,粒子系统仿真完成,帧结束。
[0010] 数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由帧头和帧数据组成, 不同的部分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过 网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接 收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。
[0011] 粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象 用其它传统的渲染技术难以实现的真实感的游戏特效,经常使用粒子系统模拟的现象有 火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉效 果。
[0012] 通过上述步骤可以实现对粒子的渲染,使在手机上也可以体验到具备各种游戏特 效的、具备抽象视觉效果的手游。
[0013] 所述步骤B中的生成粒子具体包括: Bl、控制粒子系统粒子集的初始分布按照一定规律加以排列; B2、假设粒子的空间坐标为
,则粒子的三维坐标分布则满足一个约束方程
其中服从一概率分节
,所述概率分布为均匀分布或者正态分布。
[0014] 所述约束方程,是在建立系统模型时,系统的状态变量必须满足的一些条件所构 成的方程;概率分布是概率论的基本概念之一,用以表述随机变量取值的概率规律。
[0015] 所述步骤C中判断粒子的生命周期是粒子系统的粒子属性来体现,粒子属性根据 模拟场景的不同有所改变,通用的粒子属性包括时间属性,空间属性,外观属性和运动属 性,粒子系统根据不同场景的模拟需要而呈现不同的粒子属性,而不同的粒子属性是通过 粒子属性中三大属性的相关计算公式的不同而得到不同的数据,根据不同的数据从而实现 不同的场景特效。
[0016] 所述粒子的时间属性指粒子的生命周期;粒子的空间属性指粒子在三维空间中的 坐标值,即X轴,Y轴,Z轴三个坐标的分布;粒子的外观属性指粒子的颜色Gbfor,尺寸JJfee, 透明度,其决定了粒子的视觉效果;粒子的运动属性包括粒子的速度、加速 度,在每两帧之间,粒子的当前位置是由改粒子的前一帧的位置和当前的速度 决定的;所述粒子运动属性的加速度是一个综合的数值,受到重力Gravity、风力Wind Force、空气浮力Air Buoyancy因素的影响,运用物理中的牛顿运动定律加以处理,最终得 出一个加速度。
[0017] 粒子运动分为三个明显的阶段,粒子生成,粒子更新,粒子消亡;所述粒子生成后, 在所述步骤D中,粒子属性随着帧数的更新而不断地改变,从微观上一个粒子的角度去分 析,假设当前帧为/帧,对比前一时间/-1帧,两者之间的时间差为At:,所述粒子的空间属 性确定为:


其中, 晚粒子三维空间的坐标,
为第$-1帧粒子 三维空间0 帧时粒子在三维空间上的三个速度分量。
[0018] 在所述步骤D中,对粒子进行渲染时,所述粒子的第/帧粒子运动属性确定为:
其中,为第丨帧粒子的速度,为第#-1帧粒子的速度, 为第:f-1帧粒子的加速度。
[0019] 在所述步骤D中,渲染粒子包括粒子的外观属性,所述粒子外观属性变化包括:粒 子的颜色的变化,粒子大小的变化,和粒子透明度的变化。
[0020] 在所述步骤D中,渲染粒子包括对粒子颜色的渲染,所述粒子颜色的变化确定为:
其中,Gdliar表不粒子颜色属性值说,) CbfcrIfeifer表不单位时间下粒子颜色的变 化值。
[0021] 在所述步骤D中,渲染粒子包括对粒子大小的渲染,所述粒子大小的变化确定为:
其中,表不粒子的大小,
表不单位时间下粒子尺寸的变化值。
[0022] 在所述步骤D中,渲染粒子包括对粒子透明度的渲染,所述粒子透明度的变化确定 为:
其4
I示粒子的透明度,
表示单位时间内粒子透明度的变化值,透 明值表示粒子当前的亮度,一般配合着深度测试、测试等可以轻松地实现一些半透 明景物的渲染。
[0023] 步骤C中有提到判断粒子生命周期是否结束,那么如何判断粒子的消亡,粒子的消 亡一般满足下列三个条件之一: 1.粒子的生命值随着帧数的更新,不断地减少,最终减为零时,粒子则被认为达到消亡 条件; 2. 粒子空间属性会制约粒子的消亡,当例子运动到屏幕之外的区域,为了减少计算机 的运算量,则认为粒子消亡; 3. 粒子的颜色值和透明度达到最低时,或者长时间处在和背景色相融时,即使其他属 性仍然是正常范围,也认为粒子消亡。
[0024] 凡是达到粒子消亡的三个条件之一,则认为粒子已经处于消亡状态,此时需要重 新初始化粒子状态。
[0025]并且常见粒子绘制方法有三种,点粒子、线粒子、片面粒子。
[0026] 1.点粒子的绘制是通过点光源实现的,可以有效避免粒子间遮挡的问题,也不用 考虑粒子之间碰撞的问题,这样可以节省系统的硬件开销,同时提高实时性的效果。
[0027] 2.线粒子绘制的基本方法是,定义一个具有头和尾的结构性粒子,其中头尾粒子 均具有自己的属性,所有属性通过一个头到尾的线性插值实现,透明度则是从中心到边缘, 按照线性函数向两边递减,这种生成方式对硬件的开销小,适用并行实现,非常适合手机这 样的设备。
[0028] 3.片面粒子定义为很小的片面,每个片面粒子都具有自己的属性,而且能够反射 光线,这种绘制方式能够显示更多的物理信息。
[0029] -种移动终端模拟粒子系统的系统,其中,包括: 建立模块,用于当移动终端需对模糊现象进行模拟时,建立粒子的帧启动; 粒子生成模块,用于当粒子的帧启动后,生成粒子并对粒子系统进行初始化; 判断模块,用于判断粒子生命周期,如果生命周期结束,则删除粒子,如果生命周期未 结束,则更新粒子状态; 渲染与仿真模块,用于渲染粒子,通过对粒子系统的粒子属性进行对应渲染,控制对模 糊现象进行模拟,并利用三维可视化技术实现三维建模,利用粒子系统实现三维动态仿真; 仿真完成控制模块,用于粒子系统仿真完成,控制帧结束; 所述移动终端模拟粒子系统的系统采用上述任一项所述的方法实现。
[0030] 所述移动终端模拟粒子系统的系统,其中,粒子生成模块包括: 控制单元,用于控制粒子系统粒子集的初始分布按照一定规律加以排列; 计算单元,用于假设粒子的空间坐标为,则粒子的三维坐标分布则满足一个约 束方程
其中服从一概率分布汽丈丸冷,所述概率分布为均匀分布或者正态分布。
[0031] 有益效果:本发明所提供的移动终端模拟粒子系统的方法,当移动终端需对模糊 现象进行模拟时,建立粒子的帧启动;生成粒子并对粒子系统进行初始化;判断粒子生命周 期,如果生命周期结束,则删除粒子,如果生命周期未结束,则更新粒子状态;渲染粒子,通 过对粒子系统的粒子属性进行对应渲染,控制对模糊现象进行模拟,并利用三维可视化技 术实现三维建模,利用粒子系统实现三维动态仿真;粒子系统仿真完成,帧结束。本发明通 过采用粒子系统对模糊现象进行模拟,利用粒子系统实现了三维动态仿真,提升了模拟效 果的真实度,将复杂运算的特效应用到移动终端中,方便了用户,提升了移动终端的游戏特 效处理速度。
【附图说明】
[0032] 图1是本发明移动终端模拟粒子系统的方法流程示意图; 图2是本发明移动终端模拟粒子系统的系统实施例功能原理框图。
【具体实施方式】
[0033] 为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对 本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用 于限定本发明。
[0034] 请参见图1,图1是本发明移动终端模拟粒子系统的方法流程示意图。如图1所示, 本发明实施例提供的一种移动终端模拟粒子系统的方法,包括以下步骤: 步骤SlO,当移动终端需对模糊现象进行模拟时,建立粒子的帧启动。
[0035] 本发明中,在移动终端模拟粒子系统的方法开始后,当移动终端需对模糊现象进 行模拟时,也就是说移动终端在运行复杂的大型游戏时,必然会出现各种虚拟的特效和场 景,所以移动终端会发出相应的指给粒子系统,粒子系统在收到指令后,建立粒子的帧启 动。
[0036] 步骤S20,当粒子的帧启动后,生成粒子并对粒子系统进行初始化。
[0037] 所述粒子生成方法有三种,点粒子、线粒子、片面粒子;所述粒子系统中粒子集的 初始分布是按照一定规律加以排列,粒子的空间坐标为(?此4,则粒子的三维坐标分布则 满足一个约束方程所述概率分布 为均匀分布或者正态分布。
[0038] 步骤S30,判断粒子生命周期是否结束。
[0039] 判断粒子生命周期是否结束,那么如何判断粒子的消亡,粒子的消亡一般满足下 列三个条件之一:粒子的生命值随着帧数的更新,不断地减少,最终减为零时,粒子则被认 为达到消亡条件;粒子空间属性会制约粒子的消亡,当例子运动到屏幕之外的区域,为了减 少计算机的运算量,则认为粒子消亡;粒子的颜色值和透明度达到最低时,或者长时间处在 和背景色相融时,即使其他属性仍然是正常范围,也认为粒子消亡;凡是达到粒子消亡的三 个条件之一,则认为粒子已经处于消亡状态,此时需要重新初始化粒子状态。
[0040] 所述步骤S30中判断粒子的生命周期是粒子系统的粒子属性来体现,粒子属性根 据模拟场景的不同有所改变,通用的粒子属性包括时间属性,空间属性,外观属性和运动属 性,粒子系统根据不同场景的模拟需要而呈现不同的粒子属性。
[0041]所述粒子的时间属性指粒子的生命周期;粒子的空间属性指粒子在三维空间中的 坐标值,即X轴,Y轴,Z轴三个坐标的分布;粒子的外观属性指粒子的颜色€3〇^〇?·,尺寸ifeff, 透明度,其决定了粒子的视觉效果;粒子的运动属性包括粒子的速度、加速 度_^&〇^5^0?.,在每两帧之间,粒子的当前位置是由改粒子的前一帧的位置和当前的速度 决定的;所述粒子运动属性的加速度是一个综合的数值,受到重力Gravity、风力Wind Force、空气浮力Air Buoyancy因素的影响,运用物理中的牛顿运动定律加以处理,最终得 出一个加速度。
[0042]步骤S40,如果生命周期结束,则删除粒子,直接执行步骤S70。
[0043]判断粒子生命周期已经结束,即由上述三个条件判断粒子已经消亡,那么消亡的 粒子已经没有了其作用,那么将对消亡的粒子进行删除。
[0044] 步骤S50,如果生命周期未结束,则更新粒子状态。
[0045] 判断粒子生命周期未结束,则对没有消亡的粒子的状态进行更新,使粒子达到一 种活跃的状态,便于后面对粒子的渲染操作,使其具备特效功能。
[0046] 步骤S60,渲染粒子,通过对粒子系统的粒子属性进行对应渲染,控制对模糊现象 进行模拟,并利用三维可视化技术实现三维建模,利用粒子系统实现三维动态仿真; 如果生命周期未结束,在更新粒子状态之后,对粒子进行渲染,调用所述粒子系统的预 设渲染策略,根据所述待模拟对象的颜色,大小,透明度对更新后的粒子进行渲染。
[0047] 对粒子的渲染主要通过粒子的空间属性,运动属性和外观属性的改变来达到相应 的效果,而这些属性的变化是根据不同属性的计算数据来改变的,所以三大属性的变化确 定如下: 所述粒子生成后,粒子属性随着帧数的更新而不断地改变,从微观上一个粒子的角度 去分析,假设当前帧为/帧,对比前一时间/-1帧,两者之间的时间差为遍:,所述粒子的空 间属性确定为:
其中,为第W帧粒子三维空间的坐标,为第^-1帧粒子 三维空间的坐标,为第丨-1帧时粒子在三维空间上的三个速度分量。
[0048] 对粒子进行渲染时,所述粒子的第/帧粒子运动属性确定为:
其中,Fdbc%,为第/帧粒子的速度:
为第/-1帧粒子的速度,
第#-:!帧粒子的加速度。
[0049] 渲染粒子包括粒子的外观属性,所述粒子外观属性变化包括:粒子的颜色的变化, 粒子大小的变化,和粒子透明度的变化。
[0050] 渲染粒子包括对粒子颜色的渲染,所述粒子颜色的变化确定为:
其中,Cbiw表不粒子颜色属性值说,61,),.£3〇^!^^^._表不单位时间下粒子颜色的变 化值。
[0051 ]渲染粒子包括对粒子大小的渲染,所述粒子大小的变化确定为:
其中,Jfe?表不粒子的大小,表不单位时间下粒子尺寸的变化值。
[0052]渲染粒子包括对粒子透明度的渲染,所述粒子透明度的变化确定为:
其中,表示粒子的透明度,表示单位时间内粒子透明度的变化值。 [0053 ]步骤S70,粒子系统仿真完成,帧结束。
[0054] 在粒子进行针对性的渲染结束后,便完成了粒子系统的特效渲染,达到了所需要 的特效功能,则粒子系统仿真完成,帧结束,整个移动终端模拟粒子系统的方法的过程结 束。
[0055] 在所i术步碟D中,宿染粒子包括对粒子大小的植染,所述粒子大小的变化确定为:
其中,.jSfeur表不粒子的大小,Siaaifeifei表不单位时间下粒子尺寸的变化值。
[0056] 在所述步骤D中,渲染粒子包括对粒子透明度的渲染,所述粒子透明度的变化确定 为:
其中,#&Γ表示粒子的透明度,表示单位时间内粒子透明度的变化值,透 明值表示粒子当前的亮度,一般配合着深度测试、^^铡试等可以轻松地实现一些半透 明景物的渲染。
[0057] 步骤C中有提到判断粒子生命周期是否结束,那么如何判断粒子的消亡,粒子的消 亡一般满足下列三个条件之一: 4. 粒子的生命值随着帧数的更新,不断地减少,最终减为零时,粒子则被认为达到消亡 条件; 5. 粒子空间属性会制约粒子的消亡,当例子运动到屏幕之外的区域,为了减少计算机 的运算量,则认为粒子消亡; 6. 粒子的颜色值和透明度达到最低时,或者长时间处在和背景色相融时,即使其他属 性仍然是正常范围,也认为粒子消亡。
[0058] 凡是达到粒子消亡的三个条件之一,则认为粒子已经处于消亡状态,此时需要重 新初始化粒子状态。
[0059]并且常见粒子绘制方法有三种,点粒子、线粒子、片面粒子。
[0060] 1.点粒子的绘制是通过点光源实现的,可以有效避免粒子间遮挡的问题,也不用 考虑粒子之间碰撞的问题,这样可以节省系统的硬件开销,同时提高实时性的效果。
[0061] 2.线粒子绘制的基本方法是,定义一个具有头和尾的结构性粒子,其中头尾粒子 均具有自己的属性,所有属性通过一个头到尾的线性插值实现,透明度则是从中心到边缘, 按照线性函数向两边递减,这种生成方式对硬件的开销小,适用并行实现,非常适合手机这 样的设备。
[0062] 3.片面粒子定义为很小的片面,每个片面粒子都具有自己的属性,而且能够反射 光线,这种绘制方式能够显示更多的物理信息^
[0063] 以下通过一具体的应用实施例对本发明的方法中通过建立粒子系统,对模糊现象 进行模拟,并利用三维可视化技术实现三维建模,利用粒子系统实现三维动态仿真做进一 步详细描述: 第一步、建立粒子的属性类; Class CParticle{ int x; int y; int startX; int startY; double startTime; Vector3D m-Position; Vector3D m-Velocity; Vector3D m-Size; Vector3D m-Color; Vector3D m-Alpha; public Particle(int x, int y, int startX, int startY, Vector3D m-Position, Vector3D m-Velocity, Vector3D m-Size, Vector3D m-Color, Vector3D m-Alpha, double m-StartTime ); }; 第二步、粒子系统的初始化; Public void Particle(int x, int y, int startX, int startY, Vector3D Position, Vector3D Velocity, Vector3D Size, Vector3D Color, Vector3D Alpha, double startTime ){ InitO; this.X = x; this.y = y; this.startX = startX; this.startY = startY; this.m-Position = Position; this, m-Velocity = Velocity; this. m-Size = Size; this. m-Color = Color; this, m-Alpha = Alpha; this. m-StartTime = startTime; } 第三步、粒子的生成 public void addParticle(int num, double startTime, int winffidth){ for (int i = 0; i < num; i++) { int color = getColor(i); int r = I; double Velocity.x = -30 + 10 ^ (Math.randomO);// 垂直速度 double Velocity.y = 10 - 20 ^ (Math.randomO);// 水平速度 int startX = winffidth / 2; int startY = 100; Particle partical = new Particle (x, y, startX, startY, Position, Velocity, Size, Color,Alpha, startTime); particals.add(partical); } 第三步、粒子的运动规律 public void runParticleSys(void){ addParticIe(num, startTime,winffidth); while (flag) { //每次添加5粒 particaIView. particIeSet.addPartical(5, time,window_ Width); int count = particals.sizeO ; for (int i = 0; i < count; i++) { Particle partical = particals.get(i); //计算程序开始到现在的时间差 double timeSpan = time - partical.startTime; //计算此时粒子的X值 int t empX = (int) ( part i caI . s tartX + partical.horizontal_v * timeSpan); // 4.9 * timeSpan * timeSpan=l/2*g*t*t;//物理公式,g= 9·8m/s; //计算此时粒子的Y值 int tempY = (int) (partical.startY + 4.9 * timeSpan * timeSpan); if (tempY > ParticleView.DIE_0UT_LINE) { parti cals, remove (parti cal); // 删除该粒子 count = particals.sizeO;// 重亲jf获取个数 } position.x = tempX; position.y = tempY; position.z =0; } time += span; try { Thread.sleep(sleepSpan); } catch (InterruptedException e) { e.printStackTrace(); } } 第四步、更新绘制粒子状态 public void updateDraw(Canvas canvas) { canvas.drawColor(Color.BLACK); // 清屏 Paint paint = new PaintO ; // 创建幽笔对象 //遍历粒子集合,绘制每个粒子 for (int i = 0; i < particleSet.size(); i++) { Particle p = particleSet.get(i); paint.setColor(p.color); //设置画笔颜色为粒子颜色 int tempX = m_Position.x; // 获得粒子X坐标 int tempY = m_Position.y; // 获得粒子Y坐标 int tempRadius = m_Size.r; // 获得粒子半径 RectF oval = new RectF(tempX, tempY, tempX + 2 * tempRadius, tempY + 2 * tempRadius); canvas.drawCircle(tempX, tempY,tempRadius,paint); } paint · setColor(Color.WHITE); // 设置幽笔颜色 paint.setTextSize(18); // 设置文字大小 paint. setAntiAlias(true); // 设置抗据齿 canvas.drawText(fps,15,15,paint); // 幽出帧速率字符 串 } 第五步、粒子消亡 public void destoryParticle(int x, int y, int startX, int startY, Vector3D m-Position, Vector3D m-Velocity, Vector3D m-Size, Vector3D m-Color, Vector3D m-Alpha, double m-StartTime ){ delete m-Position; delete m-Velocity; delete m-Size; delete m-Color; delete m-Alpha; x=〇; y=〇; StartX=O; StartY=O; StartTime=O; }〇
[0064] 本发明通过上述方法。能实现模拟各种可视化虚拟现实方面用途广泛,在模拟风、 雨、雷、电、爆炸、烟花等各种自然特效方面,本发明的粒子系统可以实现容易操作方便。
[0065] 基于上述方法实施例,本发明还提供了一种移动终端模拟粒子系统的系统,如图2 所示,移动终端模拟粒子系统的系统包括: 建立模块210,用于当移动终端需对模糊现象进行模拟时,建立粒子的帧启动;具体如 上所述。
[0066] 粒子生成模块220,用于当粒子的帧启动后,生成粒子并对粒子系统进行初始化; 具体如上所述。
[0067]判断模块230,用于判断粒子生命周期,如果生命周期结束,则删除粒子,如果生命 周期未结束,则更新粒子状态;具体如上所述。
[0068]渲染与仿真模块240,用于渲染粒子,通过对粒子系统的粒子属性进行对应渲染, 控制对模糊现象进行模拟,并利用三维可视化技术实现三维建模,利用粒子系统实现三维 动态仿真;具体如上所述。
[0069] 仿真完成控制模块250,用于粒子系统仿真完成,控制帧结束;具体如上所述。
[0070] 所述移动终端模拟粒子系统的系统采用上述任一项所述的方法实现。
[0071 ]所述移动终端模拟粒子系统的系统,其中,粒子生成模块包括: 控制单元,用于控制粒子系统粒子集的初始分布按照一定规律加以排列; 计算单元,用于假设粒子的空间坐标为,则粒子的三维坐标分布则满足一个约 束方?
其中服从一概率分布,所述概率分布为均匀分布或者正态分布。
[0072] 综上所述:本发明所提供的移动终端模拟粒子系统的方法,当移动终端需对模糊 现象进行模拟时,建立粒子的帧启动;生成粒子并对粒子系统进行初始化;判断粒子生命周 期,如果生命周期结束,则删除粒子,如果生命周期未结束,则更新粒子状态;渲染粒子,通 过对粒子系统的粒子属性进行对应渲染,控制对模糊现象进行模拟,并利用三维可视化技 术实现三维建模,利用粒子系统实现三维动态仿真;粒子系统仿真完成,帧结束。本发明通 过采用粒子系统对模糊现象进行模拟,利用粒子系统实现了三维动态仿真,提升了模拟效 果的真实度,将复杂运算的特效应用到移动终端中,方便了用户,提升了移动终端的游戏特 效处理速度。
[0073] 当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储 于一计算机可读取的存储介质中,该程序在执行时可包括如上述各方法实施例的流程。其 中所述的存储介质可为存储器、磁碟、光盘等。
[0074] 应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可 以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保 护范围。
【主权项】
1. 一种移动终端模拟粒子系统的方法,其特征在于,包括: 步骤A,当移动终端需对模糊现象进行模拟时,建立粒子的帧启动; 步骤B,当粒子的帧启动后,生成粒子并对粒子系统进行初始化; 步骤C,判断粒子生命周期,如果生命周期结束,则删除粒子,如果生命周期未结束,则 更新粒子状态; 步骤D,渲染粒子,通过对粒子系统的粒子属性进行对应渲染,控制对模糊现象进行模 拟,并利用三维可视化技术实现三维建模,利用粒子系统实现三维动态仿真; 步骤E,粒子系统仿真完成,帧结束。2. 根据权利要求1所述移动终端模拟粒子系统的方法,其特征在于,所述步骤B中的生 成粒子具体包括: B1、控制粒子系统粒子集的初始分布按照一定规律加以排列; B2、假设粒子的空间坐标为,则粒子的三维坐标分布则满足一个约束方程 .· 1 1 . 1 1 1L f - Ο . 其中(?:美分服从一概率分布汽笔其碎夂?,所述概率分布为均匀分布或者正态分布。3. 根据权利要求1所述移动终端模拟粒子系统的方法,其特征在于,所述步骤C中判断 粒子的生命周期是粒子系统的粒子属性来体现,粒子属性根据模拟场景的不同有所改变, 通用的粒子属性包括时间属性,空间属性,外观属性和运动属性,粒子系统根据不同场景的 模拟需要而呈现不同的粒子属性。4. 根据权利要求3所述移动终端模拟粒子系统的方法,其特征在于,所述粒子的时间属 性指粒子的生命周期;粒子的空间属性指粒子在三维空间中的坐标值,即X轴,Y轴,Z轴三个 坐标的分布;粒子的外观属性指粒子的颜色,尺寸,透明度」,其决定了粒子 的视觉效果;粒子的运动属性包括粒子的速度、加速度,在每两帧之 间,粒子的当前位置是由改粒子的前一帧的位置和当前的速度决定的;所述粒子运动属性 的加速度是一个综合的数值,受到重力Gravity、风力Wind Force、空气浮力Air Buoyancy 因素的影响,运用物理中的牛顿运动定律加以处理,最终得出一个加速度。5. 根据权利要求3所述移动终端模拟粒子系统的方法,其特征在于,所述粒子生成后, 在所述步骤D中,粒子属性随着帧数的更新而不断地改变,从微观上一个粒子的角度去分 析,假设当前帧为/帧,对比前一时间-1帧,两者之间的时间差为以:,所述粒子的空间属 性确定为:其中,为第爹帧粒子三维空间的坐标,/*〇5^&?1*^^为第膏-1帧粒子三 维空间的坐标,为第1帧时粒子在三维空间上的三个速度分量。6. 根据权利要求3所述移动终端模拟粒子系统的方法,其特征在于,在所述步骤D中,对 粒子进行渲染时,所述粒子的第/帧粒子运动属性确定为: 其中,Fe&ci^为第#帧粒子的速度,为第丨-1帧粒子的速度, 为第/-?帧粒子的加速度。7. 根据权利要求3所述移动终端模拟粒子系统的方法,其特征在于,在所述步骤D中,渲 染粒子包括粒子的外观属性,所述粒子外观属性变化包括:粒子的颜色的变化,粒子大小的 变化,和粒子透明度的变化。8. 根据权利要求7所述移动终端模拟粒子系统的方法,其特征在于,在所述步骤D中,渲 染粒子包括对粒子颜色的渲染,所述粒子颜色的变化确定为:其中,.?3ο???·表不粒子颜色属性值你,61,79),.1〇1^1?^6^._表不单位时间下粒子颜色的变 化值; 在所述步骤D中,渲染粒子包括对粒子大小的渲染,所述粒子大小的变化确定为:其中,_表示粒子的大小,洗表示单位时间下粒子尺寸的变化值; 在所述步骤D中,渲染粒子包括对粒子透明度的渲染,所述粒子透明度的变化确定为:其中,表示粒子的透明度,^&?£^表示单位时间内粒子透明度的变化值。9. 一种移动终端模拟粒子系统的系统,其特征在于,包括: 建立模块,用于当移动终端需对模糊现象进行模拟时,建立粒子的帧启动; 粒子生成模块,用于当粒子的帧启动后,生成粒子并对粒子系统进行初始化; 判断模块,用于判断粒子生命周期,如果生命周期结束,则删除粒子,如果生命周期未 结束,则更新粒子状态; 渲染与仿真模块,用于渲染粒子,通过对粒子系统的粒子属性进行对应渲染,控制对模 糊现象进行模拟,并利用三维可视化技术实现三维建模,利用粒子系统实现三维动态仿真; 仿真完成控制模块,用于粒子系统仿真完成,控制帧结束; 所述移动终端模拟粒子系统的系统采用权利要求1-8任一项所述的方法实现。10.根据权利要求9所述移动终端模拟粒子系统的系统,其特征在于,粒子生成模块包 括: 控制单元,用于控制粒子系统粒子集的初始分布按照一定规律加以排列; 计算单元,用于假设粒子的空间坐标为则粒子的三维坐标分布则满足一个约 束方程/〇^凡〇=〇; 其中玲服从一概率分布兄4=0:,所述概率分布为均匀分布或者正态分布。
【文档编号】G06T15/00GK106056660SQ201610372043
【公开日】2016年10月26日
【申请日】2016年5月31日
【发明人】丁俊
【申请人】深圳铂睿智恒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1