CN106780767A - 粒子编辑方法及粒子编辑器 - Google Patents
粒子编辑方法及粒子编辑器 Download PDFInfo
- Publication number
- CN106780767A CN106780767A CN201611060559.9A CN201611060559A CN106780767A CN 106780767 A CN106780767 A CN 106780767A CN 201611060559 A CN201611060559 A CN 201611060559A CN 106780767 A CN106780767 A CN 106780767A
- Authority
- CN
- China
- Prior art keywords
- particle
- time
- information
- default
- vertex information
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明涉及一种粒子编辑方法及粒子编辑器,其中粒子编辑方法包括:在需要发射新的粒子时产生一个新的粒子;根据预设的粒子属性函数,结合时刻信息更新已经产生的每个粒子的属性值;根据每个粒子的属性值生成对应粒子的顶点信息;将一个时刻中所有粒子的顶点信息输出为一帧的粒子信息。与现有技术相比,本发明支持序列帧的输出,粒子的属性根据预设的属性函数按照时刻进行更新,得到的粒子显示效果更好,可以方便地修改函数的参数修改粒子的属性。
Description
技术领域
本发明涉及一种计算机图像领域,尤其是涉及一种粒子编辑方法及粒子编辑器。
背景技术
粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现的真实感的game physics。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉效果等等。
Particle Designer和cocos2d-windows-particle-editor分别是mac下的粒子编辑工具,后者是windows下的粒子编辑工具。他们的共同点就是对于现有的cocos2d的粒子系统的各种属性,提供一个可视化工具进行方便的设置,可以随着参数的更改,及时的反馈出不同的效果,达到更高的特效制作的工作效率。
然而其均有一定的缺陷,基本上是只能针对一个粒子系统进行编辑,并且在属性参数设置界面上,效率都不是很高。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种粒子编辑方法及粒子编辑器。
本发明的目的可以通过以下技术方案来实现:
一种粒子编辑方法,包括:
在需要发射新的粒子时产生一个新的粒子;
根据预设的粒子属性函数,结合时刻信息更新已经产生的每个粒子的属性值;
根据每个粒子的属性值生成对应粒子的顶点信息;
将一个时刻中所有粒子的顶点信息输出为一帧的粒子信息。
所述根据预设的粒子属性函数,结合时刻信息更新已经产生的每个粒子的属性值,包括:
获取粒子已存活的时间;
基于粒子已存活的时间,根据预设的粒子属性函数分别得到粒子的颜色、大小和相对于出生点位置。
所述根据每个粒子的属性值生成对应粒子的顶点信息,包括:
在需要3D变换时根据粒子的大小进行3D变换;
根据锚点位置,结合粒子的相对位置得到粒子的坐标;
整合得到粒子的顶点信息。
所述获取粒子已存活的时间,包括:
根据当前时刻和粒子产生时刻得到粒子已存活时间;
在已存活时间大于设定阈值时,删除该该粒子。
所述预设的粒子属性函数为分段函数。
一种粒子编辑器,包括:
粒子产生装置,用于在需要发射新的粒子时产生一个新的粒子;
属性计算装置,用于根据预设的粒子属性函数,结合时刻信息更新已经产生的每个粒子的属性值;
顶点信息计算装置,用于根据每个粒子的属性值生成对应粒子的顶点信息;
信息输出装置,用于将一个时刻中所有粒子的顶点信息输出为一帧的粒子信息。
所述属性计算装置包括:
存活时间计算模块,用于获取粒子已存活的时间;
函数计算模块,用于基于粒子已存活的时间,根据预设的粒子属性函数分别得到粒子的颜色、大小和相对位置。
所述顶点信息计算装置包括:
3D变换模块,用于在需要3D变换时根据粒子的大小进行3D变换;
锚点变换模块,用于根据锚点位置,结合粒子的相对位置得到粒子的坐标;
顶点信息整合模块,用于整合得到粒子的顶点信息。
所述存活时间计算模块包括:
时间计算单元,用于根据当前时刻和粒子产生时刻得到粒子已存活时间;
时间比对单元,用于在已存活时间大于设定阈值时,删除该该粒子。
所述预设的粒子属性函数为分段函数。
与现有技术相比,本发明具有以下优点:
1)支持序列帧的输出,粒子的属性根据预设的属性函数按照时刻进行更新,得到的粒子显示效果更好,可以方便地修改函数的参数修改粒子的属性。
2)预设的粒子属性函数包括分别用于计算粒子的颜色、大小和相对位置的类,实现粒子属性在其生命周期内变化的多元化。
3)粒子可以进行3D变换,且锚点可变,可以自定义锚点,不规则变化时有着更高的开发效率。
4)对粒子的时间进行了控制,可以达到多个粒子配合显示。
附图说明
图1为本发明的主要步骤流程示意图;
图2为粒子系统一帧的更新流程示意图;
图3为基于本发明设计的编辑工具的架构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
当我们想用粒子系统做一个更真实的火焰,可能会这样设计,首先粒子发射出呈现出内焰的颜色,会稍微偏黄色,然后渐变成外焰,会稍微偏红色,最后慢慢的消失,而在速度上也是先后快,然后更快的一个过程。这样,我们就需要粒子在其整个生命周期内属性参数呈现出一种非线性的变化方式。
再比如说我们可能会以2.5d视角呈现出粒子在地面上旋转的效果,这个时候,为了更为真实,我们希望粒子以我们地面的法线为轴去进行旋转,或者某种情况下我们希望粒子在放缩或者旋转的时候不是基于中心点,而是自定义的锚点等。这时候,我们就需要增加或者修改一些粒子系统的属性。
为此,提供一种粒子编辑方法,如图1所示,包括:
在需要发射新的粒子时产生一个新的粒子;
根据预设的粒子属性函数,结合时刻信息更新已经产生的每个粒子的属性值;
根据每个粒子的属性值生成对应粒子的顶点信息;
将一个时刻中所有粒子的顶点信息输出为一帧的粒子信息。
根据预设的粒子属性函数,结合时刻信息更新已经产生的每个粒子的属性值,包括:
获取粒子已存活的时间;
基于粒子已存活的时间,根据预设的粒子属性函数分别得到粒子的颜色、大小和相对位置。
根据每个粒子的属性值生成对应粒子的顶点信息,包括:
在需要3D变换时根据粒子的大小进行3D变换;
根据锚点位置,结合粒子的相对位置得到粒子的坐标;
整合得到粒子的顶点信息。
获取粒子已存活的时间,包括:
根据当前时刻和粒子产生时刻得到粒子已存活时间;
在已存活时间大于设定阈值时,删除该该粒子。
预设的粒子属性函数为分段函数。
与之对应的一种粒子编辑器,包括:
粒子产生装置,用于在需要发射新的粒子时产生一个新的粒子;
属性计算装置,用于根据预设的粒子属性函数,结合时刻信息更新已经产生的每个粒子的属性值;
顶点信息计算装置,用于根据每个粒子的属性值生成对应粒子的顶点信息;
信息输出装置,用于将一个时刻中所有粒子的顶点信息输出为一帧的粒子信息。
属性计算装置包括:
存活时间计算模块,用于获取粒子已存活的时间;
函数计算模块,用于基于粒子已存活的时间,根据预设的粒子属性函数分别得到粒子的颜色、大小和相对位置。
顶点信息计算装置包括:
3D变换模块,用于在需要3D变换时根据粒子的大小进行3D变换;
锚点变换模块,用于根据锚点位置,结合粒子的相对位置得到粒子的坐标;
顶点信息整合模块,用于整合得到粒子的顶点信息。
存活时间计算模块包括:
时间计算单元,用于根据当前时刻和粒子产生时刻得到粒子已存活时间;
时间比对单元,用于在已存活时间大于设定阈值时,删除该该粒子。
本申请主要是针对现有cocos2d的粒子系统进行扩展——使其呈现出更丰富的效果,和其编辑工具的开发——以提高特效制作效率。
功能1:对于粒子属性在其整个生命周期内非线性变换
解决方案:首先写了一个分段线性函数的类模板,该结构主要包含一系列键值对,每个键表示粒子已存活的时间,值代表了对应时间上的值,该值根据不同的类型实例化后为不同的类型,还包含了一个根据时间计算值的算法。然后分别实例化为分段线性color类、分段线性size类、分段线性vec3类等。并用这些类型去替换掉之前相应的属性。在每一帧粒子顶点数据生成的时候,会根据其当前处于生命周期的什么位置,找到对应的属性值,并根据此值去计算顶点信息。
功能2:对粒子添加序列帧支持、锚点、3D变换等功能
解决方案:序列帧支持实际上原理和上边的描述的一样,根据当前粒子存活时间,获取对应的纹理。而其他的添加的功能,则是在每帧产生粒子顶点信息时,多了一些变换。
粒子系统一帧的更新流程如图2所示:
功能3:粒子编辑工具
该工具架构分为两层,如图3所示,上次为参数设置面板,底层为改造后的Cocos2d系统。并且在上下两层都保存了一份当前特效的所有参数,每当上层有参数改动的时候,便将参数传递到底层,同时,我们还对粒子的时间进行了控制,已达到多个粒子配合显示。在操作界面上,我们采用了cocos2d-windows-particle-editor的方式,类似于属性面板,但是,为了更高的制作效率,我们把每个属性参数面板,根据不同的类型,提供不同的操作方式,使得制作特效过程显得更快捷更直观。
使用过程:
1.首先由美术人员使用粒子编辑工具,做出一个预想的效果,并保存
2.使用工具将特效文件批量导出为plist文件和合图后的纹理
3.在游戏中加载纹理和plist文件并解析初始化粒子系统
Claims (10)
1.一种粒子编辑方法,其特征在于,包括:
在需要发射新的粒子时产生一个新的粒子;
根据预设的粒子属性函数,结合时刻信息更新已经产生的每个粒子的属性值;
根据每个粒子的属性值生成对应粒子的顶点信息;
将一个时刻中所有粒子的顶点信息输出为一帧的粒子信息。
2.根据权利要求1所述的一种粒子编辑方法,其特征在于,所述根据预设的粒子属性函数,结合时刻信息更新已经产生的每个粒子的属性值,包括:
获取粒子已存活的时间;
基于粒子已存活的时间,根据预设的粒子属性函数分别得到粒子的颜色、大小和相对于出生点位置。
3.根据权利要求2所述的一种粒子编辑方法,其特征在于,所述根据每个粒子的属性值生成对应粒子的顶点信息,包括:
在需要3D变换时根据粒子的大小进行3D变换;
根据锚点位置,结合粒子的相对位置得到粒子的坐标;
整合得到粒子的顶点信息。
4.根据权利要求2所述的一种粒子编辑方法,其特征在于,所述获取粒子已存活的时间,包括:
根据当前时刻和粒子产生时刻得到粒子已存活时间;
在已存活时间大于设定阈值时,删除该该粒子。
5.根据权利要求1所述的一种粒子编辑方法,其特征在于,所述预设的粒子属性函数为分段函数。
6.一种粒子编辑器,其特征在于,包括:
粒子产生装置,用于在需要发射新的粒子时产生一个新的粒子;
属性计算装置,用于根据预设的粒子属性函数,结合时刻信息更新已经产生的每个粒子的属性值;
顶点信息计算装置,用于根据每个粒子的属性值生成对应粒子的顶点信息;
信息输出装置,用于将一个时刻中所有粒子的顶点信息输出为一帧的粒子信息。
7.根据权利要求6所述的一种粒子编辑器,其特征在于,所述属性计算装置包括:
存活时间计算模块,用于获取粒子已存活的时间;
函数计算模块,用于基于粒子已存活的时间,根据预设的粒子属性函数分别得到粒子的颜色、大小和相对位置。
8.根据权利要求7所述的一种粒子编辑器,其特征在于,所述顶点信息计算装置包括:
3D变换模块,用于在需要3D变换时根据粒子的大小进行3D变换;
锚点变换模块,用于根据锚点位置,结合粒子的相对位置得到粒子的坐标;
顶点信息整合模块,用于整合得到粒子的顶点信息。
9.根据权利要求7所述的一种粒子编辑器,其特征在于,所述存活时间计算模块包括:
时间计算单元,用于根据当前时刻和粒子产生时刻得到粒子已存活时间;
时间比对单元,用于在已存活时间大于设定阈值时,删除该该粒子。
10.根据权利要求6所述的一种粒子编辑器,其特征在于,所述预设的粒子属性函数为分段函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611060559.9A CN106780767A (zh) | 2016-11-25 | 2016-11-25 | 粒子编辑方法及粒子编辑器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611060559.9A CN106780767A (zh) | 2016-11-25 | 2016-11-25 | 粒子编辑方法及粒子编辑器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106780767A true CN106780767A (zh) | 2017-05-31 |
Family
ID=58911604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611060559.9A Pending CN106780767A (zh) | 2016-11-25 | 2016-11-25 | 粒子编辑方法及粒子编辑器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106780767A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111540035A (zh) * | 2020-05-07 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 粒子渲染方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455323A (zh) * | 2013-07-05 | 2013-12-18 | 新奥特(北京)视频技术有限公司 | 一种粒子效果的实现方法及装置 |
US8994737B2 (en) * | 2011-03-31 | 2015-03-31 | Stuart Ferguson | System for particle editing |
CN106056660A (zh) * | 2016-05-31 | 2016-10-26 | 深圳铂睿智恒科技有限公司 | 一种移动终端模拟粒子系统的方法 |
-
2016
- 2016-11-25 CN CN201611060559.9A patent/CN106780767A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8994737B2 (en) * | 2011-03-31 | 2015-03-31 | Stuart Ferguson | System for particle editing |
CN103455323A (zh) * | 2013-07-05 | 2013-12-18 | 新奥特(北京)视频技术有限公司 | 一种粒子效果的实现方法及装置 |
CN106056660A (zh) * | 2016-05-31 | 2016-10-26 | 深圳铂睿智恒科技有限公司 | 一种移动终端模拟粒子系统的方法 |
Non-Patent Citations (2)
Title |
---|
吴银霞: "基于OpenGL的3D粒子特效系统设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
宇亚卫: "基于粒子系统的三维火焰模拟", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111540035A (zh) * | 2020-05-07 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 粒子渲染方法、装置及设备 |
CN111540035B (zh) * | 2020-05-07 | 2022-05-06 | 支付宝(杭州)信息技术有限公司 | 粒子渲染方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Beaudoin et al. | Realistic and controllable fire simulation | |
Bruneton et al. | Real‐time rendering and editing of vector‐based terrains | |
KR101235538B1 (ko) | 규칙 기반 절차적 지형 생성 | |
CN106600705A (zh) | 在vr中关于虚拟环境和真实环境相互模拟的方法 | |
KR101148613B1 (ko) | 지형 생성 시스템, 지형 생성 방법 및 프로그램 저장 장치 | |
US8368686B2 (en) | Resource management for rule-based procedural terrain generation | |
CN109961495B (zh) | 一种vr编辑器的实现方法及vr编辑器 | |
CN106204735B (zh) | Unity3D地形数据在Direct3D 11环境中的使用方法 | |
CN106056660A (zh) | 一种移动终端模拟粒子系统的方法 | |
Zhao et al. | Voxels on fire [computer animation] | |
CN109448137A (zh) | 交互方法、交互装置、电子设备及存储介质 | |
CN116051759B (zh) | 一种生成倾斜摄影lod简化模型的方法 | |
WO2022062254A1 (zh) | 一种实时雨雪特效渲染方法和装置 | |
CN106570926A (zh) | 一种飞行视景仿真中高效的粒子云层绘制方法 | |
CN106842983A (zh) | 一种面向余热发电的三维动态监控系统的建立方法 | |
CN106548500A (zh) | 一种基于gpu的二维态势图像处理方法及装置 | |
CN116152460A (zh) | 一种基于ue4的岩层模型生成方法、装置、终端及介质 | |
CN111354061A (zh) | 基于图形学在gis系统模拟下雪场景处理方法及装置 | |
CN106780767A (zh) | 粒子编辑方法及粒子编辑器 | |
CN115690344A (zh) | 海绵城市沙盘及天气模拟系统 | |
CN110400366B (zh) | 一种基于OpenGL的实时洪水灾害可视化仿真方法 | |
CN107679150A (zh) | 海量三维数据快速调度方法 | |
CN107886573A (zh) | 一种复杂地质条件下边坡三维有限元网格生成方法 | |
CN103714192A (zh) | 基于自适应r-树的大数据量铁路三维设计模型渲染方法 | |
CN103310409A (zh) | 一种Tile-based渲染架构GPU的三角形快速分块方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |
|
RJ01 | Rejection of invention patent application after publication |