在Unity中制作粒子特效
粒子特效能够为游戏增添交互与响应能力,它们擅长创造许多运动和撞击效果。粒子特效可用于创建魔法火球,漩涡状的空间传送门,或者将玩家的注意力引导到一个发光的宝箱。炫酷的视觉效果往往引人入胜。
今天我们将为大家分享来自Synapse Games的技术美术David Finseth的教程文章,他将介绍使用Unity中制作粒子特效的流程和开发技巧。本文中所使用的案例来自《Spellstone》和《Animation Throwdown》。
粒子特效的创作流程
在创作粒子特效,遵循的流程为:分解需求-》设计概念草图-》开发实现概念设计-》测试效果。
分解需求
在开始制作一个粒子特效时,首要的事情就是明确特效的需求。以下这些问题答案将被作为特效观感的限制与指导条件。你需要对这些问题的答案了然于心。
特效需要多大范围?
特效需要持续多久?
特效应该如何触发?
是否需要将特效分解为多个部分,以便可以通过代码进行控制?
特效呈现的同时,是否还有其它可能会影响效果性能的操作在进行?
特效是否会与屏幕上的其它事物相互作用?
设计概念草图
明确需求后,我们将对特效的整体外观进行概念设计。如果效果是动态的,可能会是类似故事板的形式。如果效果是静态的,比如一个环绕魔棒的光环,那通常一张简单的草图就可以了。
开发实现概念设计
大多数特效都是由多个组成部分互相层叠实现的。从大到小对特效的组成元素进行组合会比较顺手,如果目标是一个序列效果,则会按顺序从头做到尾。
测试效果
特效通常与游戏的技术性元素息息相关,因此在游戏过程中基于实际效果对其进行测试和修改非常重要。我们需要修改一个特果的时间、比例和节奏,以便获得最佳结果。
案例
现在让我们通过来自《Spellstone》和《Animation Throwdown》的示例,完整的了解上面所讲的流程。
《Animation Throwdown》中稀有卡片
《Animation Throwdown》中稀有卡片会发光,如下图所示。
分解需求
需要与所有屏幕和弹出框的卡框互相影响
不能破坏卡牌艺术效果或改变其状态
采用稀有的颜色和符号 44 32620 44 14446 0 0 6492 0 0:00:05 0:00:02 0:00:03 6495p>
随着稀有性的提高变得更加精致
设计概念草图
开发实现概念设计
粒子系统由多个不同组成部分层叠而成
测试效果
在测试这些发光效果时我们发现这个效果范围太大,影响到了其它的卡牌。最终我们简化了效果,使它恰好适应所有屏幕和弹出框。
《Spellstone》中的霜冻袭击
《Spellstone》中霜冻袭击中最终的冰霜光束特效,如下图所示。
分解需求
龙的二个头都要能使用
能与其它精灵互相影响
这是袭击的高潮时刻,所以在触发时应该有显著的撞击效果
可以持续任意长的时间,要看起来很酷
设计概念草图
粒子系统需要让玩家感觉到双头龙是个强劲的对手。我们希望冰霜之息是一道由冰雪组成的物理光束。为了增强龙在攻击城堡时的画面冲击力,可以尝试让这些粒子的不透明度依次递增,而不仅是一种气息感或透明的效果,
开发实现概念设计
多个组成层叠后创建了最终冰霜光束效果
在这里,我们使用一个2D光束纹理拉伸到整个屏幕,创建基础光束效果。然后添加粒子特效用于打断光束,产生一种定向流动的效果。
最上面是三角形的发射物。这样能产生冰柱从龙的嘴里射出的感觉。这个光束在末段通过粒子爆发来隐藏光束平面的边缘,同时也能显示出光束与城堡发生撞击的位置。
测试效果
这个特效在游戏中表现很好,没有对这个场景中其它动画产生不良影响。
技巧与窍门
准备好在Unity中制作你自己的粒子特效了吗?这里有一些有用的技巧,可以帮助我们的工作更加轻松。
Shape形状
对于2D特效而言,最有用的形状就是Box(盒状)、Circle(圆形)和Edge(边缘)。当使用盒形时,可以将Z设为0,从而消除深度。如果你想从某个中心点以放射状发射粒子时,圆形将是最佳选择。
我们可以主要使用Rotation(旋转)、Scale(比例)、Gravity(重力),以及Force over Lifetime(生命周期作用力)这些组件为2D效果添加运动。要让效果沿Y轴移动,重力是个很好的选择,而要在X轴上移动粒子,通常会使用生命周期作用力。
渲染模式:Stretched Billboard
在使用Stretched Billboard渲染模式时,如果你还设置了Speed Scale,可以让粒子沿一个轴向发散或收缩。你可以用这个创建一些相当有趣的效果,并利用到静态纹理的更多范围。
使用Stretched Billboard模式时,一个类似这样的简单圆形纹理可以成为爆炸线
在使用拉伸的粒子时,一个三角形纹理可以挤压拉伸以表示速度
Emission发射组件属性设置为Distance
将粒子的Emission发射组件属性设置为distance,可以让发射器在空间中位移时发射粒子。我经常将它应用在发射物上,如果你想让粒子沿着某条路径运动,也可以使用它。
注魔技能-使用distance粒子为卡牌描边
Texture Sheet Animation纹理列表动画组件
如果你想将精灵表动画与粒子特效混合,可以使用Texture Sheet Animation纹理层动画组件。我们可以使用这个组件来创建风格化的2D效果。
纹理列表动画可以随时间缩放创造出一个爆炸效果
应用于粒子系统的纹理
小结
在Unity中制作粒子特效就为大家介绍到这里,希望大家可以学以致用,在游戏中创作出精彩的粒子特效! 更多精彩文章尽在Unity官方技术论坛(Unitychina.cn)!
P.S: Unity官方微信公众号留言现已正式恢复,欢迎大家把你的对文章的看法留言给我们!
推荐阅读
点击“阅读原文”访问Unity官方技术论坛