Unity开启篇(十一) —— Unity粒子系统简介(二)

版本记录

版本号 时间
V1.0 2019.01.17 星期四

前言

Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布游戏至WindowsMacWiiiPhoneWebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。网页游戏 坦克英雄和手机游戏王者荣耀都是基于它的开发。
下面我们就一起开启Unity之旅。感兴趣的看下面几篇文章。
1. Unity开启篇(一) —— Unity界面及创建第一个简单的游戏 (一)
2. Unity开启篇(二) —— Unity界面及创建第一个简单的游戏 (二)
3. Unity开启篇(三) —— 一款简单射击游戏示例 (一)
4. Unity开启篇(四) —— 一款简单射击游戏示例 (二)
5. Unity开启篇(五) —— 一款简单射击游戏示例 (三)
6. Unity开启篇(六) —— Unity动画简介 (一)
7. Unity开启篇(七) —— Unity动画简介 (二)
8. Unity开启篇(八) —— Unity声音简介(一)
9. Unity开启篇(九) —— Unity声音简介(二)
10. Unity开启篇(十) —— Unity粒子系统简介(一)

Changing the Particle System’s Shape

顾名思义,Shape模块控制该形状中粒子的形状和行为。 您可以选择几种不同的形状;每个都有自己特定的设置。 这使您可以在box,球体甚至自己的自定义网格中创建粒子!

展开Inspector中的Shape模块:

粒子系统的shape设置为cone,这意味着粒子从基座发射并以一定角度向外移动:

在上面的示例中,基部为蓝色,角度为绿色,颗粒为红色。 另请注意,在扩展了Shape Module的同时,您还可以在Scene视图中看到锥形的方便预览:

更改角度会更改锥体的大小,使其更宽或更窄。 设为7;你会得到一个很好的紧密火焰,随着颗粒的上升而略微扩大。

更改半径会更改基座的大小。 该值越大,粒子在发射时散射的越多。 将此值设置为0.2;这可以确保火焰从火炬的燃料支架内部开始。

运行场景,看看火焰的形状是如何变化的:

这开始看起来像一个真正的火焰! 最后的润色是在整个生命周期中改变颗粒的大小。


Changing Size Over Lifetime

使用Size over Lifetime模块,您可以创建在其生命周期中生长或收缩的粒子,甚至可以像森林中的萤火虫一样产生脉动。

在粒子系统的模块列表中,查找Size over Lifetime。 它默认情况下未启用,因此请勾选模块名称旁边的复选框以启用它:

通过单击其名称来展开Size over Lifetime模块。 这将显示深灰色背景,顶部有一条平曲线:

单击dark gray background以打开Inspector底部的曲线编辑器。 横轴表示粒子的寿命,而纵轴表示其大小:

您可以移动红线两端的键来编辑曲线;您还可以通过双击曲线上的任意位置来添加其他键。 要删除key,请右键单击要删除的密钥,然后选择Delete Key。 您也可以在底部选择一个预设曲线:

如果你想到现实世界中的火焰,它们会随着粒子的增加而缩小。 要模仿此项,请从右侧选择第三个预设以创建向下的斜率:

运行你的场景,看看你的所有火热的荣耀效果!

恭喜! 您已经学会了如何设置一个新的粒子系统并按照你的设计产生美丽的火焰效果。

在下一节中,当您学习创建爆炸效果时,您将创建更好的效果!


Building a Bomb (Effect)

在Unity中制作爆炸效果非常简单。 一旦你知道如何随意实例化粒子,就可以将这种效果用于诸如汽车轮子在刮地面时产生火花的东西,或者弹出和淋浴五彩纸屑的气球。

从项目窗口打开Bomb scene并播放场景:

场景底部有一层,但除此之外,没有多少事情发生。

要生成炸弹,将炸弹Bomb预制件拖到炸弹发射器预制槽(Bomb Emitter prefab slot)中:

再次播放场景以查看您的炸弹出现:

发射器每两秒钟发射一次新炸弹。 为了对物体进行整齐的旋转,你会在它产生时给炸弹增加一些旋转力。

在项目窗口的Scripts文件夹中打开Bomb脚本。

将以下代码添加到Start()

void Start()
{
    float randomX = UnityEngine.Random.Range (10f, 100f);
    float randomY = UnityEngine.Random.Range (10f, 100f);
    float randomZ = UnityEngine.Random.Range (10f, 100f);

    Rigidbody bomb = GetComponent<Rigidbody> ();
    bomb.AddTorque (randomX, randomY, randomZ);
}

前三行为x,y和z轴生成10到100之间的随机浮点值。 接下来,您将获得炸弹的Rigidbody组件的参考并向其施加扭矩。 这导致炸弹以随机方向旋转。 保存脚本更改,返回Unity并运行场景。

这些炸弹现在在它们坠落时旋转得很好 - 但你承诺爆炸!

