搜索 Unity

#unitytips Dev Takeover:向 Harry Alisavakis 学习 VFX 和着色器技巧

2021年11月4日 类别 游戏 | 10 分 阅读
Artwork
Artwork
分享

Is this article helpful for you?

Thank you for your feedback!

#unitytips Dev Takeover 是 @unitygames Twitter 上的一个 Unity 技巧总结系列。Unity 团队会邀请社区里的大牛们与大家分享自己的见解、技巧和诀窍。本次我们邀请到了 Harry Alisavakis,Jumpship 工作室的技术美术、一位极具才华的视觉特效魔法师。

即使不认识 Harry,你也一定见过他荧光绿背景的头像。他经常活跃在有关着色器的讨论中。这里简要介绍一下 Harry 是如何成为视觉效果方面的名人的:

目前,Harry 在 Jumpship 为即将发售的游戏 Somerville 担任技术美术,他用 “业余”时间学习 VFX 和着色器。实际上,Harry 每周会围绕着游戏开发推出一系列的“Technically Art”推文来激励创作者们,同时推广其他艺术家的作品(一定要去关注哦!)。在他 Discord 频道的 Technically Speaking 里,Harry 还会主持技术美术讨论、Unity 创意挑战,在有问必答(AMA)环节中也尽可能地回答其他人的问题。请在此处了解有关他的更多信息。

下方为 Harry 部分最近作品的截图。你可以在他的作品集中发现更多内容。

Artwork
Artwork
Artwork
Artwork

接着我们来看看 Harry Alisavaskis 带来的 #unitytips。

Particle System 时间轴

我们先来了解一条能立即上手的 VFX 小技巧。如果排布粒子系统效果有点麻烦,你可以使用更简单的时间轴方法来编辑视觉效果。 🧵

Unity 的时间轴功能原生支持粒子系统,无需自定义脚本。只需将粒子系统直接拖入,就能拖动时间指示器查看效果。

 

你可以将粒子系统的时间轴与其他动画轨整合在一起,更好地安排各种动画元素的顺序,制作出更美妙的视觉效果。

自定义顶点流

在使用粒子系统和自定义着色器时,你可以用一个超级有趣的方法:自定义顶点流,来做出更亮眼的效果。

我们先来花点时间了解一下它是什么,再来研究怎样用它做出更高级的粒子效果。 🧵

大家知道,Unity 里的模型是由三角形构成的,三角形又由顶点组成。顶点包含着模型的基本信息,比如各自的位置、UV 坐标和顶点色。

而我们可以向顶点添加任意数据,并在自定义着色器中随意使用。✨这就是自定义顶点流的魅力所在:我们可将粒子信息传给顶点,仅在需要时调用它们。

自定义顶点流的选项可在粒子系统的 Renderer 模块下找到。模块在启用后将显示所有使用中的顶点流,包括 UV 坐标和顶点色。

Shader Graph 相关技巧

最后,我们来试着用 Shader Graph 给粒子系统制作一个简单的溶解效果。这里要做的是一个不受光、双面、带有透明通道裁剪的通用渲染管线(URP)着色器。这里要注意的是驱动溶解效果的元素:UV 的第三个组件。

你可能在想为什么,因为我们一般是用 x 和 y 两个数值来在 UV 坐标上进行纹理采样。

其实,你可以在每条顶点流的名称旁边看到数据的存储位置。

这里,新的顶点流存储在 TEXCOORD0.z 中,它对应着第一条纹理坐标通道的第三个分量(即 UV0.z)。通过增加寿命百分比(Lifetime > AgePercent),这个值在粒子的生命周期内将从零开始逐渐增加到一。

这样再使用我们的着色器,粒子就能随着时间的推移而溶解。将该着色器应用在粒子系统上后,我们就能得到下面的效果:

目前看来都很好,但如果我们想进一步控制粒子的寿命呢?寿命百分比(age percentage)的确能用,但它只能线性地变化,难以做出更为复杂的效果。问题的答案就在 Custom Data 模块里:

我们可以使用 Custom1.x 来代替 age percentage,这样我们就能用一条类似 Size over Lifetime 的内置曲线来改变粒子生命周期的值。

这下我们就能更精细地控制粒子的溶解速度了。✨ 是不是超棒?

当然,除了这些信息外,自定义顶点流还可接收许多其他的数据。在着色器中启用它们能带来很大的创作可能。

我们很期待看到大家在评论中提出自己的创造性用法。

祝各位创作愉快!✨

想要学习更多 #unitytips?

那就来 Twitter 关注 Unity for Games,参与每周一次的 #unitytips 和每月一次的 Dev Takeovers 技巧分享。如果你有特别希望在 Dev Takeovers 上见到的社区大牛,也可以在评论里给我们留言。

2021年11月4日 类别 游戏 | 10 分 阅读

Is this article helpful for you?

Thank you for your feedback!