一 制作下雪粒子特效

1 添加Particle System

(1)Hierarchy窗口右键 > Effects > Particle System


(2)新建一块Plane作为地面,并且把Particle Syetem位置移到Plane上方。

(3)旋转Directional Light,使背景变暗(随意即可),便于观察。


2 设置Shape模块

Shape模块定义粒子发射器的形状,可提供沿着该形状表面法线或随机方向的初始力,并控制粒子的发射位置及方向。设置参数,扩大发射盒体积,粒子将会从发射器内随机发射:

  • ShapeBox,定义发射器形状。
  • Scale:(100,100,11),根据需要调节发射器缩放大小。

3 设置Particle System Main模块

Particle System Main模块包含影响整个系统的全局属性,大多数这些属性用于控制新创建的粒子的初始状态


(1)Start Lifetime(生命周期):10,可以理解为粒子的起始“生命值”为10,每秒减1。

(2)Start Speed(初始速度):0,将在其他模块控制它的速度。

(3)Start Size(初始大小):Random Between Two Constants(在两常数间随机) > 0.1 ~ 0.4

  • 数字属性的变化方式(其他数字属性也基本适用):点击属性值右侧小三角,弹出的下拉选择栏如图所示:

  • Constant:属性值为固定值
  • Curve:随着时间,属性值根据曲线变化。
  • Random Between Two Constants:随着时间,属性值在两常量间随机变化。
  • Random Between Two Curves:随着时间,属性值在两曲线间随机变化。

(4)Simulation Space:World,使粒子的运动坐标在世界空间中(随父对象移动)。

左 Local 右 World

4 设置Emission模块

Emission模块中的属性影响粒子系统发射的速率。由于在第2步中增加了发射器的体积,粒子看起来比较稀疏,为了有飘雪的感觉,需要加快发射速率,提高粒子密度。

Rate over Time:100,每秒发射100个粒子。


5 设置Velocity Over Lifetime模块

Velocity Over Lifetime模块控制每个粒子在生命周期内的速度。雪花飘落时会在XZ平面(水平)上随机小幅度移动,而在Y轴的负方向(向下)也会忽快忽慢地下落。设置参数:

  • Linear: Random Between Two Constants > x:(-1,1),y(-1,-2),z(-1,1)。
  • Space: World

效果如下:

6 设置Renderer模块

该模块决定粒子如何被渲染。这是一个常用的模块,本次保持默认即可。

(1) Render Mode:允许在2D Billboard 图形模式和3D Mesh模式之间选择。

Billboard模式适合于标识从任何方向看起来体积大致相投的粒子(例如云)。

(2) Material:用于渲染粒子的材质。创建粒子系统是会使用默认材质,假如有雪花的材质,效果会更上一层楼。


此时,一个普通的下雪粒子特效已经制作完成了,但别着急,还有很大美化的空间,美术的感染力往往在于一些细节。

二 优化飘落表现

7 设置Noise模块

制作粒子特效的思路像是做“加法”,不断的添加一些合适的点缀、整体和局部的运动,会让粒子更加逼真。当然也不能加入很多无关的效果,反而会让粒子变得很乱。

对下雪来说,真实的空气中一定有微风,就算没有风也有气流的扰动,所以加入一些噪声扰动,会让统一下落的雪花更真实一些。

使用噪声影响粒子的运动,遵循水平面小幅度随机,下落忽快忽慢的思路,使其更加自然:

(1)Separate Axes(分离轴):勾选后,可以调整每个轴向的影响:

Random Between Two Constants > X(-0.8,0.8),Y(-0.5,0),Z(-0.8,0.8)。

(2)Frenquency(频率):0.5,数值越低变化越平缓。

(3)Scroll Speed(滚动速度):0.5,随着时间滚动噪声图,使粒子移动效果更加动态。

8 设置Collsion模块

除了噪声扰动以外,Unity的粒子系统还支持一种非常强大的功能:让粒子可以像刚体一样发生碰撞。Collsion模块控制粒子如何与场景中的游戏对象碰撞,支持世界碰撞和平面碰撞。

雪花留在地面上的效果非常棒,其实粒子碰撞的性能开销比较大,如果用在实际游戏中,可以看看开启碰撞是否会对帧率有影响。

当需要雪花飘落在地上时,可以勾选此模块。如下设置后,粒子便能停留在地面上:

  • Type:World
  • Bounce(弹力):雪喷到地面后不需要反弹,设为0
  • Dampen:粒子碰撞后损失速度的比例,设为1

9 设置Color over Lifetime

雪花飘落在地面上,随着时间慢慢淡化,当生命周期结束时最终消失褪去。

Color over Lifetime模块控制粒子的颜色和透明度在生命周期中的变化。当雪花快消失的时候,调节透明度,使粒子有淡出的消失效果。点击Color属性右侧图标进入Gradient Editor:

  • 渐变条上下两侧左键可以新增标识点。
  • 渐变条方用于调节透明度(蓝线附近),在靠近右侧的地方新增一个标识点。
  • 把渐变条右上角标识点的透明度调为0。
  • 渐变条方用于调节颜色(红线附近)。

操作如图所示:


经过一轮优化之后,雪花不仅飘落的细节更加丰富,而且能够接触场景物体,消失也能自然淡出。

三 添加刮风效果

