Blender插件(Filp Fluid):Domain 世界设置

推荐:将NSDT场景编辑器加入你的3D工具链
世界大小
这些参数控制模拟液体的域的物理大小。这是精确的流体运动和速度的重要因素,因为如果在小玻璃杯和大型游泳池中模拟液体,液体的动画会有所不同。

世界缩放模式 | 设置域的物理大小时要使用的模式。您可以在模式之间无缝切换。当您在一种模式下更新世界比例时,另一种模式将自动更新为等效模式。 相对 设置域相对于Blender单元大小的物理大小(以米为单位)。如果设置为 1.0,这意味着 1 个Blender单元将相当于模拟中的 1.0 米。 绝对 通过指定域最长边的大小(以米为单位)来设置域的物理大小。如果设置为 12.0,则在模拟中,域的最长边将相当于 12.0 米长。 |
规模的重要性
仿真世界大小是仿真中真实且可预测结果的重要因素。世界大小告诉模拟器物理域空间应该有多大。设置适当的比例将确保您的流体以逼真的速度移动,并且可以在模拟一小杯咖啡和海滩的大部分之间产生差异。
另一个重要因素是确保与流体交互的动画对象也以逼真的速度移动。请注意,更改世界大小也会影响对象的计算速度。
如何在工作流中使用相对和绝对世界缩放
世界缩放 UI 经过精心设计,您可以在相对和绝对模式之间无缝切换。UI 还将以米为单位显示域的确切 X、Y 和 Z 尺寸,以便您可以确认域的物理大小。
使用绝对模式首先为您的域设置已知的物理大小,然后在其余的模拟设置中切换到相对模式。通过切换到相对模式,只要您更改域的大小,比例就会保持一致。
下面是一个示例工作流。假设您的场景中有一个船模型,并且它没有建模为 1 个Blender单元 = 1 米的比例,但您知道这艘船在现实生活中应该是 36 米长。下面介绍了如何在工作流中使用绝对缩放和相对缩放:
- 创建一个域并调整域的长度以匹配船模型的长度
- 使用绝对模式,将域长度设置为 36 米
- 切换到相对模式并将域扩展到您喜欢的大小
现在您已设置绝对比例并切换到相对比例,在调整域大小时,域将始终具有一致的比例,其中您的船始终模拟为 36.0 米长。太简单了!
何时不更改世界缩放选项
如果流体会对其他Blender模拟系统(如刚体模拟器)做出反应,则不应更改默认值。在这种情况下,应将模拟建模为比例,其中1 Blender单元 = 1 米。这样,FLIP 流体模拟将具有与其他 Blender 模拟系统相同的模拟比例。请记住,所有系统中的帧速率都需要相同,以便计时也保持一致。
模拟小世界大小的提示
FLIP模拟方法擅长模拟大型水溅水体,默认设置为这些类型的大型场景设置得很好。对于大致小于 0.5 米的小世界大小,您可能需要调整一些设置以获得更好的效果。以下是有关如何在使用小世界比例时改进设置的一些提示:
- FLIP模拟方法自然是混乱和飞溅的,这可能不适用于小流体。在高级设置面板中增加 PIC/翻转比率将有助于使您的流体平静下来,使其在小比例下看起来更逼真。
- 较小的世界尺度通常需要更长的时间来计算。这是因为计算时间可能与流体在域中移动的速度成正比。与大尺度流体相比,较小尺度的流体在域中的移动速度更快。当流体快速移动时,模拟器需要处理每帧的额外子步骤,以保持模拟的稳定性和准确性。有关子步骤的更深入说明,请参阅“FLIP 流体高级”面板中的此文档主题:什么是子步骤,以及最小值、最大值和 CFL 参数如何相互关联?。
- 小型流体效果通常以慢动作动画。在实时速度下,小的流体效果通常会在帧之间移动很长的距离,这可能导致观看者的视觉细节丢失。慢动作模拟有助于显示模拟流体的美丽运动。慢动作流体仿真的另一个好处是,由于帧之间的运动较少,因此可以更快地处理,从而减少子步骤的数量(请参阅上面的提示)。可以使用 FLIP 流体模拟面板中的速度参数调整模拟速度。
- 随着模拟比例变小,模拟表面张力对于真实感变得越来越重要。请参阅下面的表面张力文档。
重力场和力场
这些参数控制如何在模拟网格上解析重力或力场对象产生的力

