[原][粒子特效][spark]发射器emitter
深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html
group添加emitter的方式:

eimtter:

上图是spark源码中发射器emitter的框架
我们开始逐个分析:
1.NormalEmitter

An emitter that emits particles following a Zone normals. 一个向另外一个zone(区域)方向发射粒子的喷射器。
The Zone used to derive the direction of emission can either be the emitter's zone or another zone that can be set with setNormalZone(Zone*).
If the normal zone is NULL the emitter's zone is used.
这里大家看到zone,如果有不理解,我在本文最后有大致介绍,这里就当成一个固定区域就行了
tank是此发射器包含多少粒子,发射完就不再发射,-1是无限多。
flow是每秒发射多少粒子
foreMin和foreMax是发射力度范围,也就是粒子初速度大小
normalZone是发射的方向区域
总的来说,这个发射器是从一个区域,往另外一个区域发射粒子的喷射器!
一个例子:
我用一个圆柱形区域设置为生成区域,高处一个点为终点,
就形成了一个往指定区域方向移动的圆柱形

2.RandomEmitter

An emitter that emits in a random direction 随机方向发射粒子
一个例子:
用一个长方体作为出生位置,没有终点方向,形成了一个无序的长方体

3.SphericEmitter

An Emitter that emits particles in a portion of sphere.可调节角度的球形发射器
This Emitter can emit particles in a spheric way. To do that 2 angles and a direction Vector3D can be parametered :
- The direction Vector3D defines the direction of the emitter.
- The angles defines the area in between which wil be emitted the particles velocities.
direction 球的0角度朝向
angleA和angleB 是从角度A到角度B之间都是喷射方向
一个例子:
建了一个喷射角度是0到180的半球形,喷射方向是可调节的球形角度

4.StaticEmitter

An Emitter that emits particles with no initial velocity.一个傻瓜喷射器
一个例子:
没有方向,没有力度,只有喷出多少

5.StaightEmitter

An Emitter that emits in a given direction.一个带方向的喷色器
一个例子:
就是往一个某一个方向直喷,可以调节喷射力度

关于zone:

这就各种形状的区域。
===============================================================================================================================================
以下为我自己代码设计:
SVRESPARK_EMITTER_STRUCT结构体:
|
变量名 |
类型 |
说明 |
|
iID |
int |
|
|
strZone |
SVRESPARK_ZONE_STRUCT |
|
|
eType |
VRESPARK_EMITTER |
种类 |
|
iFlow |
int |
流量 |
|
iTank |
int |
包含粒子总数 |
|
v3Direction |
SVREVector3 |
方向 |
|
fForceMin |
double |
发射力度最小值 |
|
fForceMax |
double |
发射力度最大值 |
|
fParamMin |
double |
|
|
fParamMax |
double |
|
|
fParam |
double |
|
|
bParam |
int |
|
|
strNorZone |
SVRESPARK_ZONE_STRUCT |
[原][粒子特效][spark]发射器emitter的更多相关文章
- [原][粒子特效][spark]事件action
深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html group调用action的地方: 可以看到使用action的可以是出生一次 ...
- [原][粒子特效][spark]粒子系统system、主节点group、渲染器render
深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html system: A class defining a complete sy ...
- [原][粒子特效][spark]调节器modifier
深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html group添加modifier的方式: modifier An abstra ...
- [原][粒子特效][spark]插值器interpolator
深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html 插值器是体现粒子生命周期变化的功能 group使用到插值器的方式: 可以看到 ...
- [原][粒子特效][spark]深入浅出osgSpark
背景: 目前我使用的spark粒子特效库是2.0 这个库好像是原来鬼火引擎的一部分,需要从github上找 现在我要将其使用到我自己开发的基于osgearth开的三维地图引擎中 步骤: 1.编译spa ...
- [原][osg][粒子特效]spark粒子特效生成流程
- [原][unreal][UE][spark]分析unreal engine 虚幻引擎的粒子编辑器:Cascade
参考:https://www.raywenderlich.com/270-unreal-engine-4-particle-systems-tutorial (使用了一个飞机射击游戏的粒子来展示,全英 ...
- 【Unity 3D】学习笔记四十二:粒子特效
粒子特效 粒子特效的原理是将若干粒子无规则的组合在一起.来模拟火焰,爆炸.水滴,雾气等效果. 要使用粒子特效首先要创建,在hierarchy视图中点击create--particle system就可 ...
- Qt移动应用开发(四):应用粒子特效
Qt移动应用开发(四):应用粒子特效 上一篇文章介绍了Qt Quick是如何对帧动画进行支持的.帧动画的实现离不开状态机.而状态机.动画和状态切换(transitions)则是Qt框架的核心内容.也就 ...
随机推荐
- word2vec原理(一) CBOW与Skip-Gram模型基础——转载自刘建平Pinard
转载来源:http://www.cnblogs.com/pinard/p/7160330.html word2vec是google在2013年推出的一个NLP工具,它的特点是将所有的词向量化,这样词与 ...
- pyenv安装
petalinux-config出错 以为是pyenv的问题,后发现不是,把pyenv的安装卸载总结如下: 折腾了半天发觉是安装了pyenv导致的python版本混乱,卸载后问题解决了.(卸载过程见h ...
- Docker学习笔记之运行和管理容器
0x00 概述 容器是基于容器技术所建立和运行的轻量级应用运行环境,它是 Docker 封装和管理应用程序或微服务的“集装箱”.在 Docker 中,容器算是最核心的部分了,掌握容器的操作也是 Doc ...
- socket - option编程:SO_REUSEADDR
网友vmstat多次提出了这个问题:SO_REUSEADDR有什么用处和怎么使用.而且很多网友在编写网络程序时也会遇到这个问题.所以特意写了这么一篇文章,希望能够解答一些人的疑难. 其实这个问题在Ri ...
- The POM for XXX is invalid, transitive dependencies (if any) will not be available解决方案
今天,某个开发的环境在编译的时候提示警告The POM for XXX is invalid, transitive dependencies (if any) will not be availab ...
- JAVA的内存模型及结构
所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢? Java内存模型 Java内存模型在JVM ...
- 关于A left join B,A是否一定是主表?
一般情况,我们作左连接 select * from A left join B on A.id=B.a_id;一定认为A就是主表,其实还有另外的情况,我们若将sql改写成 select * from ...
- 神秘的.user.ini文件
原文链接:https://segmentfault.com/a/1190000011552335
- ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98) [30-Jan-2018 16:12:27] ERROR: FPM initialization failed解决方法
1.php启动之后发现访问nginx出现502错误,检查nginx.conf发现指定的php socket不存在 2.解决方法nginx修改陈这样,直接把绿色部门的socket写成本地地址+端口就可以 ...
- Xcode project 设置相关
FauxPas 这是一款Mac平台的用于检查Xcode项目的辅助工具 ,可以帮助我们找出常见的错误.隐藏的bug.不良实践以及可维护性问题和风格问题. 一, $(SRCROOT) :当前工程所在的目 ...