简介

软体模拟用于模拟柔软的可形变物体。这个功能主要用于为动画添加辅助运动,例如人物行走时身体部分的轻微晃动。

它也可以用于模拟更加常见的软体,如弯曲、变形、受重力和风力作用、或是与其他物体碰撞。

虽然软体也可以在一定程度上模拟布料和其他有一定硬度的可形变物体,但专为此目的设计的 布料模拟 解算器可以更好的完成这一任务。

软体模拟的工作原理是将物体已有的动画与它受到的力结合起来。物体的顶点受外力如重力或力场,和内力的同时作用。这样,你就能模拟真实世界中物体的形状,好像它们确实有体积、是实心的、并且受物理力量的作用。

软体可以通过 碰撞 与其他物体产生相互作用。它也可以通过 自碰撞 与自己产生相互作用。

软体模拟的结果可以被转换为静态对象。你也可以对模拟进行 烘焙编辑 ,例如,修改中间某处的结果并从这里继续运行柔体模拟。

使用软体的典型场景

../../_images/physics_soft-body_introduction_windcone.jpg

悬挂的风向袋是一个软体。

软体适用于:

  • 人物移动时的轻微晃动。

  • 使用橡胶、明胶等材料制作的富有弹性、可形变的物体。

  • 在风中晃动的树枝,摇摆的绳索等类似的物体。

  • 受力的旗帜、宽袖、垫子等简单的布制品。

下面的视频或许可以给你一些启发:

创建软体

软体模拟适用于所有具有顶点或控制点(网格、曲线、平面和晶格)的物体。

To add a soft body simulation to an object, go to the Physics tab (bouncing ball icon) in the Properties and activate the Soft Body button. For a reference of all the settings see this page.

你可以使用 Alt-A 播放动画开始软体模拟,使用 EscAlt-A 停止模拟。

实时交互

使用时间线编辑器可以很方便的处理软体模拟。你可以在不同的帧中切换,模拟将始终显示其实际形态。你可以与模拟过程实时交互,例如,移动碰撞物体或者抖动软体对象。

然后,您可以在运行模拟时选择软体对象,并在 "属性" 的 修改器 选项卡中选择 应用 修改器。这使得变形永久化。

末级

  • 柔体模拟非常适合顶点均匀分布的物体。你需要足够多的顶点进行良好的碰撞。向一个特定的区域添加顶点会改变物体的形变(硬度)。

  • 碰撞计算会花费大量时间。如果某个对象是不可见的,就不要计算它。

  • 为了提高碰撞计算的速度,通常会使用一个额外的、更简单、不可见、稍微大一些的物体来替代碰撞对象进行计算。

  • 只在行得通时使用软体。如果试图给身体网格一个较紧的衣物,单单使用软体来模拟衣物的动画,你不会成功。自碰撞的软体毛发有实现的可能,但这是一条需要你独自摸索的道路。我们稍后会在 碰撞 中细述这个问题。

  • 尝试使用 晶格曲线引导 而非物体本身来进行软体模拟。这或许更快。