重力模式 | 将在此模拟中使用的重力值。 场景 使用在“场景”选项卡的“Blender”>“属性”>中定义的重力矢量。 自定义 使用自定义的重力矢量。 |
重力 | 重力模式设置为自定义时要使用的重力矢量值。 |
设置为零重力 | 操作员会自动将重力模式设置为自定义,将重力模式设置为 0.0。 |
力场分辨率
力场分辨率选项是一种优化设置,可用于加快力场计算速度。与许多其他模拟计算类似,力场计算存储在 3D 网格上,其中分辨率值表示域最长边划分为多少体素。但是,与许多其他仿真计算不同,力场分辨率可能低于域分辨率。较低的力场分辨率将更快地计算,因为要计算的网格体素更少。
注意:可以将 3D 模拟网格中体素的大小视为单个细节单元,或者模拟器能够解析的最小细节量。类似于 2D 图像中像素的大小如何定义图片中可以看到的最小细节量。在此处阅读有关模拟网格的更多信息。
力场分辨率选项为力场网格提供四个详细级别预设:
力场分辨率 | 用于力场计算的网格分辨率量。更高的分辨率以速度和 RAM 为代价提高了仿真精度。增加以解析力场设置中更小/更清晰的细节。减少到更低的力场细节,加快计算速度,降低 RAM 使用率。 低 分辨率力场网格。域解析除以 4。 中 中 分辨率力场网格。域分辨率除以 3。 高分辨率 力场网格。域解析除以 2。 超高分辨率力场网格。匹配域解析。 |
我应该选择哪种力场分辨率?
选择正确的力场分辨率将优化您的仿真,以最大限度地提高性能,同时保持足够的物理场细节水平。本节将提供选择哪种分辨率模式的一般准则。
静态力场对象
对于静态(不移动)的力场对象,力场计算只需计算一次,通常在模拟的第一帧上计算。对整个动画进行单个力场计算不会对模拟的总烘焙时间产生重大影响。对于所有力场对象都是静态的模拟,请选择Ultra以获得最高水平的细节和精度。
动态力场对象
对于动态(动画/关键帧)的力场对象,需要在每一帧上重新计算力场计算。根据力场模式,动态对象由于需要重新计算,可能会给仿真增加大量时间。
简单力场
某些力场的计算量低于其他力场。以下力场模式被认为简单且计算速度相对较快:点力、涡旋力、湍流力。如果您的模拟仅包含简单力场的动态对象,请选择 Ultra 以获得最高级别的细节和精度。
复杂力场
一些力场可能需要计算密集型来计算,并为仿真增加大量时间。以下力场模式被认为是复杂的,可能需要很长时间才能计算:表面力、体积力和较少的曲线引导力。如果您的模拟至少包含一种使用动态对象的力场类型,则需要选择正确的分辨率来平衡仿真性能和细节级别。以下是有关如何选择合适的分辨率的一些一般准则和提示:
力场网格可视化:启用“调试”面板网格可视化工具中的“显示网格”选项。通过将“网格显示模式”设置为“强制场网格”,您将能够查看所选分辨率模式的网格和体素大小。
力场对象将在模拟器中转换为体素数据,体素大小显示在可视化工具中。选择对对象提供足够体素覆盖的力场分辨率。任何小于单个体素的对象几何细节都不会在模拟器中解析。有关体素覆盖范围的参考,请参阅这篇关于力场分辨率比较的博客文章。
- 低分辨率域:与高分辨率属性域相比,低分辨率域(例如分辨率小于 150)包含的体素数量相对较少。少量体素可以非常快速地计算力场计算。如果您的域分辨率较低,则将力场分辨率设置为“高”或“超”通常是一个不错的选择。
- 高分辨率域:与较低分辨率相比,高分辨率域(例如大于 250 的分辨率)包含的体素数量要大得多。大量的体素可能需要相当长的时间来计算。如果您的域是高分辨率的,则将力场分辨率设置为“低”或“中”通常是一个不错的选择。
粘性
该模拟器中的粘度是控制液体流动阻力的值。向液体中添加一些粘度会在液体内产生内部摩擦,其效果是使流体在低粘度值下看起来像油或油漆一样“稀”,或者在较高粘度值下看起来像蜂蜜或糖蜜一样“厚”。

