碰撞

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

  • 必须告诉 布料 对象参与碰撞。
  • 可选(但建议)告诉布料与自身发生碰撞。
  • 其他对象必须对 布料 对象 通过 共享图层可见。
  • 其他对象必须是网格对象。
  • 其他物体可能会被另外物体(如骨架或形态键)移动或自身变形。
  • 必须告知其他网格对象偏转布料对象。
  • 必须将blend文件保存在目录中以便保存模拟结果。
  • 然后你可以 烘焙 模拟。模拟器计算帧范围内的布料形状。
  • 之后,您可以在特定帧处编辑模拟结果,或对布料网格进行调整。
  • 您可以调整环境或改变对象形状,然后从当前帧向前重新运行布料模拟。

碰撞设置

参考

面板:物理 ‣ 布料 ‣ 碰撞

../../../_images/physics_cloth_settings_collisions_panel.png布料碰撞面板.

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

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

碰撞对象

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

Note

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

  • 距离
  • 另一个物体必须到达接近布料的距离,以便模拟排斥布料。 较小的值可能会产生错误,但会产生一些加速,而较大的值会产生不切实际的结果,如果太大而且会速度很慢。 所以最好在这之间找到一个合适的值。
  • 冲量钳制
  • 通过限制碰撞后的移动量,防止在紧凑和复杂的碰撞情况下发生爆炸。
  • 碰撞集合
  • 只有作为其中一部分的对象 集合 可能会与布料发生碰撞。请注意,这些对象还必须启用碰撞物理。

自碰撞

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

Tip

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

  • 摩擦
  • 布料与自身碰撞时的摩擦系数。 例如,丝绸的摩擦系数低于棉布。
  • 距离
  • 当在这个距离时布料开始排斥自己。 较小的值可能会产生错误,但会产生一些加速,而较大的值会产生不切实际的结果,如果太大而且速度很慢。 最好在这之间找到一个合适的值。
  • 冲量钳制
  • 通过限制碰撞后的移动量,防止在紧凑和复杂的碰撞情况下发生爆炸。
  • 顶点组
  • 只有作为其一部分的顶点 顶点组 可以相互碰撞。

See also

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

故障排除

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

  • 最快的解决方案是增加对象/自碰撞的 距离。 这将是修复剪辑的最快方法; 但是,它会不那么准确,看起来也不会那么好。 使用这种方法往往使它看起来像布料在空中被支撑一样,并赋予它非常圆润的外观。
  • 第二种方法是增加 品质 (在 布料 面板中)。 这导致模拟器的步骤更小,因此快速移动的碰撞被捕获的概率更高。 您还可以增加碰撞 品质 以执行更多迭代以解决碰撞。
  • 如果这些方法都没有帮助,你可以在进入 编辑模式 之后轻松编辑缓存/烘焙结果。
  • 如果布料被变形网格撕裂; 增加刚度设置。