A calculation method and integral formula based on particle particle system, the method includes the steps of: particle motion state parameters preset in key frame; according to the current time of particles, a key frame to obtain the current time of particles and the next key frame; motion state parameters of particles by linear interpolation and definite integral for the time of the interpolation formula, the static attribute parameters of offset obtained current time of the particle relative to the previous key frame; the key frames of a time as the time of the new particle, the number of offset calculation of static attributes of the key frames a parameter, until a key frame for the initial frame of the key; the static attribute parameters obtained offset, and the initial key frame static attribute parameters are accumulated, static attribute parameters obtained the current time of particles. The invention can directly calculate the static position of the particle position and rotation angle, and can also solve the problem that the low end graphics card can not accelerate the particle calculation through GPU.
【技术实现步骤摘要】
一种基于积分公式的粒子计算方法及粒子系统
本专利技术涉及粒子系统
,特别是涉及一种基于积分公式的粒子计算方法。
技术介绍
通常粒子的计算需要使用上一帧计算的结果来累计计算下一帧的结果,而当相邻帧的时间不同粒子的计算周期不同时,由于在每一次计算中粒子的速度又为定值,这样会导致同样的粒子在不同帧率下可能会有不同的结果,从而需要多次重复计算。上述问题的一种解决方法是让粒子的计算独立于每帧的绘制并保持每帧间隔相同,然后在每帧中插值,由于插值通常是线性,或者适当的使用曲线,因此计算结果必然和原始数据不相同。与此同时,由于浮点精度问题,上述的两种方法无论哪个都无法让粒子回滚同样时间得到与之前相同的结果,无法精确的模拟时间倒流的效果。另一方面,因每次计算需要重新计算上一帧的计算结果,导致GPU如DX9.0b、OpenGLES2.0及更低的设备无法在顶点上缓存上一帧的计算结果,从而无法用于粒子计算,使得粒子的计算只能由CPU承担,占用CPU及显卡带宽。
技术实现思路
为了解决现有技术存在的不足,本专利技术的目的在于提供一种基于积分公式的粒子计算方法及粒子系统,可以更直接的求出粒子的位置、旋转角度等静态属性状态,同时还可以解决低端显卡无法通过GPU来加速粒子计算的问题。为实现上述目的,本专利技术提供的基于积分公式的粒子计算方法,包括以下步骤:(1)预设粒子在关键帧的运动状态参数;(2)根据粒子的当前时间,求得当前时间的粒子的上一关键帧和下一关键帧;(3)对粒子的运动状态参数进行线性插值并对差值公式求时间的定积分,求得当前时间的粒子相对于上一关键帧的静态属性参数偏移量;(4 ...
【技术保护点】
一种基于积分公式的粒子计算方法,其特征在于,包括以下步骤:(1)预设粒子在关键帧的运动状态参数;(2)根据粒子的当前时间,求得当前时间的粒子的上一关键帧和下一关键帧;(3)对粒子的运动状态参数进行线性插值并对差值公式求时间的定积分,求得当前时间的粒子相对于上一关键帧的静态属性参数偏移量;(4)将上一关键帧的时间作为新的粒子的当前时间,进行上一关键帧的静态属性参数偏移量计算,直至上一关键帧为初始关键帧;(5)对求得的静态属性参数偏移量,以及初始关键帧的静态属性参数进行累加,求得当前时间的粒子的静态属性参数。
【技术特征摘要】
1.一种基于积分公式的粒子计算方法,其特征在于,包括以下步骤:(1)预设粒子在关键帧的运动状态参数;(2)根据粒子的当前时间,求得当前时间的粒子的上一关键帧和下一关键帧;(3)对粒子的运动状态参数进行线性插值并对差值公式求时间的定积分,求得当前时间的粒子相对于上一关键帧的静态属性参数偏移量;(4)将上一关键帧的时间作为新的粒子的当前时间,进行上一关键帧的静态属性参数偏移量计算,直至上一关键帧为初始关键帧;(5)对求得的静态属性参数偏移量,以及初始关键帧的静态属性参数进行累加,求得当前时间的粒子的静态属性参数。2.根据权利要求1所述基于积分公式的粒子计算方法,其特征在于,所述运动状态参数为用于控制粒子运动和形状的参数。3.根据权利要求1所述基于积分公式的粒子计算方法,其特征在于,所述步骤(2)中,当前时间的粒子位于某一个关键帧上,则将某一个关键帧的时间作为粒子的当前时间。4.根据权利要求1所述基于积分公式的粒子计算方法,其特征在于,所述步骤(2)是,根据粒子的当前时间,通过二分查找法求得当前时间的粒子位于哪两个关键帧之间。5.根据权利要求1所述基于积分公式的粒子计算方法,其特征在于,所述静态属性参数,包括:当前时间的粒子的位置、旋转角度和大小。6.根据权利要求1所述基于积分公式的粒子计算方法,其特征在...
【专利技术属性】
技术研发人员:朱博,
申请(专利权)人:苏州蜗牛数字科技股份有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。