流体附录
提示
关于Blender的流体模拟一些有用的提示:
不要惊讶,在模拟后你会得到一大堆网格(.bobj.gz)文件。一个用来预览,一个用于最终结果。每一帧动画都有一个.gz生成。每个文件都包含仿真结果 - 所以你会需要它们。
目前,这些文件将不会被自动删除,所以创建一个专用目录,以保持模拟结果是个好主意。做一个流体模拟类似于点击动画按钮。目前,你必须要自己对某些目录中的流体表面网格进行管理。如果你不再想进行流体模拟时,你可以简单地删除所有的fluid.bobj.gz文件。
运行高分辨率模拟之前可能需要花费几个小时,可以通过降低的分辨率来运行,从而首先检查整个模拟时间。
流体对象必须完全处于流体域对象的边界内。如果不是这样,烘焙可能无法正确进行所有工作,或者完全无法进行。流体和障碍物对象可以是具有复杂几何形状的网格。非常薄的对象可能不会出现在模拟中,如果选择的分辨率太粗糙而忽略这些过细的对象的话(增加网格精度可能会解决这个问题)。
不要试图马上一次性的完成一个复杂的场景。Blender有一个强大的合成器,你可以使多个动画结合起来。
For example, to produce an animation showing two separate fluid flows while keeping your domain small,render one .avi
using the one flow. Then move the domain and render another .avi
with the other flow using an alpha channel (in a separate B&W .avi?).Then, composite both .avi
's using the compositor's Add node.A third .avi
is usually the smoke and mist and it is laid on top of everything as well.Add a rain sheet on top of the mist and spray and you will have quite a storm brewing! And then lightning flashes,trash blowing around, all as separate animations, compositing the total for a truly spectacular result.
局限性和解决方法
- 如果设置似乎出问题,确保所有法线是正确的(因此,进入编辑模式 ,全选,并在一段时间重新计算一次法线)。
- 目前存在零重力仿真的问题。它可以通过简单地设置一个非常小的重力,直到这个问题被修复。
- 如果一个对象被作为体(Volume)初始化,它必须是可封闭和具有内侧的(平面会出问题)。要使用平面(plane),转换到壳(Shell) ,或者拉伸平面(extrude the plane)。
- Blender点击烘焙后冻结。按Esc使得它在一段时间后恢复工作-这种情况通常发生在分辨率太高和内存被转化到硬盘时,这时通常所有的都变得非常慢。降低分辨率(这里指网格分辨率即网格密度)应有助于缓解这种情况。
- 点击烘焙后Blender崩溃-如果分辨率实在是高,超过2GB的被分配会发生这种情况,导致Blender崩溃。降低分辨率应有助于在这种情况。许多操作系统限制一个进程(process)可分配的内存 ,如blender, 即使机器安装更多的内存也没用。
- 网格应该是封闭的,当某些部分的流体对象未在模拟初始化时设为流体,请检查连接部分的所有网格连接顶点为封闭网格。不幸的是,在Blender中的苏珊(猴)的眼部不是一个封闭的网格(眼睛是分开)。
- 如果流体模拟报一个错误信息(如显示了“初始化失败(init has failed)”)退出时,请确保您有流体域对象(domain)的有效设置,例如通过将其复位为默认值。
- 请注意,第一帧可能使用RAM内存只有几百MB,但后期可能超过1GB,这可能是为什么一段时间后,你的烘焙会失败。如果是的话,尽量在所有结果的中部或尾部先烘焙一帧,从而你可以看看它是否能正常工作。
- 内存使用将变成2倍,当你设置曲面细分,从1到2时。
- 使用“生成粒子(generate particles)”也将增加内存的要求,因为它们增加表面积和复杂性。普通流体模拟产生的粒子可能吃内存较少。