深入浅出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的更多相关文章

  1. [原][粒子特效][spark]事件action

    深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html group调用action的地方: 可以看到使用action的可以是出生一次 ...

  2. [原][粒子特效][spark]粒子系统system、主节点group、渲染器render

    深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html system: A class defining a complete sy ...

  3. [原][粒子特效][spark]调节器modifier

    深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html group添加modifier的方式: modifier An abstra ...

  4. [原][粒子特效][spark]插值器interpolator

    深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html 插值器是体现粒子生命周期变化的功能 group使用到插值器的方式: 可以看到 ...

  5. [原][粒子特效][spark]深入浅出osgSpark

    背景: 目前我使用的spark粒子特效库是2.0 这个库好像是原来鬼火引擎的一部分,需要从github上找 现在我要将其使用到我自己开发的基于osgearth开的三维地图引擎中 步骤: 1.编译spa ...

  6. [原][osg][粒子特效]spark粒子特效生成流程

  7. [原][unreal][UE][spark]分析unreal engine 虚幻引擎的粒子编辑器:Cascade

    参考:https://www.raywenderlich.com/270-unreal-engine-4-particle-systems-tutorial (使用了一个飞机射击游戏的粒子来展示,全英 ...

  8. 【Unity 3D】学习笔记四十二:粒子特效

    粒子特效 粒子特效的原理是将若干粒子无规则的组合在一起.来模拟火焰,爆炸.水滴,雾气等效果. 要使用粒子特效首先要创建,在hierarchy视图中点击create--particle system就可 ...

  9. Qt移动应用开发(四):应用粒子特效

    Qt移动应用开发(四):应用粒子特效 上一篇文章介绍了Qt Quick是如何对帧动画进行支持的.帧动画的实现离不开状态机.而状态机.动画和状态切换(transitions)则是Qt框架的核心内容.也就 ...

随机推荐

  1. 文件IO流

    //字节流读写含有中文的文本文件会出现问题,我在实践中居然没有检验出该问题,新人小菜,希望大家能指出: import java.io.FileInputStream; import java.io.F ...

  2. MyEclipse新建Server项目

  3. Kattis之旅——Divisible Subsequences

    Given a sequence of positive integers, count all contiguous subsequences (sometimes called substring ...

  4. bzoj5421:收藏家

    bzoj5421 贴一张图 关于对问题的转化: 当两个人交换收藏品时,显然我们进行这个操作是为了得到更优解. 那么一个收藏品是有用的,另一个被换走的收藏品可以当做直接扔掉了. 所以只要保留一个就可以了 ...

  5. devexpress 之 ChartControl

    \}5#~mV#cr(/k1yIZ7.Lg

  6. 维护keepalived与mysql漂移脚本

    环境拓扑 chengAlived #!/bin/bash function checkModelone(){ echo "重新进行获取" wget 192.168.158.147: ...

  7. 【4opencv】求解向量和轮廓的交点

    在“学习OpenCV3"的QQ群众,网友且行且珍惜针对前期博客(https://www.cnblogs.com/jsxyhelu/p/9345590.html)中的内容提出了以下问题: 比如 ...

  8. FireMonkey 源码学习(6)

    (6)GetGlyph和GetBaseline TFontGlyphManager是一个抽象类,在不同平台上的实现是不同的,以Windows为例,在FMX.FontGlyphs.Win.pas文件中定 ...

  9. 最后一次谈 VirtualBox的安装方法

    用 VirtualBox....run 或 .rpm安装都可以, 最重要的是要 用 /usr/sbin/vboxconfig -> vboxdrv.sh --> 去创建 VirutalBo ...

  10. LOJ#2452. 「POI2010」反对称 Antisymmetry

    题目描述 对于一个 \(0/1\) 字符串,如果将这个字符串 \(0\) 和 \(1\) 取反后,再将整个串反过来和原串一样,就称作「反对称」字符串.比如 \(00001111\) 和 \(01010 ...