在UE4中创建篝火VFX

介绍

你好!我叫Erik Forsström,25 岁​​,来自瑞典斯德哥尔摩。几年来,我一直在研究游戏开发的各个部分,包括编程和 3D 图形。但我第一次开始做 VFX 是在 2017 年春季,由于缺乏教程,我没有任何指导方针,这是一个非常缓慢的开始。第一次在没有合适的材质编辑器的情况下在Unity 中学习 VFX (他们现在没有正式版本,只有我当时不知道的Shader Forge)使它变得更慢,而且它是第一个那个夏天,我开始学习如何在UE4 中制作真实的 VFX 。

我用过很多 Unity 和 UE4,我认为从哪一个开始并不重要。与我刚开始时相比,现在有更多关于这两种引擎的教程,我想说现在主要是关于偏好。

营火

对于篝火,我总共创建了 6 个着色器,火焰、烟雾、余烬、热变形、燃烧的木头,以及最后但并非最不重要的假阴影。它们中的大多数是简单的着色器,只有一些纹理,还有一些 UV 扭曲以在其中移动。

即使我说它们很简单,要弄清楚如何按我想要的方式生火确实是一场真正的斗争。这是我第一次创建逼真的火焰着色器,我什至不记得我尝试过多少种不同的着色器但都失败了,但突然间我决定用我更好的一个尝试噪声较小的噪声纹理着色器和我最终得到了你现在可以看到的东西。

着色器

火焰着色器

火焰是一个相当简单的着色器,它是一个简单的遮罩,带有一些失真,从遮罩部分的噪声中获得一些随机性。真正增加了很多东西的是 Paragon 包中的 MaterialFunction,“DeriveHDRfromLDR”,我还没有充分使用它来解释它的作用和工作原理。但它确实对效果的颜色产生了很大的影响。

纹理的左侧只是标准的 UV 失真(烟雾和阴影在它们的图像中有这样的例子),换句话说,是一种插入纹理 UV 的平移噪声纹理。就我个人而言,为了简单起见,我几乎总是使用从 Photoshop 生成的云纹理,我喜欢它的平滑效果。

烟雾着色器

与火焰着色器非常相似,但设置更简单,云纹理上的一些失真(可以跳过它,但我想尝试一下,我喜欢结果),然后只是一个简单的蒙版来掩盖边缘的烟雾。

热变形

热变形(使火焰上方的空气变得模糊)是一种更简单的材质,您只需要一个法线贴图和一个带有软边缘的蒙版以避免可见方块,然后添加一些折射。然后在粒子编辑器中,我使用一条曲线将折射从 1.1 淡化到 1,以获得一些慢慢消失的折射。

阴影着色器

阴影材质只是一个简单的纹理,通过一点点扭曲来获得一些小的运动来模拟来自火的光在移动。如果你有一个合适的照明设置,你很可能在没有它的情况下得到类似的结果,但我几乎没有任何关于闪电的知识,所以这是我得到我想要的结果的最简单的方法。

有和没有假阴影:

余烬

余烬只是使用方形渐变,云噪声在正弦曲线的帮助下闪烁。

燃烧的木头只是一个带有一些噪音的自发光遮罩,以模拟木头中的一些闪烁。

粒子

所以最后到有趣的部分,产生所有粒子。我很难让粒子在我想要的地方产生,所以我为篝火做了一个非常简单的装备,并在“ Skel Vert/Surf Location ”节点的帮助下为我希望粒子产生的地方蒙皮(我想这不是一个真正的节点,因为我是在 Cascade 中完成的,但是由于缺乏更好的词,我将在粒子编辑器中将它用于发射器的不同子菜单)。让它们从骨架网格物体中生成非常简单,虚幻文档对此有一个简短的解释。

这样我就可以在不移动发射器的情况下让火与篝火有更多的联系,我仍然需要添加带有粒子的发射器,而不是从网格中产生,但它给了我一个很好的工作基础。

使粒子看起来像我想要的一样重要的一件事情是将屏幕对齐(在粒子编辑器的“必需”节点中)更改为 PSA Velocity,这样它们就会与它们移动的方向对齐。

在那之后,它只是大量使用值,对于很多效果的一个很好的提示是生成它们不可见并非常快速地淡化它们。这样粒子就不会凭空出现,我在这个效果中将它用于所有不同的粒子。

最后,我得到了 14 个不同的发射器、6 个火焰发射器(4 个从骨架网格的不同部分产生)、3 个余烬、1 个热变形、2 个烟雾发射器和 2 个光发射器。

风格化和逼真 VFX 之间的区别

我会说风格化和现实之间的最大区别是着色器工作和优化。显然有些事情或多或少取决于主题等,但总的来说,它只需要不同的心态。

今年早些时候,我为一个学生游戏项目制作了一个完全不同的篝火,我负责所有的 VFX。我决定我不想在我的效果中使用半透明材料,除了我想要相当逼真的动画和颜色来匹配我们的游戏风格。这样我就更容易弄清楚事物应该是什么样子,而不使用半透明材料给了我一个很大的挑战,我从中学到了很多东西。

在那之后,它只是弄清楚我想要的东西看起来如何,并为如何制作火焰着色器而苦苦挣扎。就像我在找出逼真的着色器时遇到很多问题一样,我在风格化着色器方面也遇到了很多问题,由于缺乏教程(尽管现在比我开始时更好),这是大量的反复试验。

烟雾更容易弄清楚,我读了一篇来自 Fortnite 的演讲,他们谈到了他们如何制作烟雾。这让我对我应该如何去做有了一个相当好的想法,所以我所做的烟雾非常简单。这只是几个组合的球体,我用噪声纹理掩盖了它,并在整个生命周期中使用菲涅耳来掩盖它。

结论

我认为,我对有抱负的 VFX 艺术家的最大建议是,即使事情进展缓慢,也不要一开始就放弃。我花了很长时间才开始正确地使用基础知识,然后事情加快了很多。

找一个教程来创建你认为看起来很酷的东西,然后去做。不要从标准的火/烟开始,创建更复杂的着色器或效果。让我最终开始的是中文剑斜线教程,谷歌翻译页面很痛苦,但我最终得到了一个看起来很酷的剑斜线。最重要的是,我能够修改着色器并将这些知识用于更多效果,这在我看来如果从更复杂的着色器开始,这一点很重要。

因为那样你就可以把它拆开,把这些部分用于其他效果。如果您从小处着手,那么您必须添加内容并收集更多知识,而不是使用您已有的知识。根据我的经验,我从分解效果中学到最好的东西,取点零碎并创建自己的东西。这样,您将获得对效果的全面理解,并弄清楚如何以不同的方式使用这些知识。

我想说一些最好的教程是ImbueFX(很老但仍然非常好),Andreas Glad提供了更多与Houdini相关的技术效果,Yoeri Luos Vleer提供了很多 UE4 效果。除此之外,它主要是在互联网上四处寻找,到处寻找一些金币。您还可以从RealtimeVFX论坛中找到很多内容。

进行分解很有趣,希望它能帮助一些人更好地了解如何制作篝火,这样他们就不必像我一样挣扎。

返回首页 

作者 CG-BOX

发表评论