碰撞

在大多数情况下,一块布不只是挂在3D空间中,而是与环境中的其他物体碰撞。为了确保正确模拟,有几个项目必须设置并一起工作:

  • 必须告诉 布料 对象参与碰撞。

  • 可选(但建议)告诉布料与自身发生碰撞。

  • 其他对象必须对 布料 对象 通过 共享图层可见。

  • 其他对象必须是网格对象。

  • 其他物体可能会被另外物体(如骨架或形态键)移动或自身变形。

  • 必须告知其他网格对象偏转布料对象。

  • 必须将blend文件保存在目录中以便保存模拟结果。

  • 然后你可以 烘焙 模拟。模拟器计算帧范围内的布料形状。

  • 之后,您可以在特定帧处编辑模拟结果,或对布料网格进行调整。

  • 您可以调整环境或改变对象形状,然后从当前帧向前重新运行布料模拟。

Collision Settings

参考

面板

物理 ‣ 布料 ‣ 碰撞

../../../_images/physics_cloth_settings_collisions_panel.png

布料碰撞面板。

Now you must tell the Cloth object that you want it to participate in collisions. For the cloth object, locate the Cloth Collision panel.

品质

你希望模拟的精细程度的一般设置。较高的数字需要更多的时间,但确保更少的撕裂和穿透布料。

碰撞对象

如果布料对象需要被其他物体偏转。要偏转布料,必须将此对象作为与布料对象发生碰撞的对象启用。要使对象与布料对象碰撞,请启用 碰撞 物理 用于碰撞对象(不是用在布料对象上)。

Note

如果你的碰撞对象不是网格对象(如NURBS曲面)或文本对象,则必须使用以下命令将其转换为网格对象 转换

距离

另一个物体必须到达接近布料的距离,以便模拟排斥布料。较小的值可能会产生错误,但会产生一些加速,而较大的值会产生不切实际的结果,如果太大而且会速度很慢。所以最好在这之间找到一个合适的值。

冲量钳制

通过限制碰撞后的移动量,防止在紧凑和复杂的碰撞情况下发生爆炸。

顶点组

所有顶点都被分配到这个 顶点组 的面被排除在与物体碰撞之外。

碰撞集合

只有作为其中一部分的对象 集合 可能会与布料发生碰撞。请注意,这些对象还必须启用碰撞物理。

自碰撞

真正的布料无法穿透自身,因此您通常希望布料自碰撞。启用此选项可告诉布料对象它不应穿透自身。这增加了模拟的计算时间,但提供了更逼真的结果。

Tip

从远处观看的旗帜不需要启用此功能,但角色上的斗篷或衬衫的特写应启用此功能。

摩擦

布料与碰撞体碰撞时的摩擦系数。例如,丝绸的摩擦系数低于棉花。

距离

当在这个距离时布料开始排斥自己。较小的值可能会产生错误,但会产生一些加速,而较大的值会产生不切实际的结果,如果太大而且速度很慢。最好在这之间找到一个合适的值。

冲量钳制

通过限制碰撞后的移动量,防止在紧凑和复杂的碰撞情况下发生爆炸。

顶点组

所有顶点被分配到这个 顶点组 的面被排除在自我碰撞之外。

See also

Example blend-file: Cloth self-collisions.

问题排查

如果你遇到碰撞检测的一些问题,有几种方法可以解决它们:

  • 最快的解决方案是增加对象/自碰撞的 距离。这将是修复剪辑的最快方法;但是,它会不那么准确,看起来也不会那么好。使用这种方法往往使它看起来像布料在空中被支撑一样,并赋予它非常圆润的外观。

  • 第二种方法是增加 品质 (在 布料 面板中)。这导致模拟器的步骤更小,因此快速移动的碰撞被捕获的概率更高。您还可以增加碰撞 品质 以执行更多迭代以解决碰撞。

  • 如果这些方法都没有帮助,你可以在进入 编辑模式 之后轻松编辑缓存/烘焙结果。

  • 如果布料被变形网格撕裂;增加刚度设置。