启用粘度 | 启用粘度求解器。 |
可变粘度 | 启用可变粘度求解器以进行混合粘度模拟。启用后,可以设置每个流体/流入对象,为生成的流体分配粘度值。启用后,还将为流体表面生成粘度值属性。烘烤后,可以在“循环”属性节点中访问粘度值,其名称flip_viscosity来自 Fac 输出。有关此功能的重要信息,请参阅有关可变粘度的其他说明。 |
粘性 | 在此模拟中使用的粘度值。较高的粘度值与“较稠”的流体有关。 注意:流体的视觉“厚度”取决于模拟域的大小。例如,粘度值在较小的域尺寸中可能看起来“厚”,但如果在较大的域中使用相同的值,流体可能会在视觉上显示为“薄”。 注意:粘度值与任何实际物理量都不对应。它只是一个指定粘度量的数字。 提示:粘度法对于弯曲和盘绕的高粘度流体具有很高的精度,这种精度水平将增加仿真时间。对于非常低的粘度或稀薄的流体,启用粘度求解器可能有点过分。对于非常低粘度的流体,绕过求解器的一个技巧是增加“高级面板”中的“PIC/翻转比率”设置。这将降低模拟的准确性,自然会导致流体看起来更粘稠。尝试将默认值 0.05 与值 1.0 进行比较,以了解这会如何改变流体的行为。 |
准确性 | 粘度求解器的精度量。减少以加快烘焙速度,但代价是粘度精度。增加以提高准确性,但代价是烘焙速度。高粘度的粘稠或刚性流体从提高精度中受益最大。低粘度稀薄流体通常可以在最低精度下很好地工作。设置高于值 4 可能会大大降低改进的回报,因此不建议这样做。 |
可变粘度说明
- 此功能目前受到Blender中错误的影响,默认情况下处于隐藏状态。通过启用插件首选项中的开发人员工具选项来取消隐藏此功能。有关如何启用此功能、受此错误影响的功能以及如何解决此问题的详细信息,请参阅首选项>开发人员工具文档。
- 可变粘度模拟会给“求解”流体粘度方程的粘度求解器带来大量额外的压力。当求解器压力过大时,它可能会失败。求解器不经常失败是正常现象,有时是不可避免的。但是,如果求解器频繁失败并且在多个连续帧上失败,这可能表明仿真对于当前设置来说过于复杂,并可能导致仿真不稳定。减少求解器故障的解决方案是增加帧期间仿真子步骤的数量
- 不稳定粘度模拟的症状可能是卡顿流体运动、未应用粘度、流体悬浮在空气中或其他意外行为。
- 可以在“域>统计”>“求解器统计”信息面板中查看粘度求解器的状态。
- 有关详细信息以及如何诊断和解决与求解器应力和求解器故障相关的问题,请参阅统计信息>附加求解器说明主题。

影响粘度的副作用
还有其他模拟设置会影响模拟期间的粘度。通常,与精度较低的仿真相比,提高仿真精度的设置(如分辨率、帧速率、速度/时间刻度和子步长)将导致体验到更多的粘度。有关影响模拟精度的设置的详细信息,请参阅本主题:场景疑难解答:更改帧速率、速度或子步长时流体行为会发生变化。
表面张力
该模拟器中的表面张力是液体的属性,模拟表面分子的自然内聚力,这些表面分子导致流体形成珠子、滴落并为飞溅物增添弹性外观。根据液体的类型,表面张力可能是液体逼真的重要特性,通常与低粘度液体结合使用时效果很好。

