请选择 进入手机版 | 继续访问电脑版

查看: 4475|回复: 1

[分享交流] 教程|在Unity中制作粒子特效

[复制链接]

1222

主题

1927

帖子

2万

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
25325
QQ
发表于 2018-2-28 04:00:01 | 显示全部楼层 |阅读模式
粒子特效能够为游戏增添交互与响应能力,它们擅长创造许多运动和撞击效果。粒子特效可用于创建魔法火球,漩涡状的空间传送门,或者将玩家的注意力引导到一个发光的宝箱。炫酷的视觉效果往往引人入胜。

今天我们将为大家分享来自Synapse Games的技术美术David Finseth的教程文章,他将介绍使用Unity中制作粒子特效的流程和开发技巧。本文中所使用的案例来自《Spellstone》和《Animation Throwdown》。

粒子特效的创作流程
在创作粒子特效,遵循的流程为:分解需求-》设计概念草图-》开发实现概念设计-》测试效果

分解需求
在开始制作一个粒子特效时,首要的事情就是明确特效的需求。以下这些问题答案将被作为特效观感的限制与指导条件。你需要对这些问题的答案了然于心。

  • 特效需要多大范围?
  • 特效需要持续多久?
  • 特效应该如何触发?
  • 是否需要将特效分解为多个部分,以便可以通过代码进行控制?
  • 特效呈现的同时,是否还有其它可能会影响效果性能的操作在进行?
  • 特效是否会与屏幕上的其它事物相互作用?


设计概念草图
明确需求后,我们将对特效的整体外观进行概念设计。如果效果是动态的,可能会是类似故事板的形式。如果效果是静态的,比如一个环绕魔棒的光环,那通常一张简单的草图就可以了。

开发实现概念设计
大多数特效都是由多个组成部分互相层叠实现的。从大到小对特效的组成元素进行组合会比较顺手,如果目标是一个序列效果,则会按顺序从头做到尾。

测试效果
特效通常与游戏的技术性元素息息相关,因此在游戏过程中基于实际效果对其进行测试和修改非常重要。我们需要修改一个特果的时间、比例和节奏,以便获得最佳结果。



案例
现在让我们通过来自《Spellstone》和《Animation Throwdown》的示例,完整的了解上面所讲的流程。

案例一:《Animation Throwdown》中稀有卡片会发光。


分解需求
  • 需要与所有屏幕和弹出框的卡框互相影响
  • 不能破坏卡牌艺术效果或改变其状态
  • 采用稀有的颜色和符号
  • 随着稀有性的提高变得更加精致


设计概念草图


开发实现概念设计

粒子系统由多个不同组成部分层叠而成


测试效果
在测试这些发光效果时我们发现这个效果范围太大,影响到了其它的卡牌。最终我们简化了效果,使它恰好适应所有屏幕和弹出框。

案例二:《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)!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

1

主题

40

帖子

445

贡献

初级UU族—3级

Rank: 3Rank: 3

积分
445
发表于 2018-3-13 02:03:56 | 显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表