[原][粒子特效][spark]粒子系统system、主节点group、渲染器render
深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html
system:
A class defining a complete system of particles.
最重要的就两个函数:
addController()//Adds a controller to the system.
addGroup()
可见一个完整的粒子system可以有几个group和controller组成
group:
The group is the core class of SPARK.
It is responsible for holding particle data, emitting and updating particles.
以下都是被加载到group中的属性来控制整个粒子的主要行为!
1.render 渲染器,一个group只有一个
2.emitter 发射器,一个group可以有多个
3.interpolator 插值器,一个group可以有多个
4.modifier 调节器,一个group可以有多个
5.action 事件 ,一个group可以有最多2个事件
render:
渲染器是当前粒子纹理的加载与解释器
包含的属性如下:
setBlendMode // alpha || add
enableRenderingOption // ALPHA_TEST DEPTH_WRITE
这是基类,但是我们一般都是下面的派生类,我就用最常用的一种举例:SPK::GL::GLQuadRenderer
A Renderer drawing particles as OpenGL quads.
the orientation of the quads depends on the orientation parameters set. This orientation is computed during rendering by the CPU (further improvement of SPARK will allow to make the computation on GPU side).
它需要设置:
1、scale x y
2、angle
3、texture_index
这里有一个很重要的函数:
时GLQuadrender从Orientation3DRenderBehavior继承的:
void setOrientation(OrientationPreset orientation);
设置粒子的朝向,OrientationPreset有几种
CAMERA_PLANE_ALIGNED = PACK_ORIENTATION(LOCK_LOOK,LOOK_CAMERA_PLANE,UP_CAMERA), 粒子朝向相机平面(最常见的)
CAMERA_POINT_ALIGNED = PACK_ORIENTATION(LOCK_LOOK,LOOK_CAMERA_POINT,UP_CAMERA), 粒子朝向相机点(更好的效果,但更浪费效率)
DIRECTION_ALIGNED = PACK_ORIENTATION(LOCK_UP,LOOK_CAMERA_PLANE,UP_DIRECTION), 粒子是朝向它们的方向的功能,并试图看向相机
AROUND_AXIS = PACK_ORIENTATION(LOCK_UP,LOOK_CAMERA_POINT,LOOK_AXIS), 粒子只能围绕轴旋转并尝试查看相机
TOWARDS_POINT = PACK_ORIENTATION(LOCK_LOOK,LOOK_POINT,UP_CAMERA), 粒子朝向宇宙中的一个点
FIXED_ORIENTATION = PACK_ORIENTATION(LOCK_LOOK,LOOK_AXIS,UP_AXIS) 粒子在宇宙中具有固定的方向
以及部分和粒子朝向有关的参数:
下面看看按照各个轴转时,会出现的状态以及使用的参数:
CAMERAPLANE,最正常的参数,默认参数,720度无死角
不受其他参数控制
CAMERAPOINT,不知道干什么的,720度都是死角
不受其他参数控制
DIRECTION,360度无死角,在水平方向上可以看,垂直角度会变成下面这样
不受其他参数影响
AROUNDAXIS,绕着某一个轴旋转
受到upvector影响,不受lookvector影响
TOWARDSPOINT,看不懂
受到lookvector影响,不受upvector影响
FIXEDORIENTATION,面对某个方向
受到两个参数lookvector和upvector影响
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· DeepSeek V3 两周使用总结
· 回顾我的软件开发经历(1)
· C#使用yield关键字提升迭代性能与效率
· 低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解
· 4. 使用sql查询excel内容
2017-11-14 [osg]OSG使用更新回调来更改模型
2017-11-14 [粒子特效]osg的自带粒子系统osgParticle::ParticleSystem
2017-11-14 OpenGL遮挡查询
2017-11-14 深度排序与alpha混合