碰撞

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

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

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

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

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

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

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

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

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

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

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

碰撞设置

参考

面板

物理 ‣ 布料 ‣ 碰撞

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

布料碰撞面板.

现在,你必须告诉 布料 对象你希望它参与碰撞。对于布料对象,找到 布料 碰撞 面板。

品质

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

碰撞对象

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

Note

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

距离

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

冲量钳制

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

顶点组

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

碰撞集合

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

自碰撞

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

Tip

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

摩擦

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

距离

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

冲量钳制

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

顶点组

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

See also

blend实例文件: 布料自碰撞.

问题排查

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

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

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

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

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