CN103389387A - 一种粒子受到力作用的效果实现方法及装置 - Google Patents

一种粒子受到力作用的效果实现方法及装置 Download PDF

Info

Publication number
CN103389387A
CN103389387A CN2013102824196A CN201310282419A CN103389387A CN 103389387 A CN103389387 A CN 103389387A CN 2013102824196 A CN2013102824196 A CN 2013102824196A CN 201310282419 A CN201310282419 A CN 201310282419A CN 103389387 A CN103389387 A CN 103389387A
Authority
CN
China
Prior art keywords
particle
described power
present frame
affect
power
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013102824196A
Other languages
English (en)
Other versions
CN103389387B (zh
Inventor
陈伟伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Digital Video Beijing Ltd
Original Assignee
China Digital Video Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Digital Video Beijing Ltd filed Critical China Digital Video Beijing Ltd
Priority to CN201310282419.6A priority Critical patent/CN103389387B/zh
Publication of CN103389387A publication Critical patent/CN103389387A/zh
Application granted granted Critical
Publication of CN103389387B publication Critical patent/CN103389387B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了一种粒子受到力作用的效果实现方法及装置,以解决如何在粒子系统中实现粒子受到力作用的效果的问题。其中,一种粒子受到力作用的效果实现方法包括:在粒子系统中添加力影响器,并设置所述力影响器的参数;在每一帧需要进行渲染时调节所述力影响器的参数;获取当前帧粒子的运动向量;依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果。本发明在粒子系统中实现了粒子受到力作用的效果。

Description

一种粒子受到力作用的效果实现方法及装置
技术领域
本发明涉及测试技术领域,特别是涉及一种粒子受到力作用的效果实现方法及装置。
背景技术
粒子以一定的速度运动,当粒子受到力作用之后,粒子运动速度的大小和方向都会发生改变。目前第三方的软件开发工具包(Software DevelopmentKit,SDK)并不能实现粒子受到力作用后的效果。
发明内容
本发明提供一种粒子受到力作用的效果实现方法及装置,以解决如何在粒子系统中实现粒子受到力作用的效果的问题。
为了解决上述问题,本发明公开了一种粒子受到力作用的效果实现方法,包括:
在粒子系统中添加力影响器,并设置所述力影响器的参数;
在每一帧需要进行渲染时调节所述力影响器的参数;
获取当前帧粒子的运动向量;
依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果。
可选地,所述力影响器的参数包括:力作用区域的宽、力作用区域的高、作用力的大小、作用力的方向、力作用区域的旋转角度、活跃性参数和力作用区域的中心点位置。
可选地,所述在每一帧需要进行渲染时调节所述力影响器的参数,包括:
调节所述力作用区域的宽;
调节所述力作用区域的高;
通过调节力度调节所述作用力的大小;
通过调节方向调节所述作用力的方向;
通过调节角度调节所述力作用区域的旋转角度;
通过调节活跃性调节所述活跃性参数,所述活跃性参数表征所述反射器是否有效;
调节所述中心点位置。
可选地,所述依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果,包括:
判断所述当前帧粒子是否在所述力作用区域内;
当所述当前帧粒子在所述力作用区域内时,将所述作用力的方向与所述作用力的大小相乘,所得积值作为作用力向量;
将所述当前帧粒子的运动向量与所述作用力向量相加,所得和值作为受所述力影响器影响后的粒子运动向量;
将所述受所述力影响器影响后的粒子运动向量与粒子受所述力影响器影响的时间相乘,所得积值作为所述当前帧粒子受所述力影响器影响后的效果。
可选地,所述判断所述当前帧粒子是否在所述力作用区域内,包括:
分别获取所述力作用区域的中心点坐标和所述当前帧粒子的位置坐标;
计算所述当前帧粒子的位置坐标反向旋转所述力作用区域的旋转角度之后的位置坐标,作为粒子旋转后的位置坐标;
将所述粒子旋转后的位置坐标与所述当前帧粒子的位置坐标相减,所得差值作为相对位置坐标;
当所述相对位置坐标的绝对值小于所述力作用区域的一半时,判定所述当前帧粒子在所述力作用区域内。
本发明还公开了一种粒子受到力作用的效果实现装置,包括:
添加模块,用于在粒子系统中添加力影响器,并设置所述力影响器的参数;
参数调节模块,用于在每一帧需要进行渲染时调节所述力影响器的参数;
获取模块,用于获取当前帧粒子的运动向量;
计算模块,用于依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果。
可选地,所述力影响器的参数包括:力作用区域的宽、力作用区域的高、作用力的大小、作用力的方向、力作用区域的旋转角度、活跃性参数和力作用区域的中心点位置。
可选地,所述参数调节模块包括:
区域宽调节子模块,用于调节所述力作用区域的宽;
区域高调节子模块,用于调节所述力作用区域的高;
力的大小调节子模块,用于通过调节力度调节所述作用力的大小;
力的方向调节子模块,用于通过调节方向调节所述作用力的方向;
角度调节子模块,用于通过调节角度调节所述力作用区域的旋转角度;
活跃性调节子模块,用于通过调节活跃性调节所述活跃性参数,所述活跃性参数表征所述反射器是否有效;
中心点调节子模块,用于调节所述中心点位置。
可选地,所述计算模块包括:
判断子模块,用于判断所述当前帧粒子是否在所述力作用区域内;
作用力向量计算子模块,用于当所述当前帧粒子在所述力作用区域内时,将所述作用力的方向与所述作用力的大小相乘,所得积值作为作用力向量;
运动向量计算子模块,用于将所述当前帧粒子的运动向量与所述作用力向量相加,所得和值作为受所述力影响器影响后的粒子运动向量;
效果计算子模块,用于将所述受所述力影响器影响后的粒子运动向量与粒子受所述力影响器影响的时间相乘,所得积值作为所述当前帧粒子受所述力影响器影响后的效果。
可选地,所述判断子模块包括:
坐标获取子单元,用于分别获取所述力作用区域的中心点坐标和所述当前帧粒子的位置坐标;
旋转子单元,用于计算所述当前帧粒子的位置坐标反向旋转所述力作用区域的旋转角度之后的位置坐标,作为粒子旋转后的位置坐标;
相对子单元,用于将所述粒子旋转后的位置坐标与所述当前帧粒子的位置坐标相减,所得差值作为相对位置坐标;
判定子单元,用于当所述相对位置坐标的绝对值小于所述力作用区域的一半时,判定所述当前帧粒子在所述力作用区域内。
与现有技术相比,本发明包括以下优点:
本发明通过在粒子系统中添加力影响器,并设置所述力影响器的参数,然后在每一帧需要进行渲染时调节所述力影响器的参数,接着获取当前帧粒子的运动向量,最后依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果,从而在粒子系统中实现了粒子受到力作用的效果。
附图说明
图1是本发明实施例一种粒子受到力作用的效果实现方法的流程图;
图2是本发明另一实施例一种粒子受到力作用的效果实现方法的流程图;
图3是本发明实施例一种粒子受到力作用的效果实现装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明一种粒子受到力作用的效果实现方法的流程图,本实施例具体可以包括以下步骤:
步骤100,在粒子系统中添加力影响器,并设置所述力影响器的参数。
本实施例扩展了第三方SDK的粒子系统,在粒子系统中添加了力影响器来实现粒子受到力作用的效果。本实施例所述的力影响器的参数具体可以包括:力作用区域的宽、力作用区域的高、作用力的大小、作用力的方向、力作用区域的旋转角度、活跃性参数和力作用区域的中心点位置。
步骤102,在每一帧需要进行渲染时调节所述力影响器的参数。
当需要进行渲染时,需要在所要渲染的当前帧上根据具体的渲染需求调节步骤100中添加的力影响器的参数,也就是调节力作用区域的宽、力作用区域的高、作用力的大小、作用力的方向、力作用区域的旋转角度、活跃性参数和力作用区域的中心点位置。
步骤104,获取当前帧粒子的运动向量。
本实施例可以通过粒子系统获取当前帧粒子的运动向量,即在当前帧上原粒子(未受力影响器影响的粒子)的运动的大小和运动的方向。运动大小和运动方向构成运动向量。当然也可以采用其他方式获取当前帧粒子的运动向量,本实施例对此不做限制。
步骤106,依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果。
本实施例可以依据步骤104中获取到的当前帧粒子的运动向量和步骤102中调节后的力影响器的参数来计算当前帧粒子受所述力影响器影响后的效果,即当前帧粒子受到力影响器影响之后的位置。
本实施例通过在粒子系统中添加力影响器,并设置所述力影响器的参数,然后在每一帧需要进行渲染时调节所述力影响器的参数,接着获取当前帧粒子的运动向量,最后依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果,从而在粒子系统中实现了粒子受到力作用的效果。
参照图2,示出了本发明一种粒子受到力作用的效果实现方法的流程图,本实施例具体可以包括以下步骤:
步骤200,在粒子系统中添加力影响器,并设置所述力影响器的参数。
本实施例扩展了第三方SDK的粒子系统,在粒子系统中添加了力影响器来实现粒子受到力作用的效果。本实施例所述的力影响器的参数具体可以包括:力作用区域的宽、力作用区域的高、作用力的大小、作用力的方向、力作用区域的旋转角度、活跃性参数和力作用区域的中心点位置。本实施例可以通过在粒子系统的界面上点击鼠标左键来添加上述力影响器,具体可以通过添加力影响器的实现类到粒子系统中。
需要说明的是,以所述力作用区域的宽为宽,以所述力作用区域的高为高组成的矩形作为力作用区域,所述矩形的大小即为力作用区域的大小。
需要说明的是,添加力影响器时设置的力影响器的参数,可以设置为默认值,例如设置所述力作用区域的旋转角度为0,活跃性参数为0。当然旋转角度也可以设置为-3000~3000范围内的任一数值。所述旋转角度表明所述力作用区域以所述力作用区域的中心点为旋转中心所旋转的角度,在本实施例中,旋转角度为正表明所述力作用区域以所述力作用区域的中心点为旋转中心逆时针旋转,旋转角度为负表明所述力作用区域以所述力作用区域的中心点为旋转中心顺时针旋转。
例如可以在添加力影响器时设置的力作用区域的宽为10、力作用区域的高5、作用力的大小为F、作用力的方向为水平向右、力作用区域的旋转角度为0、活跃性参数为0(活跃性参数为0代表无效,活跃性参数为1时代表有效)和力作用区域的中心点位置(5,2.5)。例如上述添加力影响器时设置的力作用区域四个点的坐标分别为A(0,0)、B(10,0)、C(0,5)、D(10,5)。
步骤202,在每一帧需要进行渲染时调节所述力影响器的参数。
本实施例在每一帧需要进行渲染时调节步骤200中所设置的力影响器的参数到实现类中,也就是调节力作用区域的宽、力作用区域的高、作用力的大小、作用力的方向、力作用区域的旋转角度、活跃性参数和力作用区域的中心点位置。
本实施例中所述在每一帧需要进行渲染时调节所述力影响器的参数,具体可以包括:
1)调节所述力作用区域的宽。
2)调节所述力作用区域的高。
3)通过调节力度调节所述作用力的大小。
4)通过调节方向调节所述作用力的方向。
5)通过调节角度调节所述力作用区域的旋转角度。
6)通过调节活跃性调节所述活跃性参数,所述活跃性参数表征所述反射器是否有效。
7)调节所述中心点位置。
例如可以对步骤200中设置的力影响器的参数进行调节,调节力作用区域的宽仍为10,力作用区域的高仍为5,作用力的大小仍为F、作用力的方向仍为水平向右、力作用区域的旋转角度调节为90度(表明将步骤200中设置的力作用区域逆时针旋转90度)、活跃性参数为1(活跃性参数为1时代表有效),力作用区域的中心点位置仍为(5,2.5),调节后的力作用区域的四个点坐标分别为E(7.5,-2.5)、F(7.5,7.5)、G(2.5,-2.5)、H(2.5,7.5),其中E是A以力作用区域的中心点为旋转中心逆时针旋转90度得到的、F是B以力作用区域的中心点为旋转中心逆时针旋转90度得到的、G是C以力作用区域的中心点为旋转中心逆时针旋转90度得到的、H是D以力作用区域的中心点为旋转中心逆时针旋转90度得到的。
步骤204,获取当前帧粒子的运动向量。
本实施例可以通过粒子系统获取当前帧粒子的运动向量,即在当前帧上原粒子(未受力影响器影响的粒子)的运动的大小和运动的方向。运动大小和运动方向构成运动向量。当然也可以采用其他方式获取当前帧粒子的运动向量,本实施例对此不做限制。
步骤206,依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果。
本实施例可以依据步骤204中获取到的当前帧粒子的运动向量和步骤202中调节后的力影响器的参数来计算当前帧粒子受所述力影响器影响后的效果,即当前帧粒子受到力影响器影响之后的位置。本实施例中所述依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果,具体可以包括以下子步骤:
子步骤2061,判断所述当前帧粒子是否在所述力作用区域内。
本实施例中以所述力作用区域的宽为宽,以所述力作用区域的高为高形成的矩形即为所述力作用区域。粒子在力作用区域内时,才会受到作用力的影响,因此需要首先判断当前帧粒子是否在所述力作用区域内。
本实施例判断所述当前帧粒子是否在所述力作用区域内,可以采用以下方式来实现:
a:分别获取所述力作用区域的中心点坐标和所述当前帧粒子的位置坐标;
b:计算所述当前帧粒子的位置坐标反向旋转所述力作用区域的旋转角度之后的位置坐标,作为粒子旋转后的位置坐标;
需要说明的是,粒子的当前帧粒子位置坐标的旋转方向与力作用区域旋转方向相反,例如旋转角度为90度,力作用区域以力作用区域的中心位置为旋转中心逆时针旋转90度,则粒子的位置坐标以力作用区域的中心位置为中心顺时针旋转90度。
c:将所述粒子旋转后的位置坐标与所述当前帧粒子的位置坐标相减,所得差值作为相对位置坐标;
例如,当前帧粒子的作为坐标为P1(x1,y1),旋转后的位置坐标为P2(x2,y2),P2减去P1就可以得到P2与P1的相对位置坐标vPos(x3,y3),即粒子旋转后的位置坐标与当前帧粒子的位置坐标的相对位置坐标。
d:当所述相对位置坐标的绝对值小于所述力作用区域的一半时,判定所述当前帧粒子在所述力作用区域内。
本实施例当粒子的相对位置坐标满足下列公式时,表明粒子在力作用区域内,受到作用力的影响。其中,mBoxHeight指力作用区域的高,mBoxWidth指力作用区域的宽,vPos.y表示相对位置坐标vPos(x3,y3)的纵坐标(即y3),vPos.x表示相对位置坐标vPos(x3,y3)的横坐标(即x3)。
if(vPos.y<mBoxHeight/2&&
vPos.y>-mBoxHeight/2&&
vPos.x>-mBoxWidth/2&&
vPos.x<mBoxWidth/2)
即当所述相对位置坐标的绝对值小于所述力作用区域的一半时,判定所述当前帧粒子在所述力作用区域内。
子步骤2062,当所述当前帧粒子在所述力作用区域内时,将所述作用力的方向与所述作用力的大小相乘,所得积值作为作用力向量。
当所述当前帧粒子在所述力作用区域内时,将步骤202调节的作用力的方向mForceDirection与所述作用力的大小mForceStrength相乘,所得积值作为作用力向量(mForceDirection*mForceStrength)。
子步骤2063,将所述当前帧粒子的运动向量与所述作用力向量相加,所得和值作为受所述力影响器影响后的粒子运动向量。
将当前帧粒子的运动向量D1与所述作用力向量mForceDirection*mForceStrength相加,所得和值作为受所述力影响器影响后的粒子运动向量D2,即D2=direction+mForceDirection*mForceStrength。
子步骤2064,将所述受所述力影响器影响后的粒子运动向量与粒子受所述力影响器影响的时间相乘,所得积值作为所述当前帧粒子受所述力影响器影响后的效果。
将所述受所述力影响器影响后的粒子运动向量D2与粒子受所述力影响器影响的时间time相乘,所得积值(time*D2)作为所述当前帧粒子受所述力影响器影响后的效果Pos,即Pos=time*D2。
需要说明的是,粒子受所述力影响器影响的时间time可以通过粒子系统直接获得。也可以通过其他方式获得,本实施例对此不作限制。
本实施例通过在粒子系统中添加力影响器,并设置所述力影响器的参数,然后在每一帧需要进行渲染时调节所述力影响器的参数,接着获取当前帧粒子的运动向量,最后依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果,从而在粒子系统中实现了粒子受到力作用的效果。本实施例还介绍了判断当前帧粒子是否在力作用区域内的具体实现方式,并且详细介绍了如何依据当前帧粒子的运动向量和力影响器的参数计算当前帧粒子受所述力影响器影响后的效果。
参照图3,示出了本发明一种粒子受到力作用的效果实现装置的结构框图,本实施例具体可以包括:添加模块10、参数调节模块12、获取模块14、计算模块16,其中:
添加模块10,用于在粒子系统中添加力影响器,并设置所述力影响器的参数。本实施例中添加模块10设置的力影响器的参数具体可以包括:力作用区域的宽、力作用区域的高、作用力的大小、作用力的方向、力作用区域的旋转角度、活跃性参数和力作用区域的中心点位置。
参数调节模块12,用于在每一帧需要进行渲染时调节所述力影响器的参数。
在本发明的一种优选实施例中,所述参数调节模块12具体可以包括以下子模块:
区域宽调节子模块,用于调节所述力作用区域的宽;
区域高调节子模块,用于调节所述力作用区域的高;
力的大小调节子模块,用于通过调节力度调节所述作用力的大小;
力的方向调节子模块,用于通过调节方向调节所述作用力的方向;
角度调节子模块,用于通过调节角度调节所述力作用区域的旋转角度;
活跃性调节子模块,用于通过调节活跃性调节所述活跃性参数,所述活跃性参数表征所述反射器是否有效;
中心点调节子模块,用于调节所述中心点位置。
获取模块14,用于获取当前帧粒子的运动向量。
计算模块16,用于依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果。
在本发明的一种优选实施例中所述计算模块16具体可以包括:判断子模块、作用力向量计算子模块、运动向量计算子模块和效果计算子模块,其中:
判断子模块,用于判断所述当前帧粒子是否在所述力作用区域内;
作用力向量计算子模块,用于当所述当前帧粒子在所述力作用区域内时,将所述作用力的方向与所述作用力的大小相乘,所得积值作为作用力向量;
运动向量计算子模块,用于将所述当前帧粒子的运动向量与所述作用力向量相加,所得和值作为受所述力影响器影响后的粒子运动向量;
效果计算子模块,用于将所述受所述力影响器影响后的粒子运动向量与粒子受所述力影响器影响的时间相乘,所得积值作为所述当前帧粒子受所述力影响器影响后的效果。
在本发明的另一种优选实施例中,所述判断子模块包括:坐标获取子单元、旋转子单元、相对子单元和判定子单元,其中:
坐标获取子单元,用于分别获取所述力作用区域的中心点坐标和所述当前帧粒子的位置坐标;
旋转子单元,用于计算所述当前帧粒子的位置坐标反向旋转所述力作用区域的旋转角度之后的位置坐标,作为粒子旋转后的位置坐标;
相对子单元,用于将所述粒子旋转后的位置坐标与所述当前帧粒子的位置坐标相减,所得差值作为相对位置坐标;
判定子单元,用于当所述相对位置坐标的绝对值小于所述力作用区域的一半时,判定所述当前帧粒子在所述力作用区域内。
本实施例提供的粒子受到力作用的效果实现装置通过添加模块10在粒子系统中添加力影响器,并设置所述力影响器的参数,然后参数调节模块12在每一帧需要进行渲染时调节所述力影响器的参数,接着获取模块14获取当前帧粒子的运动向量,最后计算模块16依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果,从而在粒子系统中实现了粒子受到力作用的效果。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种粒子受到力作用的效果实现方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种粒子受到力作用的效果实现方法,其特征在于,包括:
在粒子系统中添加力影响器,并设置所述力影响器的参数;
在每一帧需要进行渲染时调节所述力影响器的参数;
获取当前帧粒子的运动向量;
依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果。
2.根据权利要求1所述的方法,其特征在于:
所述力影响器的参数包括:力作用区域的宽、力作用区域的高、作用力的大小、作用力的方向、力作用区域的旋转角度、活跃性参数和力作用区域的中心点位置。
3.根据权利要求2所述的方法,其特征在于,所述在每一帧需要进行渲染时调节所述力影响器的参数,包括:
调节所述力作用区域的宽;
调节所述力作用区域的高;
通过调节力度调节所述作用力的大小;
通过调节方向调节所述作用力的方向;
通过调节角度调节所述力作用区域的旋转角度;
通过调节活跃性调节所述活跃性参数,所述活跃性参数表征所述反射器是否有效;
调节所述中心点位置。
4.根据权利要求3所述的方法,其特征在于,所述依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果,包括:
判断所述当前帧粒子是否在所述力作用区域内;
当所述当前帧粒子在所述力作用区域内时,将所述作用力的方向与所述作用力的大小相乘,所得积值作为作用力向量;
将所述当前帧粒子的运动向量与所述作用力向量相加,所得和值作为受所述力影响器影响后的粒子运动向量;
将所述受所述力影响器影响后的粒子运动向量与粒子受所述力影响器影响的时间相乘,所得积值作为所述当前帧粒子受所述力影响器影响后的效果。
5.根据权利要求4所述的方法,其特征在于,所述判断所述当前帧粒子是否在所述力作用区域内,包括:
分别获取所述力作用区域的中心点坐标和所述当前帧粒子的位置坐标;
计算所述当前帧粒子的位置坐标反向旋转所述力作用区域的旋转角度之后的位置坐标,作为粒子旋转后的位置坐标;
将所述粒子旋转后的位置坐标与所述当前帧粒子的位置坐标相减,所得差值作为相对位置坐标;
当所述相对位置坐标的绝对值小于所述力作用区域的一半时,判定所述当前帧粒子在所述力作用区域内。
6.一种粒子受到力作用的效果实现装置,其特征在于,包括:
添加模块,用于在粒子系统中添加力影响器,并设置所述力影响器的参数;
参数调节模块,用于在每一帧需要进行渲染时调节所述力影响器的参数;
获取模块,用于获取当前帧粒子的运动向量;
计算模块,用于依据所述当前帧粒子的运动向量和所述力影响器的参数计算所述当前帧粒子受所述力影响器影响后的效果。
7.根据权利要求6所述的装置,其特征在于:
所述力影响器的参数包括:力作用区域的宽、力作用区域的高、作用力的大小、作用力的方向、力作用区域的旋转角度、活跃性参数和力作用区域的中心点位置。
8.根据权利要求7所述的装置,其特征在于,所述参数调节模块包括:
区域宽调节子模块,用于调节所述力作用区域的宽;
区域高调节子模块,用于调节所述力作用区域的高;
力的大小调节子模块,用于通过调节力度调节所述作用力的大小;
力的方向调节子模块,用于通过调节方向调节所述作用力的方向;
角度调节子模块,用于通过调节角度调节所述力作用区域的旋转角度;
活跃性调节子模块,用于通过调节活跃性调节所述活跃性参数,所述活跃性参数表征所述反射器是否有效;
中心点调节子模块,用于调节所述中心点位置。
9.根据权利要求8所述的装置,其特征在于,所述计算模块包括:
判断子模块,用于判断所述当前帧粒子是否在所述力作用区域内;
作用力向量计算子模块,用于当所述当前帧粒子在所述力作用区域内时,将所述作用力的方向与所述作用力的大小相乘,所得积值作为作用力向量;
运动向量计算子模块,用于将所述当前帧粒子的运动向量与所述作用力向量相加,所得和值作为受所述力影响器影响后的粒子运动向量;
效果计算子模块,用于将所述受所述力影响器影响后的粒子运动向量与粒子受所述力影响器影响的时间相乘,所得积值作为所述当前帧粒子受所述力影响器影响后的效果。
10.根据权利要求9所述的装置,其特征在于,所述判断子模块包括:
坐标获取子单元,用于分别获取所述力作用区域的中心点坐标和所述当前帧粒子的位置坐标;
旋转子单元,用于计算所述当前帧粒子的位置坐标反向旋转所述力作用区域的旋转角度之后的位置坐标,作为粒子旋转后的位置坐标;
相对子单元,用于将所述粒子旋转后的位置坐标与所述当前帧粒子的位置坐标相减,所得差值作为相对位置坐标;
判定子单元,用于当所述相对位置坐标的绝对值小于所述力作用区域的一半时,判定所述当前帧粒子在所述力作用区域内。
CN201310282419.6A 2013-07-05 2013-07-05 一种粒子受到力作用的效果实现方法及装置 Active CN103389387B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310282419.6A CN103389387B (zh) 2013-07-05 2013-07-05 一种粒子受到力作用的效果实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310282419.6A CN103389387B (zh) 2013-07-05 2013-07-05 一种粒子受到力作用的效果实现方法及装置

