完整案例教学
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一栏是用来选择约束目标的。

-
使用技巧