在Hierarchy中,按Create按钮并选择Create Empty。 单击新创建的GameObject并将其命名为ExplosionParticles。 接下来,向GameObject添加一个新的粒子系统。 如果您忘记了如何创建粒子系统,请向上滚动以进行复习。

在粒子系统就位后,将ExplosionParticles GameObject从层次结构拖动到项目浏览器中的Prefabs文件夹。 完成后,从Project Hierchy中删除ExplosionParticles GameObject

接下来,在Prefabs文件夹中选择Bomb Prefab并将ExplosionParticles Prefab拖到BombExplosion Particles Prefab插槽中,如下所示:

现在,当炸弹接触地面时,会产生一个新的爆炸粒子GameObject

播放你的场景,看看爆炸的样子。 如果您遇到粉红色纹理错误,请不要担心,您将要更改纹理。

非常......呃......太神奇了,但爆炸还没有发生!

与火炬一样,您将使用Fire材料制作粒子系统。

在“项目”窗口中选择“ExplosionParticles Prefab”,然后在“检查器”中展开Renderer Module。 将FireMaterial从项目窗口中的Materials文件夹拖到Material插槽,如下所示:

要完成此效果,您必须在主模块Main module中修改以下设置:

  • 1) 将Duration设置为0.70。
  • 2) 循环应该被禁用。 粒子应该只发射一次。
  • 3) 将Start Lifetime设置为0.7。
  • 4) 将Start Speed设置为10。
  • 5) 将Start Size设置为2。
  • 6) 将Gravity Modifier设置为1。这将使粒子在末尾略微下降。

运行炸弹场景以查看您构建的内容:

嗯,这是一种爆炸性的,但你绝对可以做得更好!


Building the Explosion

为了改善爆炸,您将改变其中一个粒子系统模块的属性。 你能猜出要改变哪个模块吗? 这是一个提示 - 你已经使用过了。

如果您猜到了Emission模块,那就给自己一个赞美吧!

展开Emission Module。 速率是每秒产生的粒子数。 对于这次爆炸,你不会想要一个稳定的粒子流,而是一个突然的爆发。

Rate over Time设置为0,现在查看Rate over Distance,您将看到默认情况下为空的Bursts列表:

Burst是在特定时间点一次发射的粒子的集合。

单击右下角的+ button添加新的Burst。 您将看到两个字段:Time and Count

Time保留为0,并将Count设置为150。这些设置将使粒子系统在系统启动时一次性发出150个粒子。

播放你的场景;现在看起来怎么样?

现在看起来更像是爆炸! 虽然这种爆炸看起来更好,但形状仍然是一个笨拙的锥形,颗粒不会消失 - 它们会消失。 你需要塑造你的爆炸才能给它最后的触感。

首先,展开Shape Module

你已经将这个模块用于火炬的火焰形状,但还有几种形状可供选择。 单击显示Cone的下拉框以查看可用的所有选项:

每个形状以不同的方式影响发射器。 下面的每个动画都显示相同的发射器,只改变了形状:

Sphere

HemiSphere

Cone

Box

Mesh (Cube)

Circle

Edge

您可以从同一系统获得许多不同的效果 - 只需更改形状即可! 要创建逼真的爆炸,请将形状设置为Sphere

运行场景,准备被吹走:

现在看起来很棒!

爆炸看起来很好,但有一个小问题。 颗粒消失了。 这是一种不是很理想的效果,看起来并不自然。 粒子应该随着时间的推移而逐渐消失,而不是仅仅消失。


Changing Color

Inspector中打开粒子系统后,单击Color over Lifetime模块旁边的复选框以启用它并展开它。 你会受到Color这个词的欢迎,旁边看起来像是一个白色的块。 点击white block

这将打开渐变编辑器:

颗粒寿命期间的颜色变化表示为渐变条。 起始颜色位于最左侧,粒子将转换为右侧的颜色:

边缘处的四个白色箭头称为markers,在两个现有标记之间单击以添加新标记。 要删除标记,请将其拖离条形:

顶部标记处理颜色的Alpha或不透明度,而底部标记处理RGB(红色,绿色,蓝色)颜色值。

单击最右边的alpha标记。Gradient编辑器的底部现在显示当前的alpha值:

将滑块一直拖到0,现在,粒子将在其生命周期中逐渐消失。

再次运行场景以查看更改的效果:

到这里就完成了。

在本教程中,您已经了解了粒子系统及其各种模块如何在Unity中工作,以及如何调整它们以获得您想要的效果。 您可以随意尝试不同的设置,看看您可以实现的其他炫酷效果。

有关Shuriken粒子系统及其模块的更多信息,请查看Unity’s official documentation及其 Particle System video。 您还可以在此处了解有关scripting particle systems here的更多信息。

后记

本篇主要讲述了Unity粒子系统,感兴趣的给个赞或者关注~~~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容