创建海浪视觉特效
介绍
我是秋田,人称Ocean,是大洛杉矶地区的高级视觉效果艺术家/Houdini FX TD。之前我在旧金山艺术大学主修动画和视觉效果的时候,我很快意识到了Houdini的力量和程序技术的重要性,因此我选择了这方面作为我主要的学习重点和职业方向。在我毕业后的许多年里,我一直在使用程序技术和思维方式从事电视、电影业、自动驾驶和电子游戏领域的许多获奖项目。
在洛杉矶的 Encore VFX 期间,我是一些 DC 英雄节目的效果技术总监,例如 Flash(第 5、6 和 7 季)、Supergirl(第 4 和第 5 季)、Doom Patrol(第 1 和第 2 季)、Batwoman (第一季)、黑色闪电(第一季和第二季)、Netflix 的维珍河等,以及《绿箭侠》(第 7 季)的视觉效果艺术家。这些节目拥有庞大的 DC 粉丝群,每季至少有 100 万流媒体观看,并获得了许多奖项,包括土星奖最佳超级英雄电视剧奖、狮子座最佳戏剧视觉效果奖等。
有时我会将 DC 漫画的概念和参考资料,无论是精心制作的、粗糙的还是介于两者之间的,转化为与节目外观相匹配的逼真的视觉效果。为角色创造效果、爆炸和炸毁东西也很有趣。这些年来,在为 VFX 镜头制作良好的视觉构图时,我在制作中学到了很多东西。两年里,我已经拍了 400 多个镜头,这就是电视速度。甚至无法想象我当时能够做到这一点。同时,我的领导和主管都是非常好的人。我的部门没有政治,他们都愿意教我并展示东西。我真的很喜欢工作环境中的这种文化。
疫情期间,我开始远程工作。Parallel Domain 的 CEO Kevin McNamara 联系了我,Parallel Domain 是一家创建自动驾驶培训的初创公司。我正在帮助他创建城市的程序化住宅区,以便在 3D 世界中训练电动汽车的 AI。这种心态真是太棒了。谁能想到在自动驾驶训练中加入一个程序化的CG城市?同时这是非常合理的。让自动驾驶汽车在虚拟世界中获取数据的风险总是低于在现实世界中发生各种事故的风险。
从那次经历中,我开始利用我在 Deviation Games 的程序技能,使用 Houdini 和 Unreal 来研究 AAA 游戏中的实时视觉效果。如果你问我 Houdini FX TD/Artist 是否可以在游戏行业工作,我的回答是肯定的,通常会取得巨大成功,就像我的情况一样,尽管你可能需要长达 6 个月的再培训。
在 VFX 行业就业
当我还在学校时,我就意识到进入 VFX 行业是多么困难。现在不是 VFX 工作室根本找不到 VFX 人员并且急于雇用学生和应届毕业生的时候。那个时候已经过去很久了。对于学生来说,他们的作品集必须脱颖而出,具有吸引力,甚至与大四学生的作品集一样专业。工作室里的那些主管和领导会从众多候选人中挑选你。不幸的是,毕业生也在与拥有十多年视觉特效经验的前辈竞争。你想成为业内最优秀的人之一,至少要有这个抱负。
我不是那种擅长网络的人,但这仍然是一项重要的技能,因此人们可以推荐你并为你提供机会。我的目标是向 Odforce、Rebelway 或其他社区的高级 Houdini 艺术家学习高级技术。我决定真正致力于建立我的投资组合并找到实习机会。我最终在 Digital Domain 中国获得了 FX 艺术家的实习机会,我已经在那里工作了三个月的电视节目。是的,无论是否在国外,只要能获得经验,这仍然是一个很好的开始。毕业后,我把我的showreel和简历寄给了很多公司,包括Encore VFX。他们面试了我,很快就把我带到了团队。我就是这样正式开始的。
说到我最喜欢的节目,我会说它是 Doom Patrol。我基本上是在 Encore 的这个节目中受雇的。这个节目不仅剧本很好,而且还给了我很多机会证明自己。他们给了我各种各样的模拟和镜头,不仅仅是火花和烟雾,还有一些复杂的破坏、角色效果和各种程序工具和资产。我有一些空闲空间可以工作并展示我的效果。在我的卷轴中,你也可以看到这个节目的很多镜头。这在很多方面对我来说意义重大。
在 Houdini 中创建海滩
当我为名为 Supergirl 的节目拍摄水景时,海滩模拟一直是 RnD。他们想让我创造海浪冲击悬崖,所以我开始做测试。同时,我正在重新创建我的水模拟管道/工作流程,因为 Houdini 在最新版本中进行了一些重大的水更新。团队没有高分辨率的水样,也没有做过这样的 RnD。我的任务是让它看起来逼真,建立新的工作流程。我唯一的参考资料是上一季 Supergirl 从上方拍摄的照片。我把 Sabor Jlassi 和 Igor Zanic 的摇滚飞溅 RnD 作为我的技术参考。我想创建与他们向我展示的模拟一样精美的模拟,这成为了我的目标。
对于任何水模拟,世界规模都是第一位的。海滩模拟被认为是 Houdini 中的大规模模拟。在设置模拟之前,我通常要定义模拟区域有多大,水有多深,并在那里放置一个T-pose角色。根据规模的不同,水模拟可能会有很大不同。我还在这里创建了一个程序标尺。对于下面显示的这个简单场景,我花了相当多的时间来建立规模。
在从架子工具创建波浪池设置后(这很方便而且很好,因为它为我们设置了波浪工作流程和窄带),我开始使用海洋光谱、海洋评估和高-分辨率网格。该几何体可用于使我们的波罐源变形,根据该波几何体计算速度,并将其作为 VDB 体积源注入到我们的翻转模拟中。几何体的位置正好在水位上(虽然不用于碰撞)。
在这里,我们可能有很多来回通过测量它在我们的翻转模拟中的实际行为来使波浪几何正确。翻转流体的来源至关重要。在目前的规模下,这是我的海洋光谱设置,运行良好:
对于波浪池节点,我将海洋光谱作为我的第一个输入,它可以按照光谱定义的方式引导我的波浪池;我们将碰撞作为我们的第二个输入,用于删除碰撞内的额外点。我使用海洋频谱节点使网格变形,使用尾迹节点计算速度,使用多边形的 VDB 将其转换为速度体积。
这是该波池源的外观:
在FLIP Solver中,经过大量的白水设置后,我觉得只有几个设置就足以让海滩翻转模拟变得漂亮:速度平滑(0.01,默认0.1),粒子分离(0.09),添加涡度(开) , 表面外推法 (0.3)。速度平滑实际上是平滑波浪中的速度变化。将此值设置得较低将使您获得详细的外观。如果您正在创建岩石飞溅,那么“检测液滴”将在稍后为您提供液滴属性,以便您可以通过液滴阈值单独过滤粒子并创建良好的网格。由于我们在这里谈论的是海滩模拟,因此我们不必打开它。更多设置在下面的gif中。
此外,我使用了“popadvectbyvolumes”,并在 Force Scale 1.5 和“Treat as Wind”关闭的情况下使用,以引入我上面提到的波速体积。添加 VDB 碰撞后,我的翻转模拟如下所示:
创造泡沫和飞溅
对于泡沫和飞溅,确实比翻转流体模拟需要处理的方面更多。首先,它是我想从核心翻转流体中喷出泡沫的流体的来源、深度、曲率、加速度和涡度。这些可以由称为“whitewatersource”的节点控制和可视化。
现在我们转向白水模拟。重要的是我们将如何打破泡沫的通用外观。确实有一些参数需要调整。在白水求解器中,我个人将“排斥剂”(在“泡沫”选项卡下)作为一个更重要的参数,以打破我们默认的通用模式。泡沫结块/邻居可以相应地进行调整,因为它负责您想要保持在一起的相邻粒子的数量。在“老化率”中调整气泡/泡沫/喷雾的年龄也很重要:您不希望它们消失得太快或太慢。您不希望您的点在某个时候爆炸,因此请注意您的泡沫颗粒数量。然后对于“力”,它们都是由深度驱动的,表示您希望在某个深度看到多少浮力/平流。
我们当前的翻转求解器和白水求解器有了很大改进,并且比几年前快得多。我记得 4 年前,我需要 3 天才能产生这么多的翻转和激流,但现在我只用了几个小时就可以做到。一定要利用新技术!
渲染
简而言之,我在 HDR 照明环境下准备了我的水网格、体积飞溅和岩石环境,用于渲染的最后一部分。我有一个圆顶天空 HDR 照明和两个方向光源。重点方向灯带暖橙色灯光,补光灯带蓝冷感。
为了在不闪烁的情况下对高分辨率翻转流体进行网格划分,我将翻转求解器内的表面体积用作 VDB 基础。翻转求解器本身使用这个体积作为模拟的一部分,所以它很少有闪烁。最重要的是,我使用“来自粒子流体的 vdb”添加了原始翻转点的额外 VDB。然后我根据速度的长度和来自表面体积的速度卷曲(可以使用“vdb 分析”计算)平滑 VDB。转换为网格后,我传输曲率数据和深度数据,以便将它们渲染为一些用于着色器调整或合成的额外通道。
在渲染网格时,我添加了全反射,一些折射率为 1.3 的折射,但我还添加了一点颜色扩散,我发现它可以让它在这个测试中看起来更好。当它通过渲染直接出来时,它看起来很漂亮。我开始引入很多通道、速度、涡度、位置、深度浅和曲率通道,以及直接光照和间接光照等光照通道,以便我稍后在合成中进行调整。
泡沫着色器使用简单的体积模型,该模型具有云密度、散射和阴影密度乘数属性。
飞溅的技巧是,您可以将它们转换为 SOP 中的体积,或使用着色器将它们渲染为体积。在这里,我使用了体积着色器,这已经让我的水网格看起来不错。
在 Nuke 中合成所有内容后的最终外观:
结论
流体模拟是最昂贵的视觉效果之一,就时间、硬件和专门从事它的人才而言。没有办法绕过困难的部分,即熟悉求解器行为并学习如何很好地渲染它们,这可能已经是一个挑战。许多 TD 会将解算器中的每个参数楔入字面上,以查看它在艺术家的视野中的实际作用。我们都知道在每个参数下都是一种数学或算法在做它的事情,但作为艺术家,我们观察行为并以艺术形式理解它们,并相应地将它们添加到我们的模拟中。观看其他 TD 的 RnD 视频确实可以帮助我们了解那些求解器参数和行为。
模拟效果大多是速度的艺术。只要你控制了速度,只要你知道如何使用噪音来分层或打破通用模式,你就可以管理行为。为了渲染飞溅,我们只是通过光栅化或着色器将它们转换为体积,它看起来会很逼真。最后,进行足够多的传球,这将为您和合成师节省大量时间,使其在镜头的后期优化中变得更好。
据我所知,像 ILM 和 Weta Digital 这样的大工作室希望在一个人的 FX 卷轴中看到一些昂贵的水镜头,这是有道理的,因为这测试了人们对流畅行为的理解。会有什么建议?不断做实验,不断学习。只有一次尝试,没有什么是完美的。不仅仅是海滩模拟,还有一些飞溅或河流测试,这些实践可以帮助人们了解翻转行为以及如何让它看起来更好。
这个行业有很多来回,以使其完美。我们花在 90% 作品上的时间可能少于我们花在最后 10% 上的时间。因此,不断改变您正在使用的技术,总有一天您会找到一种或想出一种适合您自己的工作流程的技术。