Unity3D 5 官方教程:粒子系统

在一个3D游戏中,大部分角色、道具和场景元素是用“网格”(Mesh)来表现的;而一个2D游戏用“精灵”(sprite)来实现。网格和精灵都是理想的方式来描述形状被完善定义的“固态”对象。然而游戏里有另外的实体,是流动的、在自然中难以触及的,因而使用网格或精灵来描述。对于像流动液体、烟、云、火焰和魔咒的效果,名为“粒子系统”的不同方法可以被用来捕捉内在的流动性和能量。本部分解释Unity的粒子系统,以及他们可以用来做什么。

什么是粒子系统?

粒子,是被一个粒子系统以巨大数量显示和移动的,微小、简单的图像或者网格。每个粒子代表一个流动的或者模糊的实体的一小部分,所有粒子的效果共同形成了完整实体的效果。用一个烟云作为例子,每个粒子将有一个小的烟纹理,就像在它里面有一个微小的云。当许多这样迷你云被一起放在场景的一个区域中,整体效果是一个更大的、大体积的云。

系统的动态性

每个粒子有一个预先已经决定的存在期,通常是若干秒,在这期间它可以经历各种变化。当它被它的粒子系统生成或发射时,它开始了自己的存在期。系统在一个形状像球体、半球体、圆锥体、盒子或者任何任意网格的空间区域中随机的位置发射粒子。粒子被显示,直到它存在期结束,被从系统中移除。系统的发射率(emission rate)指明大体上每秒有多少粒子被发射,尽管精确的发射时间被轻微地随机。对发射率和平均粒子存在期的选择,决定了在“稳定”状态下粒子的数量(此时粒子的发射和消亡速率相同),以及系统要花多长时间达到这个状态。

粒子的动态性

发射和存在期设置影响了系统的整体行为,但单个粒子也可以随着时间而改变。每个粒子有一个速度向量,决定了在每次帧更新时粒子移动的方向和距离。当受到力或系统自身应用的重力,或者当粒子被地形中的风区所吹拂,速度可以被改变。每个粒子的颜色、尺寸和旋转也可以在存在期内改变,或者按当前比例改变移动速度。颜色包括了一个alpha(透明度)组件,这样一个粒子可以有淡入/淡出的存在效果,而不是简单地突然出现和消失。
结合地使用,粒子动态可以被相当方便地用来模拟很多种流体效应。例如,一个瀑布可以用一个细长的发射器形状模拟,并让水粒子简单地在重力作用下跌落。来自火焰的烟趋于上升、扩散、最后消散,那么系统应当使用一个向上的力作用在烟粒子上,并在它们的存在期内增加它们的尺寸和透明度。

Using Particle Systems in Unity

Unity用一个组件实现粒子系统,所以在场景中放置一个(粒子)系统,只要添加一个预制对象(菜单:GameObject->Create General->Particle System)或将组件添加到已有对象(菜单:Component->Effects->Particle System)。由于这个组件相当复杂,检视器被分为若干个可以折叠的子区域或模块,它们各自包含了一组相关的属性。另外,通过在检视器上的Open Window按钮进入分开的编辑窗口,你可以同时编辑一个或多个系统。粒子系统组件中大量可用的选项,在组件和单个模块的参考页中给出了细节描述。
当一个带有粒子系统的对象被选中,场景视图将包含一个有一些简单的控制小型粒子效果面板,有助于查看对粒子系统设置改变的效果。
这里写图片描述
Playback Speed允许你加快或放慢粒子模拟,这样你可以快速看到它在高级状态下的形态。Playback Time指明从粒子系统被启动后消逝的时间;依赖于playback speed,这可以比现实时间快或慢。Particle Count指明系统当前有多少个粒子。通过点击Playback Time标签并向左右滑动鼠标,playback time可以被倒回或快进。面板顶端的按钮用来暂停和继续模拟,或者停止并重置为初始状态。

随时间变更属性

许多粒子甚至整个系统的数值类属性,可以随时间而变化。Unity提供了几种不同的办法来指定变化的发生:
常数:属性值在整个生存期都为固定值。
曲线:用一个曲线/图来指定值。
在两个常数间随机:两个常数定义了值的上下边界;实际值在两个边界之间岁时间而随机改变。
在两个曲线间随机:两个曲线定义了,在生存期中一个给定点,数值的上下界;当前值在这两个边界之间随机变化。
对于颜色属性,如Color over lifetime,有两个不同选项:
梯度:颜色值取自梯度。
在两个梯度间随机:两个梯度曲线定义了颜色值在给定时间的上下边界;取值为两个边界颜色的随机权重平均值。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值