版本记录
版本号 | 时间 |
---|---|
V1.0 | 2019.01.14 星期一 |
前言
Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要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声音简介(二)
开始
首先看下写作环境
C# 6, Unity 2017.x, Unity
Unity的粒子系统既健壮又功能丰富。 在本教程中,您将学习它,以创建火灾和爆炸。
粒子系统就像盐;只需少量就可以为你正在烹饪的任何东西添加额外的“味道”。 不以某种方式使用粒子系统的现代游戏可能会感到非常乏味。
回到过去,你需要黑色的图形编程技术才能创造出一缕烟雾。 值得庆幸的是,Unity使用名为Shuriken
的模块化内置粒子系统创建粒子系统非常简单,该系统易于学习,但可以让您创建复杂的效果。
在本教程中,您将学习以下内容:
- 如何在Unity中添加新的粒子系统。
- 最常用的粒子系统模块的作用以及如何使用它们。
本教程有两个主要部分;在第一部分中,你将构建火炬的火焰。 在第二部分中,您将创建炸弹爆炸效果。
Getting Started with Particle Systems
在Unity中打开已经建立好的Starter Project
。 里面的资源分为几个文件夹:
- Materials:保存火材料。
- Models:包含火炬和炸弹模型及其材料。
- Prefabs:保存炸弹预制件。
- Scenes:包含火炬和炸弹场景。
- Scripts:保存初始脚本。
- Textures:包含火材料的纹理。
现在您已经看到了所有内容的存储位置,您可以开始了解粒子系统在Unity中的工作原理。
Adding a Particle System
粒子系统通常在预定义空间内的随机位置发射粒子,其可具有类似球形或锥形的形状。 系统确定粒子本身的寿命,当寿命到期时,系统会破坏粒子。
粒子系统的一个好处是它们是可以添加到场景中任何GameObject
的组件。 想让你的鲨鱼从他们的眼睛里发出激光吗? 只需在鲨鱼眼GameObject
中添加一个粒子系统,你的鲨鱼就会不可阻挡!
从项目窗口打开Torch
场景并运行场景:
目前没有多少事情发生。 火炬挂在墙上,但没有火可见。 您需要先添加粒子系统。
停止运行场景并在层次结构中选择TorchFireParticles
。 在Inspector
中,单击Add Component
按钮。 搜索Particle System
并单击以添加它:
注意:您可能已经注意到没有将粒子系统直接添加到
MedievalTorch GameObject
。 这是因为粒子将从火炬的中间发出,而不是从顶部的燃料容器中发出。
播放你的场景;你会看到你已经发射了粒子:
注意:您可能会看到粉红色颗粒而不是白色,这似乎是设置默认纹理的Unity bug。 如果是这种情况,请不要担心:您将很快设置适当的火焰纹理。 如果您想立即修复它,请单击粒子系统的
Renderer
部分,单击Material
字段旁边的Dot
,然后在弹出的窗口中双击Default-Particle
。
当您选择带有附加粒子系统的GameObject
时,您会注意到场景视图右下角有一个黑色对话框。 此对话框允许您模拟或停止粒子系统。 单击Simulate
可激活粒子系统并将按钮更改为Pause
按钮。 要停止模拟器,请单击Stop
按钮。
此对话框对于设计在固定时间轴上运行的粒子系统非常有用,例如爆炸。
A Closer Look at a Particle System
看看Inspector
,你会注意到你添加的粒子系统组件有几个subsections
:
这些subsections
中的每一个都称为Module
。 这些模块包含粒子系统的设置。 默认情况下扩展的模块称为Main
模块:
Main
模块是Unity
中任何粒子系统的肉和骨骼。 最常见的粒子设置在这里:
-
Duration:粒子系统运行的时间长度(以秒为单位)。 将其保留为默认值
5.00
。 -
Looping:反复发射粒子,直到粒子系统停止。 达到
Duration
时间后,循环重新开始。 火需要持续燃烧,因此请启用此功能。
-
Prewarm:仅在启用
Looping
时使用。 粒子系统就好像它已经在启动时完成了一个完整的循环。
为了您的火力效果,请将此禁用状态设置为使其看起来像火炬一样被点燃。
- Start Delay:粒子系统开始发射之前的延迟(以秒为单位)。 将其保留为默认值0。
- Start Lifetime:粒子的初始生命周期(秒)。 经过这段时间后,粒子被破坏。
将生命周期设置为4秒;这确保了火焰不会太高。
- Start Speed:粒子的初始速度。 颗粒的速度越大,它们就越分散。
将速度设置为0.75;这将使火焰效果更慢,更密集。
注意:在修改粒子系统的设置时,您将在
Game Window
中看到它的预览。 在阅读本教程的同时,请密切关注此预览。
在继续之前,请运行场景以查看更改的效果:
你已经设置了火炬,但火焰效果仍然有很多不足之处。 值得庆幸的是,主模块(Main module)
还有其他选项可以进一步改善割炬的形状和行为。
More Main Module Properties
在层次结构中选择TorchFireParticles GameObject
,然后向下滚动到粒子系统。 在主模块下,查看以下属性:
起始大小:粒子的初始大小。
- Start Size:粒子的初始大小。
将大小设置为3;这是一个易于管理的尺寸,可让您更清晰地看到各个粒子。
- Start Rotation:粒子的初始旋转角度。
保持旋转0°;粒子是圆的,所以你几乎不会注意到差异。
-
Start Color:颗粒的初始颜色。 将颜色保持为纯白色的默认值
(255,255,255)
;你会通过纹理为火焰着色。 -
Gravity Modifier:缩放在
Unity
的Physics Manager
窗口中设置的重力值。 如果设置为0,则重力将关闭。
上图是来自重力修正( gravity modifier )
设置为1的系统,这使得粒子像瀑布一样向下流动。 将系统中的重力保持为0;粒子将以您在Start Speed
中设置的速度向上移动。
-
Simulation Space:在粒子系统中移动
Local Space
中的粒子。 在World Space
中,粒子一旦发射就会自由移动。
将模拟集保留为Local Space
。 只有移动粒子系统后才能看到效果。
Play On Awake:启用后立即开始发光。 如果关闭此选项,则必须通过脚本或动画系统手动启动粒子系统。 保持此设置,因为您希望在场景开始播放时启动火。
Max Particles:系统可能同时存活的最大粒子数。 如果您尝试发射的粒子多于此粒子,则根本不会发射粒子。 此设置主要是出于性能原因,在这种情况下,
1000
个粒子的默认值绰绰有余。
哇,这是一个清单! 但结果,您已经学会了如何将粒子系统添加到场景中以及如何根据自己的喜好自定义它。
再次运行场景以查看更改的效果:
它每次看起来更有点像火,不是吗?
但它需要更多的粒子。 为此,您需要更改系统的emission
。
Introducing the Emission Module
发射(Emission)
模块根据您的需要处理系统中发射粒子的数量和时间,以创建从连续流动到突然爆发的粒子的任何事物。
在仍在粒子系统的Inspector
中时,单击Emission
模块标题:
这打开了Emission
模块:
Time over Time
表示每秒发出的粒子数。 将时间比率设置为15
。
再次运行你的场景;你的粒子系统现在看起来更像是燃烧的火焰。
不可否认,它仍然看起来像烟雾。 但到目前为止,这是本教程中最大的变化:自定义纹理!
Adding a Custom Texture
所有粒子都有一个粒子材料和一个定义它们外观的纹理。 你可以用默认纹理做很多事情。 通过改变纹理,您可以创建魔法星,烟雾,当然还有火焰等效果。
改变粒子纹理非常容易。 到目前为止,粒子已经使用Default-Particle
材质在屏幕上绘制,该材质是具有圆形渐变纹理的粒子材质:
要更改材质,请在层次结构中选择TorchFireParticles GameObject
。 然后在Inspector
中找到粒子系统组件并打开粒子系统的Renderer
模块。
在Project View
中打开Materials
文件夹,然后将FireMaterial Material
拖动到Material
属性:
最后,运行场景以查看正在使用的自定义纹理:
你能感受到热量吗? 虽然火焰有点太宽;要解决这个问题,你必须改变粒子系统的形状。
后记
本篇主要讲述了Unity粒子系统,感兴趣的给个赞或者关注~~~