在Unity中创建射弹
介绍
你好!我的名字是Vladislav Horobets,我的昵称是 ErbGameArt。我来自乌克兰,21 岁。在学生时代,我喜欢玩 RPG,尤其是那些玩家用 AOE 法术粉碎敌人的史诗般的时刻。也许,这也是 VFX 成为我的职业的主要原因之一。
放学后,我进入了NAU工程与管理学院学习编程,然后就读于国立航空大学。同时,我也开始积极考虑做手游,开始接触Unity。
有一次,当我以塔防风格开发自己的游戏时,我需要塔的效果,如激光、火、冰、射击以及火箭发射器和枪支的命中。我决定自己制作它们并开始寻找教程。我真的很喜欢为效果创建纹理和模型的过程。我从学校开始画画,从大学开始做模特,所以整个过程很有趣很有趣。
开始 VFX 之前
首先,您需要对粒子系统的整体结构以及每个参数负责的内容有一个大致的了解。从 Asset Store 下载免费的 VFX 包,查看它们的结构,更改一些设置并分析结果也是一个好主意。相信我,任何想法都可以通过一堆点来实现。
请记住,这些效果会吸引玩家的注意力,它们是展示游戏世界之美和战斗史诗的工具。他们应该在其他一切中脱颖而出,当然 UI 除外。当我制作射弹时,我非常注意它们在任何背景下的可见度以及清晰、准确的形状。玩家可以随时截取屏幕截图,因此效果必须始终看起来完美。
小径
粒子系统中的轨迹组件足以轻松生成规则轨迹。在一个粒子系统不够用的更高级的情况下,您可以添加着色器和模型。以下是一些带有动画纹理的路径示例:
对于第二条轨迹,我绘制了粘液纹理并添加了带有动画噪声纹理的模糊效果。噪声影响主纹理,并在自定义着色器的帮助下由蒙版纹理控制。
小道被拉长以节省空间,否则透明区域会更大。
噪波纹理由画笔模糊的线条构成。顺便说一句,如果您需要像这样的无缝纹理,我建议您使用Krita。
在这个例子中,轨迹是用旋转圆柱模型制作的:
它的纹理是用裁剪的圆圈制作的,而第二条轨迹是在 Photoshop 中的过滤器偏移的帮助下放置的。
处理 FPS 掉线
当您计划制作效果时,关键是对未来的工作流程有一个愿景,以避免不必要的更改。正如我通过我的经验了解到的那样,在Unity 中,如果有很多透明层或面对相机的多边形太多,FPS 会下降。应该考虑这些因素。一千个小颗粒覆盖 10% 的屏幕比单个透明颗粒占据整个屏幕对 FPS 的危害要小。然而,几千个粒子意味着很多多边形,所以在一个纹理上使用几百个粒子是合理的。例如,看看我为其中一种效果制作的地面纹理:
命中和投射物
对于命中和射弹,我使用相同的材料。我可以为您提供有关如何制作此类效果的个人提示。几个射弹可能同时或在短时间内击中同一区域。关键思想是它们不能相互重叠。如果您启动我的演示场景 并在某一点拍摄,效果将相互补充并且看起来不错。
最难的部分是估计击球和击球的时间。如果场景中有很多粒子,FPS 会下降。这就是为什么我的效果由几个单独的粒子系统组成。粒子的第一部分会立即消失,以营造出强力射击或击中的印象。其余的大部分将在四分之一秒后消失,少数粒子将存在长达一秒以显示效果结束。
为什么是统一?
随着每次更新,Unity 开发人员都会添加越来越多的粒子系统功能,我发现每个组件都很重要并尝试使用所有组件。我真的很喜欢他们添加了一个新脚本来禁用相机外粒子的更新。它解决了以前大量粒子导致 FPS 出现问题的问题。
给学习者的建议
至于有用的教程,DucVu FX 的 youtube 频道对我帮助很大。在我职业生涯的开始,我从英雄联盟下载了免费效果(我不记得具体在哪里),检查结构和设置并尝试重新创建其中的一些。我还从实时 VFX 论坛上 Sberke的小教程中学到了一些新东西 。我想到的另一种资源是Jason Keyser 的 Youtube 频道。