启用表面张力 | 启用表面张力求解器。 提示:表面张力与片材相结合,有助于创造美丽的飞溅效果!请参阅比较视频。表面张力与低粘度流体相结合有助于产生平稳的小规模液体流动。 注意: 流体上的可视张力取决于模拟域的大小。例如,表面张力值在较小的域尺寸中可能看起来很大,但如果在较大的域中使用相同的值,则流体可能看起来表面张力较低。 注意: 表面张力值与任何实际物理量都不对应。它只是一个指定表面张力量的数字。 |
准确性 | 计算表面张力时的精度。提高精度将产生更准确的仿真结果,并有助于消除表面“振荡”伪影并提高流动的平滑度,但需要更多的仿真子步骤,这将导致更长的烘烤时间。 提示:光滑表面所需的精度量往往会随着表面张力的增加而增加。对于高表面张力效果,可能需要将此值增加到 100% 以减少表面伪影。 |
估计的子步骤(信息) | 显示模拟器将运行的每帧的估计子步骤数,以便在表面张力计算期间保持模拟稳定。此数字将取决于域分辨率和大小、帧速率、表面张力量和表面张力精度。 注意:估计的子步骤数可能超过“高级设置”面板中的“最大子步骤数”值。在这种情况下,“最大子步骤”值应至少增加到估计的子步骤数。 注意: 更改表面张力设置可能会更改模拟器运行所需的子步骤数。这会影响仿真精度,进而影响仿真结果。有关详细信息,请参阅本主题:场景疑难解答:更改帧速率、速度或子步长时流体行为会发生变化。 相关文档:什么是子步骤,最小值、最大值和 CFL 参数如何相互关联? |
片材效果
“片材效果”功能可填充流体颗粒之间的间隙,以帮助保护薄薄的流体片材和飞溅物。此选项有助于防止飞溅物伸展和增长时流体表面出现孔洞。

启用纸张效果 | 启用纸张/间隙填充功能。流体片填充颗粒之间的间隙,有助于保护薄流体片和飞溅物。 提示:流体片材与表面张力相结合,有助于创造美丽的飞溅效果!观看比较视频 |
片材强度 | 添加新片状颗粒的速率。较高的值将更频繁地添加片状颗粒并更快地填充间隙。 提示:片材效果功能是一种人工模拟技术,它通过向域中添加更多流体来填充空白。在仿真中长时间使用薄片会导致产生的流体体积增加。应谨慎使用片材效果,并且仅在需要时使用。在不再需要片材效果后(例如飞溅之后),可以使用将薄板强度参数的关键帧化到0.0的技术来减少新生成的流体量。 提示: 通过在障碍物属性中设置薄板强度乘数,可以缩放针对障碍物对象的薄板强度。 |
片材厚度 | 填补空白的厚度。 提示:使用太低的厚度可能会降低模拟器填充间隙的能力。不建议使用小于 0.05 的值。 |
影响片材的副作用
还有其他模拟设置会影响模拟期间的纸张数量。通常,与以较低计算频率运行的模拟相比,可以增加模拟计算频率(如分辨率、帧速率、速度/时间刻度和子步骤)的设置将导致更高的板材强度。有关影响模拟计算频率的设置的详细信息,请参阅本主题:场景疑难解答:更改帧速率、速度或子步长时流体行为会发生变化。
边界摩擦
此参数控制边界壁上的摩擦量。可以在障碍物对象设置中设置障碍物的摩擦值。

边界摩擦 | 域边界壁上的摩擦量。 |
影响摩擦的副作用
还有其他模拟设置会影响模拟期间的摩擦量。通常,与精度较低的模拟相比,提高仿真精度的设置(如分辨率、帧速率、速度/时间刻度和子步长)将导致更多的摩擦。有关影响模拟精度的设置的详细信息,请参阅本主题:场景疑难解答:更改帧速率、速度或子步长时流体行为会发生变化。
相关主题:在流体仿真中,让流体有效地粘附在移动物体上可能很困难。有关帮助流体粘附的技巧,请参阅以下示例场景,该场景使用吸引人的表面力来帮助液体粘附在移动的障碍物上:示例场景:表面力流体粘附。