Publications (2)

Publication Number Publication Date
CN103389387A true CN103389387A (zh) 2013-11-13
CN103389387B CN103389387B (zh) 2019-02-22

Family

ID=49533721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310282419.6A Active CN103389387B (zh) 2013-07-05 2013-07-05 一种粒子受到力作用的效果实现方法及装置

Country Status (1)

Country Link
CN (1) CN103389387B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106110658A (zh) * 2016-07-22 2016-11-16 网易(杭州)网络有限公司 一种在游戏中使用的模拟方法和装置
WO2023121569A3 (zh) * 2021-12-22 2023-08-24 脸萌有限公司 粒子特效渲染方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1753031A (zh) * 2005-11-10 2006-03-29 北京航空航天大学 基于gpu的粒子系统
CN101685530A (zh) * 2008-09-23 2010-03-31 中国科学院过程工程研究所 一种在gpu上利用多体作用模型进行粒子计算的方法
US7710417B2 (en) * 2007-01-15 2010-05-04 Microsoft Corporation Spatial binning of particles on a GPU
CN102147928A (zh) * 2011-03-16 2011-08-10 美通日用品(杭州)有限公司 一种基于粒子系统的火焰模拟加速改进算法
CN102426691A (zh) * 2011-10-24 2012-04-25 克拉玛依红有软件有限责任公司 一种基于gpu的实时火焰效果的模拟方法
CN102722859A (zh) * 2012-05-31 2012-10-10 北京像素软件科技股份有限公司 一种计算机仿真场景渲染方法
CN102867334A (zh) * 2012-08-23 2013-01-09 苏州两江科技有限公司 基于粒子系统模型进行实时模拟雪花沉积的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1753031A (zh) * 2005-11-10 2006-03-29 北京航空航天大学 基于gpu的粒子系统
US7710417B2 (en) * 2007-01-15 2010-05-04 Microsoft Corporation Spatial binning of particles on a GPU
CN101685530A (zh) * 2008-09-23 2010-03-31 中国科学院过程工程研究所 一种在gpu上利用多体作用模型进行粒子计算的方法
CN102147928A (zh) * 2011-03-16 2011-08-10 美通日用品(杭州)有限公司 一种基于粒子系统的火焰模拟加速改进算法
CN102426691A (zh) * 2011-10-24 2012-04-25 克拉玛依红有软件有限责任公司 一种基于gpu的实时火焰效果的模拟方法
CN102722859A (zh) * 2012-05-31 2012-10-10 北京像素软件科技股份有限公司 一种计算机仿真场景渲染方法
CN102867334A (zh) * 2012-08-23 2013-01-09 苏州两江科技有限公司 基于粒子系统模型进行实时模拟雪花沉积的方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
吴银霞: "基于OpenGL的3D粒子特效系统设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
朱毅等: "《游戏特效设计》", 30 April 2012, 清华大学出版社 *
程朋根等: "《三维空间数据建模及算法》", 30 November 2011, 国防工业出版社 *
袁霞等: "粒子系统方法及其应用", 《云南师范大学学报》 *
贺瞿: "基于动力学原理的Maya粒子特效插件", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106110658A (zh) * 2016-07-22 2016-11-16 网易(杭州)网络有限公司 一种在游戏中使用的模拟方法和装置
CN106110658B (zh) * 2016-07-22 2019-07-02 网易(杭州)网络有限公司 一种在游戏中使用的模拟方法和装置
WO2023121569A3 (zh) * 2021-12-22 2023-08-24 脸萌有限公司 粒子特效渲染方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN103389387B (zh) 2019-02-22

