Skip to main content

Catalyst FX

基于 GPU 的实时流体仿真

drawing

Catalys FX 是一款基于 GPU 的多平台实时流体模拟解决方案,用来制作烟雾,火焰燃烧,爆炸,等效果的仿真计算。目前我们提供了多个DCC软件和游戏引擎的插件接口,包括 Houdini,Unreal,Unity 的插件版本,用户可以在自己的工作流程环境中直接使用Catalyst FX。

Catalyst FX 可以通过多种Runtime API 环境对GPU设备进行调用,包括DirectX 11,DirectX 12,MUSA,CUDA,Vulkan , OpenGL 等各类常见 Runtime API,并提供了内置的GPU体积渲染模块,以及第三方三维软件的 Viweport 提绘制组件,可以在没有数据回读(Loadback)的情况下快速预览仿真结果

高性能实时流体仿真

drawing

Catalyst FX 有着非常好的计算性能,如图(上) 即便是 Houdini 插件版本的 Catalyst FX,在数据必须经过系统内存(SystemMemory)回读,湍流控制效果全开 , DOP 节点编辑 , DOP SimCache 缓存回放记录开启的情况下,416 * 352 * 160 (2300 万 Voxels) 精度的硝烟效果模拟仍然可以运行到 2.7 ~ 3 FPSGPU :MTT S4000)。

如果是 Unreal 或 Unity 版本的 Catalyst FX(无经过 CPU SystemMemory 数据回读),计算好的体积数据直接由 GPU 进行最终渲染绘制和输出的情况下,256 * 256 * 256 精度的流体,在 MT 曲院架构 GPU 上(MTT S4000)可以稳定运行在 30 FPS 以上

Catalyst FX的全GPU计算流程,优化了 CPU-GPU IO Overhead ,实现了更好的Substep 性能无关的特性,在不开启硬件加速的情况下,可以实现比Houdini 默认PyroFX解算器提速10~15倍,在开启了 MT GPU 专用硬件电路加速的情况下,可以有进一步的性能增益(买买买

功能模块介绍

烟雾和燃烧 Smoke & Combustion

drawingdrawing

爆炸 Explosion

drawing

Houdini DOP 节点兼容设计

相比市面上其它的 Houdini GPU 解算器, Catalyst FX 最大的优势在于可以用最小的计算代价完美兼容 Houdini DOP 的现有节点,这是目前市面上其它类型的 Houdini GPU 流体解算器所没有解决的问题。

我们可以继续使用过去所熟悉的 Houdini DOP 节点组,如:GasVOP,VEX 等节点,这些原生的Houdini DOP 节点都可以用来和 Catalyst GPU Solver 共同完成更复杂的效果制作任务。

所有用户新建的 Houdini 原生 DOP 类型节点,都会被Catalyst FX 的节点计算网络所回调,实现 GPU + DOP CPU 的异构计算,用于复杂,或高自定义效果的开发和制作。当然,这会损失一定的性能,但由却给复杂项目生产带来了更好的可控性保证。

drawing

如图(上)由 MORE VFX 特效公司提供的测试案例: Gas VEX 相关的节点代码控制飞机拖尾扰流卷动形态(CPU计算),Catalyst GPU Solver进行完整流体效果的最终计算。

除此之外,我们还提供了全套的 GPU 版本 DOP MicroSolver 节点,供艺术家进行一定程度的功能自由组装。

drawing

如图(上):在使用Hoduini版本 Catalyst FX 插件的时候,可进入Solver节点内部,自由创建需要添加的效果模块,进行更复杂的效果制作。

Visualization 流场可视化

为了更有效的控制流体形态,强大的矢量场可视化功能是必不可少的,因此 Catalyst FX Houdini插件也提供了相应的 GPU 流场可视化功能

drawing

如图(上):为了更精准的对每一层效果进行定量控制,Catalyst FX 可以将每一层湍流效果的作用方向和强度单独导出显示,用户可以通过 Catalyst FX 提供的 Visualization 功能,清晰的看到自己所增加的每一层湍流作用,控制和何影响到流体形态的过程,该功能在将在 Houdini 插件用户手册的 Advance Topic 中进行详细讨论。

  • Houdini SOP 插件支持

    • DOP 节点组
    • 自定义节点操作支持 ( SOP Vector & Scalar Field Interface )
  • Unreal Unity Ready

    • AlphaCore SimGraph 模块

软硬件需求配置

  1. 推荐使用 MTT S90 以上,或者更高级别 GPU
  2. 在使用 FP32 浮点计算精度的情况下,8G 显存可以计算 6000万 Voxel
  3. 满足场景电影级别制作要求,建议使用 24G 以上显存显卡。(MTT S4000,MTT S3000,MTT S90