碰撞¶
在大多数情况下,一块布不只是挂在3D空间中,而是与环境中的其他物体碰撞。 为了确保正确模拟,有几个项目必须设置并一起工作:
必须告诉 布料 对象参与碰撞。
可选(但建议)告诉布料与自身发生碰撞。
其他对象必须对 布料 对象 通过 共享图层可见。
其他对象必须是网格对象。
其他物体可能会被另外物体(如骨架或形态键)移动或自身变形。
必须告知其他网格对象偏转布料对象。
必须将blend文件保存在目录中以便保存模拟结果。
然后你可以 烘焙 模拟。模拟器计算帧范围内的布料形状。
之后,您可以在特定帧处编辑模拟结果,或对布料网格进行调整。
您可以调整环境或改变对象形状,然后从当前帧向前重新运行布料模拟。
Collision Settings¶
参考
- 面板
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曲面)或文本对象,则必须使用以下命令将其转换为网格对象 Convert 转换.
自碰撞¶
真正的布料无法穿透自身,因此您通常希望布料自碰撞。启用此选项可告诉布料对象它不应穿透自身。这增加了模拟的计算时间,但提供了更逼真的结果。
Tip
从远处观看的旗帜不需要启用此功能,但角色上的斗篷或衬衫的特写应启用此功能。
- 摩擦
布料与碰撞体碰撞时的摩擦系数。例如,丝绸的摩擦系数低于棉花。
- 距离
当在这个距离时布料开始排斥自己。 较小的值可能会产生错误,但会产生一些加速,而较大的值会产生不切实际的结果,如果太大而且速度很慢。 最好在这之间找到一个合适的值。
- 冲量钳制
通过限制碰撞后的移动量,防止在紧凑和复杂的碰撞情况下发生爆炸。
- 顶点组
所有顶点被分配到这个 顶点组 的面被排除在自我碰撞之外。
See also
Example blend-file: Cloth self-collisions.
问题排查¶
如果你遇到碰撞检测的一些问题,有几种方法可以解决它们:
最快的解决方案是增加对象/自碰撞的 距离。 这将是修复剪辑的最快方法; 但是,它会不那么准确,看起来也不会那么好。 使用这种方法往往使它看起来像布料在空中被支撑一样,并赋予它非常圆润的外观。
第二种方法是增加 品质 (在 布料 面板中)。 这导致模拟器的步骤更小,因此快速移动的碰撞被捕获的概率更高。 您还可以增加碰撞 品质 以执行更多迭代以解决碰撞。
如果这些方法都没有帮助,你可以在进入 编辑模式 之后轻松编辑缓存/烘焙结果。
如果布料被变形网格撕裂; 增加刚度设置。