完整案例教学
Dancing案例概述
本案例介绍如何创建镜头级的布料模拟。会涉及解算前的碰撞体预处理,多层布料的设置方法,常用约束创建技巧,以及参数设置。

制作流程

1. 碰撞体预处理
在进解算前,我们需要对碰撞体模型进行数据清洗,避免模型动画存在穿插或穿透的现象。因为碰撞体的穿插会引入非物理性的状态,解算器在处理这些状态时容易产生数值不稳定,从而导致模拟过程出现抖动、爆裂或其他异常现象。
Vera ClosedSurfaceSelfCollisionFree节点介绍
这是一个对碰撞体进行自动修型的节点,该节点每帧都 会进行计算更新。所以使用时最好存储下cache再连接至下游,避免降低解算速度。
使用方法
将Vera_ClosedSurfaceSelfCollisionFree连接至需要修穿插的碰撞体下方即可生效。该节点支持贴图控制生效区域,一般头部与手脚等部位不需要进行穿插修正,可以绘制为黑色。如图(下)

参数面板讲解:

-
MaskAttribute: 取消碰撞区域Mask属性名称。
-
AutoCollisionMethod: 自动修正模式切换。
-
CollisionAreaBlur: 选区范围模糊强度。
-
Smooth Iteration: 平滑计算迭代次数,通过调整该数值,可以增大修正强度
-
Iterations: 总迭代次数。可以增大修正强度,但是速度降低比较明显,推荐先调整Smooth Iteration值,如果Smooth Iteration已经无法加大修正幅度,可以尝试调整该参数。
修型效果对比

如图(上),我们使用了Vera_ClosedSurfaceSelfCollisionFree节点进行穿插修正。左边是修正前的效果,腿关节处存在穿插,没有给布料留出足够的解空间。右边是修正后的结果,穿插部位被平滑开。
2. 设置多层布料动力学
在制作复杂动力学时,会面临多层布料的制作。比如上衣,裤子,外套。这些布料会有不同的质感,所以也需要不同的参数设置。通过以下方式,我们可以实现多布料解算资产的搭建
-
每件需要单独设置参数的解算模型,都创建一套cloth节点以及所需约束。
-
创建3个merge,第一个merge节点用来连接每件布料最后一个vellumConstraint节点的1号输出端(Topology数据)。 第二个节点用来连接2号输出端(Constraint数据)。第三个节点用来连接3号输出端(Collider数据)
-
将三个merge的输出,分别连接至解算器的3个输入口(Input1: Topology Input2: Constraint Input3: Collider)。

3. Attach约束
Attach 约束通过将布料的一部分点固定到指定的位置,来模拟例如衣物上固定点、旗帜上的挂点等效果。同时可以通 过约束强度的调节,来控制布料变形效果,让某些区域实现半跟随。
-
参数介绍:
如图(下),Geometry一栏是用来选择被约束物体的,TargetGeometry一栏是用来选择约束目标的。

-
使用技巧
以当前案例为例,attach约束都创建在袖口,肩膀,以及腰带处。袖口与腰带处的attach主要起固定作用,防止衣物掉落。肩膀处的attach,强度会比较弱,用来防止领口滑落,但是又会保持自然的解算效果。如图(下)

- 示例应用
-
角色服装: 将角色的服装部分区域固定在角色身上,以模拟衣物褶皱或是防止不自然的滑落。
-
旗帜: 将旗帜的一端固定在旗杆上,模拟旗帜在风中飘动的效果。
-
装饰物: 将装饰物如流苏或挂饰固定在布料上,保持其在模拟过程中固定的位置。
-
4. Stitch约束
Stitch约束可以将两个不同的布料部分连接在一起,模拟缝合效果。一般应用于布料的缝合和连接。
-
参数介绍:
如图(下),Geometry一栏是用来选择被约束物体的,TargetGeometry一栏是用来选择约束目标的。

- 使用技巧

如图(上)左侧显示的是裙摆模型的拆分图,每片裙摆都是一个独立模型。所以解算时,需要将下摆缝合在一起,否则会因为没有约束固定的作用散开。右侧是Stitch约束的分布图,集中在裙摆处(右图绿色区域)。
5. 与Vellum之间效果 计算效率对比

详情
- 解算效率测试:CPU: i50-12500 GPU: MTTS4000
| Example Name | Frames | Primitives | Parameter | Vellum | VeraFiber 1.19 |
|---|---|---|---|---|---|
| Dress | 120 | 23 w Triangles 221,942 + 13,866 ( Cloth & Body ) | 300 Iterations 10 Collision Passes 3 Post Collision Paases | 3 substep : 28min | 3 substep : 7min |

