内力

通常来说,你会在网格中相邻顶点之间创建边连接它们。想象每一条边都是一根弹簧。任何机械弹簧都能够在拉力作用下拉伸,在压力作用下收缩。所有弹簧都有一个自己的理想长度,而硬度则限制了在这个理想长度的基础上,你可以拉伸或压缩弹簧的程度。

在Blender中,弹簧理想长度就是你创造的网格中边线的原始长度,甚至在你启用软体系统之前就存在了。直到你为物体添加了软体模拟,所有弹簧都被假定为完全僵硬的状态,不会被拉伸,不会被压缩。

你可以调整边弹簧的硬度,让你的网格在微风中自然下垂、弯曲、飘动,或者在地上缩成一团。


要在软体对象的顶点之间创建连接,必须有将顶点组织在一起的力。这些力在连接顶点之间的边线上是有效的。这个力就扮演了弹簧的作用。如图。 顶点与连接顶点的边线上的力。 展示了一个3X3的网格点(Blender中的网格平面)在软体模拟中是如何连接的。

../../../_images/physics_soft-body_forces_interior_theory-1.svg

顶点与连接顶点的边线上的力。

../../../_images/physics_soft-body_forces_interior_theory-2.svg

硬度开启后的额外作用力。

但是,如果你不使用额外的边约束,四边形对角线上的两个顶点就会自由转动。避免四边面坍塌的合理方法是,在对角的两个顶点中新增一条边。这个方法效果很好,但是却会大幅度改变你的网格的拓扑结构。

幸运的是,Blender允许我们定义额外的虚拟连接。一方面,你可以为四边面的对角线定义虚拟连接(硬四边面 图示。 硬度开启后的额外作用力。),另一方面,你甚至使用 弯曲 参数,为一个顶点和与其临近点相连的任何顶点之间创建虚拟连接。换句话说,弯曲的数值可以在顶点和与其相距两条边距离的任何顶点中创造虚拟连接。

设置

边线的特点可以在软体面板的 弹性硬度 属性中设置。详见 软体边设置

小贴士:防止坍塌

硬度

我们会使用两个立方体(蓝色:只有四边面,红色:只有三角面)来展示边设置的不同效果,这两个立方体会关闭结果选项(如何设置碰撞体的方法在 碰撞 页面)自由掉落在平面上。查看 示例blend文件

关闭硬度。
../../../_images/physics_soft-body_forces_interior_quadvstri-sb-001.png

第1帧。

../../../_images/physics_soft-body_forces_interior_quadvstri-sb-036.png

第36帧。

../../../_images/physics_soft-body_forces_interior_quadvstri-sb-401.png

第401帧。

在图示 关闭硬度。 中,使用了默认的设置(没有开启 硬度)。只有四边面的立方体将完全坍塌,三角面组成的立方体保持其形状不变,即使在碰撞期间由于受力,会暂时变形。

开启硬度
../../../_images/physics_soft-body_forces_interior_quadvstri-sb-001.png

第1帧。

../../../_images/physics_soft-body_forces_interior_quadvstri-sb-sq-036.png

第36帧。

../../../_images/physics_soft-body_forces_interior_quadvstri-sb-sq-401.png

第401帧。

在图示 开启硬度 中,启用 硬度 (两个立方体)。立方体均保持了形状不变,但这个选项对红色立方体来说没有区别,因为它根本没有四边面。

弯曲

第二种防止物体坍塌的方法是改变它的 弯曲 硬度。这个选项创造包含对接线处的虚拟弹簧(阻尼同样作用于这些连接)。

抗弯刚性
../../../_images/physics_soft-body_forces_interior_quadvstri-sb-001.png

第1帧。

../../../_images/physics_soft-body_forces_interior_quadvstri-sb-bs-036.png

第36帧。

../../../_images/physics_soft-body_forces_interior_quadvstri-sb-bs-401.png

第401帧。

图示. 抗弯刚性 中,弯曲 的强度设置到了1。现在两个立方体都更硬了。

../../../_images/physics_soft-body_forces_interior_quadvstri-bending-001.png

两个平面即将下落。

../../../_images/physics_soft-body_forces_interior_quadvstri-bending-101.png

无抗弯刚性。

../../../_images/physics_soft-body_forces_interior_quadvstri-bending-high-101.png

高抗弯刚性(10)。

如果你想让一个细分后的平面更挺阔,也可以使用抗弯刚性。无 抗弯刚性 时,小的平面可以像铰链一样自由转动。如图 无抗弯刚性。。在这里,你在模拟中开启 硬度 是无用的,因为此示例中没有任何面发生了形变。

抗弯刚性是指让平面发生形变所需要的力度。