
目标是对每秒 60 帧的特写镜头进行 10 秒的高度详细的流体模拟。
在花了大约一天的时间对 MantaFlow 与 Flip Fluis 进行实验和比较后,我选择了后者,因为 MantaFlow 的行为非常不可预测,具体取决于分辨率。
我计算出水会在 50 帧内到达水池表面 + 您需要 10 秒的 60 fps 动画本身,这会导致模拟 650 帧,分辨率为 1.5 亿体素。 Ryzen 3700x 上的模拟花了 5 天。
此外,如果 FlipFluids 中的几何体多边形太高,搅拌器会在渲染中崩溃。我实在不想再用更低的分辨率模拟一遍,又等上几天。我花了几天时间寻找问题的解决方案,甚至开始考虑回到 MantaFlow。
我将场景从 Cycles 重新配置为 Octane Render,问题仍然存在,所以我决定返回 Cycles。
一般来说,Blender 可以很好地处理大量多边形,问题在于 FlipFluids 几何体。插件开发人员在他们的 GitHub 上承认了这个问题,并写道它是在 Blender 端,因为它不能很好地处理用 Python 或类似的东西制作的 HighPoly 几何体。
我决定尝试将几何图形导出到 Alembic,以便随后将其导入回来,所以应该不会有任何问题。我尝试以不同的方式导出,但总是以搅拌机崩溃而告终。一次出口甚至需要一天多的时间。
然后在一个美国论坛上我找到了一个解决方案,据说在导出之前的几何体中你只需要交换修改器并将Smooth修改器放下,之后FlipFluids几何体就可以快速导出到Alembic。有效。我将几何体导出到 Alembic,在渲染和视口中隐藏原始 FlipFluids 几何体,但保留气泡和泡沫,然后导入 Alembic 几何体。
让我惊喜的是,Alembic 几何体保留了速度信息,水面上的 MotionBlur 工作正常,场景不再崩溃。更准确地说,它不是立即起飞,而是稍晚了一些。
我启动了渲染,第二天大约一百帧后它就崩溃了。很正常,你可以活下去,我刚刚从停止的地方重新启动了渲染。

在喷射与水面的接触点,液体看起来是黑色的。根本不是“蓝色泻湖”。问题在于 PathTracing 技术的局限性。这个地方有大量来自水面和气泡的反射和折射,渲染器最多计算 12 次反射,然后绘制黑色。当然,您可以设置不是 12,而是 128、1024 等,但这样我们将等待几个月的渲染结果。因此,我在气泡中添加了绿松石色自发光,并在水本身中添加了 10 倍的相同自发光。门框消失了,渲染时间没有改变。我从头开始渲染。同时,我决定不从第 50 帧开始,而是从第 100 帧开始,此时水面上已经可以看到振动。我还为光源添加了亮度,并为水面添加了一点雾气。
经过一段时间的测试,我注意到在 Blender 3.5 中,场景的表现比 3.6 版本稳定得多,所以我决定继续使用它。 Mix 卡的材质必须重新配置,因为在 3.6 版本中它的工作方式有所不同,并且必须重新渲染第一帧,因为现在某些材质看起来有点不同。

又一天后,我查看了生成的动画的前几秒,发现植物没有按照我计划的方式在风中摇摆,树枝上没有纹理,草也消失了。问题是我在笔记本电脑上做这个项目,在PC上进行模拟和渲染,而在3.5版本的PC上,有一个旧版本的植被插件。重新安装植被插件,重新配置植被。重新安装了草地插件,重新配置了草地。我将动画设置为再次渲染。
我发现了 Batch Render Creator 程序,多亏了它,渲染过程中的崩溃次数减少了更多。

从这个角度看,在水流出的黑暗裂缝附近,自发光看起来不太好。不幸的是,搅拌机没有距离贴图,这在 3ds Max 和 Corona 中可用,因此您必须再次渲染没有自发光的版本,并在 AfterEffecs 中混合它们,以便在区域中没有自发光差距,但在其他地方也存在。
还有其他问题,例如摄像机位置,因为我将动画的开始位置从第 50 帧移到了第 100 帧,而且我还必须重新渲染其中的一些问题。我必须修改几何节点来切断靠近水的底部,因为我没有对水池的整个深度进行模拟。
为了回应那些从未做过这样的事情但相信在 Houdini 或 PhoenixFD 中问题更少并且一切都可以更快完成的潜在批评者,我建议您首先进行 150+ 百万体素模拟并将其渲染在 GPU 上动画植被和位移,然后写下你花了多长时间以及你遇到了哪些细微差别和不兼容之处。