特效师田秋为大家分享在Houdini中制作海水飞溅的过程,并介绍海滩与海水泡沫的简单制作方法。
当为Supergirl的节目拍摄水景时,海滩模拟一直是RnD。然后制作撞击悬崖的海浪,由于Houdini最新版本有一些更新,因此需要重新创建水模拟管道流程。该团队没有高分辨率水样,也没有进行这样的RnD,所以需要使海滩看起来逼真。唯一的参考是上一季《超级女孩》的镜头,选择Sabor Jlassi,而Igor Zanic的岩石将RnD作为参考。
在进行任何水模拟时,世界规模都是第一位的。在Houdini中,海滩模拟被认为是大规模模拟。在设置模拟之前,需要定义模拟区域的大小、水的深度,并放置一个T型姿势角色。还创建一个程序标尺。对于下面显示的这个场景,花很多时间来确定比例。对于波箱节点,将海洋光谱作为第一个输入,可以按照光谱定义的方式引导波箱。将碰撞作为第二输入,用于删除碰撞内部的多余点。使用海洋光谱节点使网格变形,使用拖尾节点计算速度,并使用来自多边形的VDB将其转换为速度体积。
在FLIP解算器中,使用大量白水设置调整后,可以使用下面设置让沙滩翻转模拟变得漂亮:速度平滑(0.01,默认值为0.1),粒子分离(0.09),添加涡度(打开) ,表面外推(0.3)。速度平滑是平滑波浪中的速度变化,调低该值会有详细外观。如果要创建岩石飞溅,使用“检测液滴”将在以后提供“液滴”属性,以便按液滴阈值分别过滤颗粒并创建良好的网格。
由于这里说的是海滩模拟,因此不必继续进行。此外使用“ popadvectbyvolumes”(力标度为1.5)和“ Treat as Wind”(风为风),以引入上面的波速量。添加VDB冲突后,翻转模拟如下所示:
对于海水泡沫和飞溅特效,比倒装流体模拟要处理的方面更多。调整岩芯翻转流体中散发出泡沫的流体的来源,深度,曲率,加速度和涡度,这些可以通过“ whitewatersource”节点进行控制和可视化。
为渲染的最后一部分准备在HDR照明环境下的水网格,体积飞溅和岩石环境。使用穹顶HDR照明和两个方向照明光源,按键方向照明具有温暖的橙色照明,而补光具有蓝色的凉爽感。
为了对高分辨率的翻转流体进行网格化而不会使其闪烁,将翻转求解器内部的表面体积用作VDB基础。翻转求解器本身已将此体积用作模拟的一部分,因此很少发生闪烁。并使用“来自粒子流体的vdb”添加了原始翻转点的额外VDB。然后根据速度的长度和表面体积的速度卷曲(使用“ vdb分析”来计算)对VDB进行平滑处理。转换为网格后,将曲率数据和深度数据,渲染为着色器调整或合成的一些额外通道。
渲染网格时,添加全反射,折射率为1.3的一些折射,还添加一些颜色扩散,可以使其在此测试中看起来更好。当直接通过渲染显示出来时,它看起来很漂亮。调整速度,涡度,位置,深度浅和曲率遍,以及诸如直接光照和间接光照之类的光照遍,以便稍后在合成中进行调整。
泡沫着色器使用的是简单的体积模型,该模型具有云密度,散射和阴影密度乘数属性。模拟效果主要是速度的艺术。只要控制速度,使用噪声来分层或破坏通用模式,就可以管理行为。为了渲染飞溅,通过光栅化或着色器将它们转换为体积。最后进行调整,在合成中节省大量时间,使后期优化时变得更好。