优化完飘落细节后,下雪特效已经有不错的表现,根据具体的使用场景,还有进一步美化的空间。比如有时候游戏需要一个下雪的同时并且刮风的场景,此时可以结合External Forces模块以及Particle System Force Field组件,让雪花飘落的同时接收特定力场的作用。

10 设置External Forces模块

External Forces模块控制影响粒子的风区。

(1) 勾选External Forces模块后,在Hierarcy窗口中添加Particle System Force Field


(2)设置Particle System Force Field参数:

  • Shape:Box。
  • EndRange:20,增加外边界,扩大影响范围。粒子会在力场范围内受到影响。
  • Direction(方向) > x > Random Between Two Constants : 0 ~ 1.5。
  • Gravity(引力) > Strength:0,不需要引力。

效果如图:

【Unity】Particle System 下雪粒子特效相关推荐

  1. Unity Particle System 制作刀光特效

    下面是该刀光特效所用的模型,之前的文章里有介绍使用Blender制作这种模型的方式,地址:Blender 制作刀光特效所用模型. 这里简单介绍UV的展开方式,首先在编辑模式选择所有面后,右键/UV展开 ...

  2. Unity Particle System 粒子系统简单介绍

    一.Particle System 粒子系统简介 Particle System 是 Unity 内的一个专门用于制作特效的系统,相对来说是一个比较复杂的系统,有几百个可以控制和设置的参数选项. Un ...

  3. Unity UGUI NGUI 模型 粒子特效 三者之间 渲染层级设置

    目录 1.介绍两大UI插件NGUI和UGUI  2.unity渲染顺序控制方式  3.NGUI的控制  4.UGUI的控制  5.模型深度的控制  6.粒子特效深度控制  7.NGUI与模型和粒子特效 ...

  4. unity particle system 粒子系统 制作闪电放电效果

    unity 粒子系统制作闪电 制作闪电效果的方法有以下几种: 2d动画方式(适合2d游戏的背景或范围技能,性能最好,效果看设计师水平) LineRenderer划1线的方法(可以动态设定起点和终点,适 ...

  5. Unity 动态改变整个粒子特效缩小放大

    1.在粒子特效最上层添加 PSScale 这个脚本,面板上更改这个psScaleFloat,代码很简单我就不写注释了 2. 鼠标左键点一下更改粒子大小 using System.Collections ...

  6. Unity基础功能:粒子特效(Shuriken)

    版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...

  7. Unity的ScrollRect如何裁切粒子特效,以及如何使粒子特效显示在UI上

    在功能开发中,有时候为了更好的效果会在UI上添加一些特效,比如在头像框上增加一个圆环的粒子特效,但由于粒子和UI的渲染方式有些不同,导致会出现UI和特效之间穿插,显示上不理想.并且如果在ScrollR ...

  8. 在Unity中实现基于粒子的水模拟(二:开始着色)

    在Unity中实现基于粒子的水模拟(二:开始着色) 文章目录 在Unity中实现基于粒子的水模拟(二:开始着色) 前言 一.生成顶点 二.偏移模拟 1.接收细分着色器输出的顶点 2.根据数据调用对应的 ...

  9. Unity中使用粒子特效(Particle System)制作烟花和烛光效果

    Unity中使用粒子特效(Particle System)制作烟花和烛光效果 烟花 烛光 烟花 Unity&烟花效果实例 烛光 Unity3d粒子特效:制作火焰效果 由于烛光的火焰是比较稳定的 ...

最新文章

  1. python任务调度平台 界面_任务调度平台Cuckoo-Schedule
  2. 如何从SEO优化角度设计网站导航栏?
  3. 结合自己造的轮子实践按需加载
  4. 【翻译】Apache Hbase新特性--MOB支持(一)
  5. 《爆发》作者:大数据领域将有新赢家
  6. 数字化工厂的五大系统_如何搭建以MES系统为核心的数字化工厂?
  7. 【华为云技术分享】Linux内核模块依赖图绘制(2)
  8. arduino 舵机接线图_用fritzing绘制arduino硬件连线图
  9. 热文:if(a==1且a==2且a==3),有没有可能为true?
  10. 开通CSDN年度会员,免费赠送代码
  11. Eureka 控制台参数说明
  12. wordpress专属线报网主题模板
  13. QT QVariant类数据类型使用
  14. 三星S10系列相关参数对比,S10e/S10/S10+/S10 5G
  15. java火车票订票系统 论文_毕业设计(论文)-基于JAVA的火车票售票系统.doc
  16. 使用Spark和Pig统计每秒钟微博数量
  17. CentOS自定义安装光盘制作-kickstart用cdrom做源
  18. 结合d3.js实现气象数据的可视化
  19. Password / Word lists
  20. JAVA JSONObject.toBean() 方法使用

热门文章

  1. Linux用户安全及Linux PAM验证机制
  2. 心灵成长的六个定律 (2) - By 武志红
  3. oracle存小数用 number(m,n)
  4. word固定行距mathtype显示不全问题解决方法
  5. 全国计算机四级嵌入式系统开发工程师
  6. 首师大附中互测题:99999999海岛帝国后传:算法大会【D001】
  7. 国内唯一!腾讯iOA被权威机构报告列入竞争者能力象限
  8. 个人记录:enforce fail at /pytorch/third_party/gloo/gloo/transport/tcp/device.cc:208]
  9. 一元试用虚拟服务器,云服务器一元试用
  10. android通知栏屏蔽访客模式