Victor Reguera 分享了犹他州名为 A River 的项目的细目,解释了初始环境的组装方式,并详细说明了他如何设置溪流和添加泡沫。

大家好!我是来自西班牙的初级 VFX 艺术家 Victor Reguera。我最近毕业于马德里灯箱学院的视觉特效专业。此时,我开始了我在 VFX 行业的职业生涯,所以很高兴能在这里谈论我的最后一个个人项目,也是今年的第一个项目。

作为一名摄影爱好者,3D 一直代表着我的无限可能,随着技术的进步,这种无限感开始变得真实——或者,我应该说“不真实”。我试图将这种感觉放在我项目的最前沿,尤其是个人项目。当我决定在 Houdini 中为我的演示卷轴创建河流模拟并在UE5中渲染时,这就是我想要实现的目标。

video
play-sharp-fill

犹他州的一条河
当我决定在我的演示卷轴中加入河流模拟时,这个项目就诞生了。虽然一开始只是为了这样,但我很快开始考虑通过创建自然主题环境来提高最终质量的可能性。我开始探索各种可能性,在 Youtube 上观看了科罗拉多河的一些视频后,我知道这个主题非常完美。

阻塞
我通常做的第一件事是定义路线图,然后根据需要进行修正,同时保持最初的想法。这是避免浪费时间和精力的最好方法。

我希望观众感觉像是第一次前往科罗拉多河拍摄那张照片的摄影师,即使这意味着要弄湿他们的脚。就像一张明信片。多亏了 UE5,我可以轻松地渲染不同的摄像机角度,而且我在 UE5 中实时玩游戏和拍摄其他照片时获得了很多乐趣。



环境布局
我决定使用 Houdini 创建环境。它使我能够高效且动态地工作,并且我可以通过 Megascans Houdini 插件轻松使用 Quixel 资产。这非常有用,因为它允许进行流畅的试错过程。

我尝试了各种资产,将它们转换、弯曲和混合在一起以获得最终结果。我使用了几种不同的资产来实现这一点。

河翻转模拟
我试图为我的项目创建自然碰撞和适当的初始速度来模拟真实的水行为。我使用 Quixel 资产设置河流以引入自然多样性和缺陷。之后,我开始了模拟。在谈论模拟本身之前,我必须感谢 Steven Knipping。我使用了我在学习 Liquids 时与 Steven 的Applied Houdini:Liquids II 教程一起学习的工作流程,这对我有很大的帮助。

首先,我创建了一个由 240 帧组成的低质量模拟,并将其用作高质量翻转模拟的初始状态。对于预卷,我使用了粒子分离 (0.02)和体素大小 (0.04)的自定义设置。由于使用 Houdini 的 RAM 有限,我可以实现的最高质量模拟具有0.01 的粒子分离和0.02 的体素大小。理想情况下,我更喜欢 0.05 的粒子分离和 0.01 的体素大小,但我仍然对结果感到满意。

为了确定初始状态点的方向,我使用了在阻塞部分定义河床的曲线,并从曲线传输一个属性以获得必要的数据。在夹紧并移除一些值以获得适当的速度之后,Houdini 完美地执行了模拟。

完成最终模拟后,我准备将项目导出到虚幻引擎。可能有人会奇怪为什么我不讨论whitewater,虽然我模拟了它,但我最终没有使用它。

将项目导出到UE5
当我最初计划这个项目时,它并没有打算用 UE5 渲染。然而,我的好奇心促使我尝试将 Houdini 与 Unreal Engine 结合起来,并且我尽快这样做了。

我决定将环境导出为 glTF 场景。glTF Importer 插件完美运行。自动分配所有材料非常令人满意。

在我通过消除不需要的属性以减轻尺寸来减少多边形数量后,河流网格从 Houdini 导出为一个 alembic 缓存。我也可以减少多边形的数量,但由于之前效果很好,我没有进一步减少。我从 Dylan Browne 那里找到了这个解决方案——他有一段解释这个想法的视频。

这是在虚幻引擎中导入的环境和 alembic 缓存河的早期版本:


在UE5中创建泡沫
如前所述,我没有使用 Houdini 的激流模拟。虽然Houdini的白水质量非常好,优于我所达到的水平,但我认为我的方法仍然可以接受并且具有成本效益。

我在 Houdini 中所做的是利用翻转模拟中的涡度属性作为遮罩。涡量是白水模拟的来源之一,也是此类河流中最常见的来源。我意识到,通过将涡度转移到 Houdini 中的颜色属性,然后限制该值,我可以生成一个颜色遮罩,以便稍后在虚幻引擎中创建水材质时使用。这正是我所做的。我创建了一种材质,其中动画泡沫根据网格的顶点颜色出现(或不出现)。


底纹
对于河流网格,我创建了一个单层水材质。这可能看起来令人困惑,但事实是这比任何其他方法都有效,所以我决定使用它。

我使用的泡沫着色器基于Ben Cloward 的视频,其频道类似于 The Alexandria Library of shading。你应该检查一下。注意 Vertex Color 节点用作 alpha – 泡沫因此出现。

至于湿度贴图,我不确定如何将 Houdini 的动态湿度贴图导入虚幻引擎。如果有人知道怎么做,请告诉我——我很乐意学习。相反,我创建了一个具有适当镜面反射和粗糙度的贴花演员,并将其应用于河床。

Niagara FX 和一般气氛
对于闪电和气氛,我保持简单。我只是使用了太阳光并调整了这些演员:天空光、天空大气和指数高度雾。我还使用了带有自定义 Cloud Mask 的 Volumetric Cloud actor 来实现我想要的天空效果。如果你想这样做,记得激活 Volumetrics 插件。

一旦气氛结束,我决定用 Niagara 添加一些实时 FX。用于整理环境的简单颗粒灰尘和低雾。

我还用 Nuke 添加了镜头光晕和一些颗粒,但没什么特别的。

结论
我希望你喜欢这个分解,就像我喜欢这项工作背后的过程一样。对我来说,这几周是我努力实现我想要的演示卷轴结果的好几周。我也不止一次被卡住,但它总是发生。最终,持久的是结果和体验。

发表回复

后才能评论

评论(2)