Similar Documents

Publication Publication Date Title
CN105118021B (zh) 基于特征点的图像配准方法及系统
WO2018120011A1 (zh) 投影图像校正方法、校正装置及机器人
CN103076880B (zh) 一种终端浏览页面时控制翻页的方法及终端
CN104349095A (zh) 一种图像调整方法、装置及电子设备
JP7220083B2 (ja) 風速分布推定装置及び風速分布推定方法
JP2011048586A5 (zh)
CN106446353B (zh) 一种大间隙电磁作动器洛伦兹力高精度建模方法
CN103389387A (zh) 一种粒子受到力作用的效果实现方法及装置
CN108927801A (zh) 一种机械臂末端姿态调整方法及装置
CN104807405B (zh) 一种基于光线角度标定的三维坐标测量方法
CN107197222B (zh) 生成投影设备的校正信息的方法及装置
CN111008414B (zh) 一种基于html5的户型图绘制方法及系统
US9779484B2 (en) Dynamic motion path blur techniques
CN104020925A (zh) 投影方法及装置
CN102841951B (zh) 三次元安全面建立系统及方法
CN106097309A (zh) 一种智能显示视觉图像的位置信息处理方法及系统
JP2014508455A5 (zh)
US20100088055A1 (en) System and method for positioning a coordinate system in relation to a workpiece on a measurement machine
CN109636874B (zh) 一种三维模型透视投影方法、系统及相关装置
Cisneros-Limon et al. An inverse dynamics-based multi-contact locomotion control framework without joint torque feedback
CN107145706A (zh) 虚拟现实vr设备融合算法性能参数的评估方法及装置
CN106643602B (zh) 一种探针基准补偿系统及方法
KR20130032764A (ko) 기준 시점 영상 생성 장치 및 방법
JP6384189B2 (ja) 磁化解析装置、磁化解析方法および磁化解析プログラム
US20160011283A1 (en) Accelerating first order reversal curve distribution measurments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant