外力#
外部作用力作用于软体对象的顶点(并且几乎只作用于顶点)。遵循牛顿三大定律:
如果没有外力作用,顶点保持不动或匀速直线运动。
顶点的加速度却决于它的质量和受到的力。质量越大,加速度越小。力越大,加速度越大。
对每个力都存在大小相等、方向相反的反作用力。
当然,这些条件只在计算精度允许的范围内成立,实际计算时总会存在一些误差避免过度计算。
例子#
我们将从一个非常简单的示例开始:默认立方体。
为了观察到外力的效果,你应该首先关闭 结果,这样顶点才不会回到其原始位置。
播放动画以运行模拟。
发生了什么?立方体向Z轴的负方向移动。它的八个顶点均受到全局、恒定的引力的影响。无摩擦的引力与物体重量无关,因此每个设置为软体的物体都会以相同的加速度掉落。物体不会产生形变,因为每个顶点都以相同的方向、速度移动。
力场#
软体的顶点可以与图层中应用的所有力场 力场 (通常应用于粒子)产生相互作用,例如风、常力等等,只要它们位于同一图层。
软体力场权重#
参考
- 面板:
力场权重 面板可以控制各个类型的外部力场对软体系统的影响程度。
- 效果器集合
限制效果器至特定的集合。只有该集合中的效果器会对当前系统产生影响。
- 重力
全局重力的影响。
- 全部
缩放所有效果器权重。
空气动力学#
边线在移动时会受到风的影响,例如在微风中飘动或颤动。在风中飘扬的旗帜就是一个简单的空气动力学模型。
这种特殊的外力不应用于顶点,而是施加到连接边上。从技术上讲,施加垂直于边缘的力。力随相对速度在边缘上的投影(点积)缩放。请注意,如果风在吹,或者以相同的速度在空气中拖动边缘,则力是相同的。这意味着沿自身方向移动的边不受力的影响,而垂直于自身方向移动的边则受到最大力。
媒介与边线之间的角度和相对速度被用于计算边线的受力。该力导致具有较少连接边(平面的前部)的顶点比具有更多连接边(平面的中间)的顶点下降得更快。如果所有顶点在一个方向上具有相同数量的边,则它们以相同的速度下降。
空气动力学 设置在 软体边 面板。
目标#
结果 是软体对象试图符合的形状。它就像一组选定顶点上的一个别针,控制柔体效果对它们的作用程度。
启用 软体目标 告诉Blender在模拟中使用顶点的位置(或动画位置)。在应用软体模拟之前,可以通过所有常用方式(函数曲线、骨架、父级、晶格等)对顶点进行动画处理。"目标" 是顶点所需的结束位置。软体如何尝试实现这一目标,可以使用刚度力和阻尼来定义。
详见 目标设置。
目标强度#
目标强度 用来定义物体的动画受到软体模拟的影响程度。
1.0的值表示没有软体模拟,物体按照常规状态运动(例如,顶点保持它的原始位置)。当 目标 值为0.0(或没有目标时),顶点只会受到软体模拟中物理法则的影响。
设置目标值在0.0与1.0之间,你可以平衡物体受动画系统影响和软体效果影响的程度。
目标也可以用作记忆,确保软体即使在经过剧烈的动画后也不会发生太多形变。使用 顶点组 权重系统,你可以单独定义每个点的 目标 权重。为了使结果更加自然,可以通过调整弹簧的力度控制顶点偏离原始位置的距离。
权重绘制 通常用于舒适地调节权重。对于非网格物体,使用其顶点/控制点的 权重 参数替代。使用编辑模式下的上下文菜单或者侧栏中的 变换 面板。毛发的权重还可以在 粒子编辑模式 下绘制。
技术细节#
在软体世界中,网格的顶点被当作具有质量的粒子。它们的位移由受到的力决定。除了外部的力之外,这些独立的粒子通过边线与其相邻的粒子交互的方式非常接近汽车中避震器的物理模型。相似之处是:
弹簧尽量保持粒子始终在中心位置。弹簧的软硬则却决于软体参数中的 硬度。
阻尼元件负责稳定、静止粒子的运动。这个原件对抗位移的力度大小由软体参数中的 阻尼 控制。