有多个属性可以控制 Bifröst 模拟的分辨率和精确度。最重要的一项是“主体素大小”(Master Voxel Size),但您也可以调整控制对象的体素化以及传输步数和粒子分布。
bifrostLiquidContainer 节点上的“主体素大小”(Master Voxel Size)属性可控制液体和发射器的总体分辨率。该值以世界空间单位表示,因此适当的值取决于场景的比例。值越低,提供的细节越多,但需要的内存和计算时间也越多。
通常,在您调整各种设置时使用较高值以获得快速预览。但对于精确预览,该值应该小于模拟的最小特征。例如,如果希望液体通过碰撞对象中 0.2 单位的孔排放,则“主体素大小”(Master Voxel Size)应为 0.1 或更小值。
对模拟的总体流感到满意后,可以减少“主体素大小”(Master Voxel Size),以便使用更高的分辨率来渲染液体或生成网格。
如果遇到问题(例如体积丢失、粒子聚束、自发爆炸或通过碰撞对象泄漏),则应尝试调整“bifrostLiquidContainer”节点的“发射”(Emission)组中的传输步数属性。处理快速移动的模拟时,此方法尤为有效。
增大“传输步长自适应性”(Transport Step Adaptivity),以强制性地将粒子移动分为更多个时间子步长,从而产生计算速度更慢但更精确的模拟。对于移动非常快速的模拟,还需要增大“最大传输步数”(Max Transport Steps)。
“bifrostLiquidContainer”节点的“粒子分布”(Particle Distribution)组中的属性可控制曲面处和液体内部每个体素的粒子数,以及曲面层的深度。通常,粒子数越多,细节就越多,内存需求也就越高且计算越慢。通常,内部体素需要的粒子数比表面处少,因为要对表面进行渲染或网格划分。
如果仍然遇到问题,例如,使用快速移动的碰撞对象时体积丢失,则可以通过 BIFROST_GRAPH_STEP_ADAPTIVITY、BIFROST_GRAPH_STEP_MAX 和 BIFROST_GRAPH_STEP_MIN 环境变量启用时间步。请参见Bifröst 环境变量。