【Unity3D】基于粒子系统实现烟花特效
1 需求实现
粒子系统ParticleSystem 中介绍了粒子初始化、粒子发射、发射器形状、渲染器、碰撞、子发射器、拖尾等粒子系统的基本用法,本节将基于粒子系统实现烟花特效。

实现需求如下(资源见→Unity3D烟花特效预设体文件):
- 粒子发射阶段,只有一个粒子(记为 Spindle 粒子系统),其速度递减,颜色随机,有拖尾特效;
- 粒子上升阶段,在 Spindle 周围有环绕的粒子(记为 Around 粒子系统),其速度随机,颜色随机,方向随机;
- 爆炸阶段,粒子向四周爆炸(记为 Blast 粒子系统),其速度随机,颜色随机,有拖尾特效。
综上,需要设计 3 个粒子系统(在 Hierarchy 窗口右键,依次选择【Effects→Particle System】,可以创建一个粒子系统),如下:

其中,Spindle 粒子系统与 Around 粒子系统并行发射粒子,Spindle 粒子系统与 Blast 粒子系统串行发射粒子。
烟花在黑夜中燃放更好看,因此,需要将相机的 Clear Flags 属性设置为 Solid Color,Background 属性设置为黑色,如下:

2 Spindle 粒子系统设计
1)初始化模块

2)发射模块

3)发射器形状模块

4)生命周期内粒子速度变化模块

速度系数由 1 变化到 0。
5)子发射器模块

5)拖尾模块

7)渲染器模块

其中,Mi 材质球由一个 “米” 字图片生成,如下:

注意: “米”字之外无像素,不是黑色填充,图片需要保存为 png 格式。
材质球的 Shader 属性需要设置为 Particles/Additive,如下:

3 Around 粒子系统设计
1)初始化模块

2)发射模块

3)发射器形状模块

4)生命周期内粒子大小变化模块

5)生命周期内方向变化模块

6)渲染器模块

4 Blast 粒子系统设计
1)初始化模块

2)发射模块

3)发射器形状模块

4)生命周期内粒子大小变化模块

大小系数由 1 变化到 0。
5)拖尾模块

6)渲染器模块

5 运行效果

声明:本文转自【Unity3D】基于粒子系统实现烟花特效
【Unity3D】基于粒子系统实现烟花特效的更多相关文章
- Unity3d 基于物理渲染Physically-Based Rendering之最终篇
前情提要: 讲求基本算法 Unity3d 基于物理渲染Physically-Based Rendering之specular BRDF plus篇 Unity3d 基于物理渲染Physically-B ...
- CSS3实现烟花特效 --web前端
烟花特效,比较简单,直接贴代码了…… <!DOCTYPE html><html lang="en"><head> <meta charse ...
- [原]Unity3D深入浅出 - 粒子系统(Particle System)
粒子系统是在三维空间渲染出来的二维图像,主要用于烟,火,水滴,落叶等效果.一个粒子系统由粒子发射器.粒子动画器和粒子渲染器三个独立的部分组成. Unity中自带了一些粒子效果,在Assets>I ...
- Unity3D 基于预设(Prefab)的泛型对象池实现
背景 在研究Inventory Pro插件的时候,发现老外实现的一个泛型对象池,觉得设计的小巧实用,不敢私藏,特此共享出来. 以前也看过很多博友关于对象池的总结分享,但是世界这么大,这么复杂到底什么样 ...
- 10款web前端基于html5/CSS3应用特效
1.jQuery百叶窗效果焦点图 多种百叶窗动画方式 对于百叶窗动画效果,我们介绍的不是很多,目前就介绍过一款CSS3百叶窗图片切换.这次要给大家带来一个基于jQuery的多种百叶窗动画效果焦点图,焦 ...
- [Unity3D]Unity3D游戏开发之刀光剑影特效的实现
大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei. 我实在不明确有的人为什么不喜欢武侠/仙侠类游戏,也许是因为武侠/仙侠类游戏身上被永远烙上的国 ...
- Unity3D 基于ShadowMap的平滑硬阴影
前言 传统的ShadowMap在明暗边缘处都会有很难看的锯齿,因此一般得到的结果会比较难看,常规的解决办法都会在使用ShadowMap渲染阴影的时候通过背面剔除把这种缺陷隐藏掉,最后剩下一个影子.但是 ...
- 墙裂推荐4款js网页烟花特效
以下是几款网页特效和一款软件: http://keleyi.com/keleyi/phtml/jstexiao/1.htm http://keleyi.com/keleyi/phtml/jstexi ...
- GJM : Unity3D - UI - UI边缘流光特效小技巧 [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- JavaScript实现HTML5烟花特效
烟花效果如下(请使用支持HTML5的浏览器查看):点击这里查看效果:http://keleyi.com/keleyi/phtml/html5/14.htm 源代码如下: ;}</style> ...
随机推荐
- JavaScript 字符串的操作
1. 在指定位置,插入字符串(此需求来源于,img中src没值的字符串标签中,插入图片http地址) // 使用slice写出的 自定义方法,绑定在String的原型链上 String.prototy ...
- API 细节及二级联动
图片上传 T是占位符 where是条件,T是泛型,class是类,类是引用类型,就是给T设置了一个约束 一个表一个dal文件(在工作的时候就是这样) [RoutePrefix(&q ...
- Vue实现组件化的基本思路
Vue.js(以下简称Vue)是时下流行的前端开发库,一般搭配其插件Vue-Router,Vuex一起使用,行业中称为Vue全家桶. Vue使用了MVVM的理念,将表现层(DOM)和数据层进行了分离, ...
- 手机 termux 开启ssh 并连接
第一步 :下载 termux https://f-droid.org/packages/com.termux/ 第二步 :安装 termux 打开后安装 pkg install openssh ...
- MySQL8.0使用GROUP BY的问题
当使用group by的语句中,select后面跟的列,在group by后面没有时,会报以下错误: Expression #2 of SELECT list is not in GROUP BY c ...
- Linux的进程和线程关系
一.理解Linux的进程,线程,PID,LWP,TID,TGID 进程是资源分配的基本单位,线程是调度的基本单位进程是资源的集合,这些资源包括内存地址空间,文件描述符等等,一个进程中的多个线程共享这些 ...
- CvT: Introducing Convolutions to Vision Transformers-首次将Transformer应用于分类任务
CvT: Introducing Convolutions to Vision Transformers Paper:https://arxiv.org/pdf/2103.15808.pdf Code ...
- Filbeat采集nginx-ingress日志
一.创建configmap配置文件 注:filebeat6以上版本需要将prospectors改为inputs,paths下指定的nginx-ingress日志路径匹配模式以及hosts指定的kafk ...
- web.xml文件报错'org.springframework.web.filter.CharacterEncodingFilter' is not assignable to 'javax.servlet.Servlet,jakarta.servlet.Servlet'
在web.xml文件中出现下列错误:'org.springframework.web.filter.CharacterEncodingFilter' is not assignable to 'jav ...
- ext表单合并行
在js里加入方法 /*** 合并Grid的数据列* @param grid {Ext.Grid.Panel} 需要合并的Grid* @param colIndexArray {Array} 需要合并列 ...