实时模拟流体、火焰和烟雾
如今在消费级硬件上进行流体、火焰和烟雾的实时模拟已经可行,但大多数视觉效果都依赖于经过大幅简化的物理模型,优先考虑可信度和艺术控制,而不是物理精度。评论者将游戏和电影中的技术(如涡量约束、curl noise,以及 EmberGen 和 Houdini 等工具)与工业和科学 CFD 进行比较,指出后者仍然需要巨大的算力、严谨的数值方法和很长的运行时间。讨论还涉及 GPU 与 CPU 的角色、浏览器中的可用性和性能问题,以及对高性能流体模拟感兴趣的软件工程师的职业路径。
实时流体效果 vs “真实” CFD
- 评论者指出,游戏中的实时流体在普通硬件上已经存在多年。
- 这些实时系统对物理进行了大量简化,目标是“看起来正确”,而不是精确求解 Navier–Stokes 方程。
- 工业/高雷诺数 CFD 则往往会加入人工耗散来保证稳定性,而且速度要慢得多。
视觉可信度、作弊与游戏设计
- 在图形学中,内部一致性以及可信的反应(如水与海岸线、障碍物的互动)比严格真实更重要。
- 许多效果是程序生成的;当它们不与世界互动时,尽管看起来漂亮,也会显得假。
- “作弊”被视为必要,甚至是可取的;目标是可信和有趣,而不是物理真相。
基于噪声的湍流与涡量技术
- 多条评论讨论了涡量约束以及 curl/curl-noise(“卷曲噪声”)作为给粗粒度模拟添加细致旋涡运动的方法。
- Curl 噪声场是无散度的,可以在不进行逐步时间模拟的情况下产生类似流体的运动,不过单次求值可能很昂贵。
- 有人对原始涡量约束工作的贡献没有得到充分引用表示有些失望。
硬件、浏览器与性能
- 文章中的交互式模拟,对有些人来说运行流畅,对另一些人来说则几乎无法使用。
- 报告因操作系统、浏览器、GPU 以及是否启用硬件加速而异;Apple Silicon 上的 Safari 往往表现较好,而某些 Intel 笔记本上的 Chrome 则差一些。
- 有人建议应提供开关来启用/禁用模拟,以避免持续占满 CPU/GPU。
GPU 工作负载与 iGPU 使用
- 讨论涉及现代 GPU 如何在每帧预算内同时运行多个计算任务(流体、物理、AI、渲染)。
- 也有人指出,许多游戏在高 FPS 下是 CPU 瓶颈,而且让 iGPU 与 dGPU 共同使用并不常见,部分原因是软件复杂性和散热限制。
- 对于 GPGPU 会在多大程度上削弱传统 CPU 的作用,也存在争论。
学习与从事 CFD
- 多个关于入门路径的提问引出了建议:从基本守恒定律、浅水方程、数值稳定性概念开始。
- 推荐的技能包括 MPI、一些 Fortran,以及通用的 HPC 知识。
- CFD 工作通常在航空航天、能源、天气以及专门的软件供应商中;竞争可能很激烈,时机很重要。
工具与学习资源
- 提到的工具包括:EmberGen(实时火焰/烟雾)、Houdini(基于节点的 VFX)、各种 GPU/CPU 流体教程,以及面向图形学的流体模拟课程笔记/教材。