优化 Bifröst 模拟可提高精确度(而不是内存和计算速度)

任何流体模拟的主要目标都是尽快生成漂亮的结果。这意味着,了解控制精确度和细节与内存大小和计算时间之间平衡的各种选项非常重要。

分辨率、精确度和粒子速度

主要特性中的“主体素大小”(Master Voxel Size)是控制细节的主要设置,它还对精确度具有重大影响。调整模拟时,通常将较高的值用于快速但不太详细的预览,对总体效果感到满意后,将较小的值用于更详细但较慢的结果。有关更多详细信息,请参见 Bifrost 分辨率属性

在给定的“主体素大小”(Master Voxel Size)上,通过在需要时执行额外的计算,“传输”(Transport)“时间步”(Time Stepping)属性可以提高模拟的精确度。有关详细信息,请参见 Bifröst“自适应性”(Adaptivity)属性

“主体素大小”(Master Voxel Size)“自适应性”(Adaptivity)设置相结合能否起到很好的作用,取决于粒子相对于场景建模比例的速度。例如,如果粒子速度很快,在一个时间步内即可从碰撞对象的一侧移动到另一侧,则会看起来好像未发生过碰撞。同样,如果这些粒子穿透碰撞对象太深,则可能会移动到错误的一侧。为帮助诊断问题,可以通过将速度通道显示为颜色渐变、向量或数值来了解粒子的速度,如预览 Bifröst 模拟中所述。

对于极小的比例(如单个水滴的模拟),可能还需要增加场景的帧速率,因为相对于较短的距离和时间比例而言,速度很高。

碰撞对象泄漏

如果遇到碰撞对象泄漏,则首先要检查碰撞对象是否足够厚。特别是,如果碰撞对象没有其自己的厚度(如变形平面用作地面曲面的情况下),请确保在相应的碰撞对象特性中将“转化 模式”(Conversion Mode)设置为“壳”(Shell),并确保“厚度”(Thickness)为 1.0 或更高。

如果仍遇到泄漏,请尝试增大“传输步长自适应性”(Transport Step Adaptivity)。如果不起作用,则可能需要调整“时间步”(Time Stepping)属性和“主体素大小”(Master Voxel Size)的组合。

其他优化

有一些其他设置和功能可能影响精确度和计算成本,具体取决于模拟类型。

对于任何模拟,可以在相应的网格特性中缩放用于体素化网格(如发射器、碰撞对象和加速器)的大小。请参见控制 Bifröst 模拟的体素分辨率

对于液体模拟:
  • 通过在主容器的属性中设置相应的“体素比例”(Voxel Scale),可以相对于“主体素大小”(Master Voxel Size)控制碰撞对象、加速器和其他对象的全局分辨率。请参见控制 Bifröst 模拟的体素分辨率
  • 默认情况下,不需要细节的液体内部使用的粒子较少,而在进行渲染或生成网格的曲面上使用的粒子较多。如果需要,可以进一步控制粒子的密度和曲面层的深度。请参见Bifrost 发射(Emission)属性(仅限液体)
  • 可以在涉及飞溅的情况下使用水滴。请参见使用 Bifröst 水滴
  • 如果模拟液体的曲面(例如对于海洋的快照),请考虑使用导向模拟。通过使用多边形网格或低分辨率模拟作为导向,可以同时降低空间的体积和需要计算的粒子数。请参见引导液体曲面的 Bifröst 模拟
对于 Aero 模拟: