使用柔体创建布料模拟

 
 
 

此工作流使用柔体平面和锚点约束来展示一个简单的布料模拟。

  1. 在新的 Maya 场景中,将 Maya 时间滑块持续时间设为 200 帧,并确保将其设置为从第 1 帧开始播放。
  2. 通过选择“创建 > 多边形基本体 > 平面”(Create > Polygon Primitives > Plane) > 来创建一个多边形平面。将“宽度”(Width)“高度”(Height)设为 5 并将“宽度分段数”(Width divisions)“高度分段数”(Height divisions)设为 20。单击“创建”(Create)
  3. 打开通道盒,然后将“平移”(Translate)值设置为以下值以放置平面:
    • X:2.5
    • Y:0.0
    • Z:2.5
    此时,平面的四个角中的一个应位于原点。
  4. 选择平面,然后选择“Bullet > 创建柔体”(Bullet > Create Soft Body),将平面转化为柔体。平面此时是一个柔体对象。
  5. 选择“创建 > 定位器”(Create > Locator),在位于平面角上的原点创建定位器。
  6. 在网格上单击鼠标右键,然后从显示的菜单中选择“顶点”(Vertex)
  7. 按住 Shift 键的同时选择位于原点的网格顶点(在平面的角上)和定位器,然后选择“Bullet > 创建柔体锚点”(Bullet > Create Soft Body Anchor)。这会将选定的顶点附加到定位器。

    播放模拟。布料因重力作用而降落,但会像受约束的布料那样悬挂在定位器上。

  8. 下一步,要了解 Bullet 对象如何交互,请创建一个多边形球体,方法是依次选择“创建 > 多边形基本体 > 球体”(Create > Polygon Primitives>Sphere)。将“半径”(Radius)设为 1.00,并将“轴”(Axis)“高度”(Height)分段数设置为 20。单击“创建”(Create)
  9. “通道”(Channel)框中,将“平移”(Translate)值设置为以下值以定位球体:
    • X:2.0
    • Y:-2.0
    • Z:3.0
    此时,球体位于平面的下方。
  10. 依次选择“Bullet > 创建被动刚体”(Bullet > Create Passive Rigid Body),以将球体包括在解算中。将“碰撞对象形状类型”(Collider Shape Type)设为“球体”(Sphere)
  11. 播放模拟。由于您已将球体设置为被动刚体(这会将球体包括在解算中),布料垂挂在球体上面。
  12. 请确保布料具有足够多的分辨率 (UV),然后在“属性编辑器”(Attribute Editor)的 BulletSoftBodyShape 设置中激活“生成弯曲约束”(Generate Bend constraint)“自碰撞”(Self-Collision)。请确保在“属性编辑器”(Attribute Editor)中,BulletSoftBodyShape 的“柔体特性”(Soft Body Properties) 和“弯曲阻力”(Bend Resistance)设置不会设成太高,并且“线性刚度”(Linear Stiffness)值较低。
    注意您可以通过将解算器的内部帧速率设置为 120 Hz 来改善解算行为。