unity粒子系统之雪花、烟花 您所在的位置:网站首页 Unity漂落的树叶粒子教程 unity粒子系统之雪花、烟花

unity粒子系统之雪花、烟花

2024-06-25 15:11| 来源: 网络整理| 查看: 265

一、认识unity粒子系统

这里放两篇写的比较好的粒子系统的介绍:

粒子系统介绍1

粒子系统介绍2

二、效果视频展示

雪花飘落:go

烟花绽放:go

三、雪花飘落效果 3.1准备材料

准备雪花的图片,将图片拖入unity项目中的Assets文件夹下,然后在项目空白处右键出现菜单,点击菜单中的Create->Material,创建材质球,材质球的shader设置为Mobile/Particles/Additive,然后点击贴图框的select,设置雪花的图片,设置后的如下所示:

3.2创建粒子

在项目空白处右键出现菜单,选择Effect->Particle System,即可创建粒子

3.3粒子设置 3.3.1粒子材质球设置

在属性面板中的Renderer中把Material设置为刚才做好的雪花材质球

3.3.2定义发射器的形状

雪是从天而降,那么在地Plane的上空放置粒子系统,设置发射器形状为Shape:Box,设置Scale为(30,30,2)。效果如图:

3.3.3设置Particle System Main模块

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

设置生命周期值 Start Lifetime为5,生命周期值每秒会减1

可以看到刚开始设置是,粒子是向上喷的,但是我们希望是向下,这里设置粒子初始速度为0,后面将在别的模块设置它的下落及下落速度。

设置雪花粒子的初始大小为Random Between Two Constants 0.1~0.3

这里初始大小的设置有四种变化属性,点击右侧的倒三角可以看到不同的选择:

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

之后很多属性的设置也是有这样的多种选择的,之后就不具体介绍了

这里设置雪的初始颜色在白色和微蓝两者之间随机选择。

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

3.3.4设置粒子发射速率

为了整体的飘雪效果,这里加快了粒子发射速率,提高粒子密度,设置每秒发射60个粒子。

3.3.5雪花粒子飘落过程中的变化

设置粒子的速度:勾选Velocity over Lifetime

设置Y轴方向也就是竖直方向的速度在两个数之间随机 -0.95~-1.55(负方向表示向下)

粒子在竖直方向下落外,在X,Z方向速度应该也有所变化,因为现实中雪会前后左右飘动,所以设置粒子受力,勾选Force over Lifetime

设置如下:

雪花飘落过程是有旋转的,这里设置雪花随机旋转效果,勾选Rotate Over Lifetime,设置随机角度如下:

雪花飘落过程中,雪会慢慢融化,其大小慢慢变小,颜色也会变透明

勾选Color over Lifetime,编辑,色带上方表示透明度,下方表示颜色,编辑上方滑块,设置结束时透明度为0(设为透明)

勾选Size over Lifetime,展开倒三角,选择Random Between Two Curves,变化曲线调节如下:

雪花落地会留在地上然后消融,为了模拟这个效果,勾选Collision碰撞模块,设置

Type:World

Bounce弹力为0,雪落地不会反弹

Dampen(损失):1,即设置粒子碰撞后速度损失比例为1

3.4其他 地面

这里简单新建Plane表示地面,Particle System在Plane上方

天空

在应用商店中导入看好的天空盒资源,然后打开工具栏window->lighting->env设置天空盒的材质为下载的材质

四、烟花绽放效果

烟花绽放的效果是开始一个粒子冲上天,然后绽放,这里设置两种粒子,他们关系如下:

fireworks负责发射冲上天空

blast负责烟花绽放

4.1fireworks的设置

下面标出了一些基本的设置,格外的这里设置了粒子的重力为2

发射模块,设置Rate over Time每秒发射一个粒子,因为现实中烟花也是一炮上去然后绽放。

发射器形状设置如下:

设置形状为圆锥体,发射角度为15,(发射角度为0时为圆柱),发射半径为1,为了更好理解这两个参数,给出一个指示图如下

现实中放烟花时,开始烟花上升速度很快,后变慢绽放,所以勾选Velocity over Lifetime,设置Speed Modifier如下曲线:

设置拖尾效果,勾选Trails,设置Lifetime为0.1,可以看到拖尾是比较短的,如果想长尾,可以调大数值,然后设置Width over Trail从0.5到0,线性变化的曲线,拖尾头大尾小的效果,设置Color over Trail,设置两个随机颜色红色和橙色。

firework中和前面雪花飘落最不同的可以说是这个模块

勾选Sub Emitters,设置Death时,触发子粒子系统blast,这为串行发射。

渲染器Renderer的设置,这里设置Material为所做的fireworks,firework的贴图是米字,其他和雪花材质球的设置一样,拖尾材质Trail Material设置为默认线条。

4.2blast的设置

初始状态设置,烟花绽放过程不是所有的粒子都同时结束生命,所以这里的Strart Lifetime设置在1~2之间随机,Start Speed在5~15之间随机,开始颜色也在红色、橙色两种之间随机选择,设置重力为1

所谓烟花绽放就是一下子发射很多粒子,设置粒子发射模块如下:

烟花向四面八方绽放,所以发射器的形状设置为球,其半径设为0.01

绽放过程粒子变小然后消失,勾选Size Over Lifetime,设置变化曲线如下图:

简单设置一下拖尾效果:

渲染器模块的设置和fireworks一样

五、证明自己应得优秀的理由

1、学习这节课程,我熟悉掌握了unity开发技术,掌握了基本运动,基本组件,物理碰撞,动画设计,粒子特效及交互ui等,熟悉了基本MVC架构及其改进。

2、所写的博客简洁明了,步骤齐全,必要时会给出前备知识的优秀博客。

3、自学能力、思考能力有效提高,在做项目时,会去学习别人的优秀之处,同时也会根据自己的思考有所改进,有所创新。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有