紧身衣模拟

注:紧身衣英文原文是fasica,意指皮肤和肌肉之间的夹层

第零步

将肌肉和骨骼全部转换为 Ziva Bone
注:肌肉也添加Bone,这里是为了制作紧身衣而不是模拟

将肌肉和骨骼全部转换为 给模拟的角色模型添加 Attachment

第一步

zMaterial

  • Rest scale    0.8
  • Pressure    60

zSolver

  • Enable    off (ChannelBox)

    先设置这个参数

  • StartFrame    1 (ChannelBox)
  • Collision Detection    on
  • Substeps    4
  • Max Newten Iterations    2
  • Gravity Y    0

zCloth - 设置关键帧

第0帧

  • Rest Scale Envelope    0
  • Pressure Envelope    0

第20帧

  • Rest Scale Envelope    1
  • Pressure Envelope    1

    由于 Zsolver 的 Envelope 属性不可以设置关键帧,可以退而求其次,禁用 Zcloth 的属性

第二步

zSolver

  • Enable    on (ChannelBox)

第三步 开启播放 模拟紧身衣

如果效果不理想

不理想
不理想

可以看到紧身衣的效果很混乱不堪,包裹效果不理想

zSolver

  • Collision Point Spacing    0.003

    可以调整这里的数值来使模拟的效果更精确,确保更多点呈现绿色,绿色说明是正确的碰撞

zCloth

  • Contact stiffness Exp    10^6

    如果衣服后崩塌或者错乱,可以降低这个数值

    zBone

  • Contact stiffness Exp    10^6

    如果衣服后崩塌或者错乱,可以降低这个数值

理想效果

全身包裹
全身包裹

第四步 处理局部问题

局部包裹

可以看到紧身衣在局部区域没有包裹住模型

添加Material

添加多一个Material层

zMaterial2

  • Rest scale    0.9
  • Pressure    300

zSolver

  • Enable off (ChannelBox)

    关掉演算可以提高绘制效率

Ziva

zMaterial的权重根据节点顺序覆盖

Ziva

先绘制需要的区域,然后可以平滑权重

Ziva
Ziva

在当前Ziva版本,zCloth尚不支持自我碰撞,紧身衣呈现效果有些许问题属于正常情况

第五步 手动修缮模型

Ziva

最后可以将紧身衣复制出来,用雕刻工具去修复有问题的区域
也可以用平滑工具来修缮紧身衣的表面

当上述操作完成之后,可以进行重拓扑步骤

第六步 模型重拓扑

Ziva

官方使用了Mudbox 完成操作

Ziva

重拓扑效果

第七步 通过zBuilder传递属性

Ziva

导入重拓扑模型

Ziva
Ziva

zBuilder将信息重建到重拓扑的模型上(只要改掉名称就可以实现)
zBuilder 不会重建关键帧,需要注意之前设置的关键帧要重新设置

第八步 对重拓扑模型再次模拟紧身衣效果

再次启动模拟一次,将新的模型复制,再用zBuilder重建一次

Ziva

Ziva

以上紧身衣就做好了

皮肤厚度模型制作

导出紧身衣模型到Wrap3
官方由于Wrap3的软件问题跳过了该步骤(:зゝ∠)
官方指出Maya也可以完成这个步骤,Wrap3效果更好,效率更高

Ziva

Wrap3 处理之后合并模型呈现的效果

我所理解的大致操作思路

  • 打开Wrap3
  • 导入原先的外层模型
  • 导入紧身衣模型
  • 通过映射将紧身衣模型映射成原先外层模型的大小
  • 将新的模型导回 Maya
  • 复制一个新的紧身衣模型 (旧的紧身衣有Ziva的属性,后续还有用)
  • 将外层模型和新的紧身衣模型桥接合并成皮肤模型

Ziva 皮肤模拟

记得重新K帧 两个Envelope通道

Ziva

给皮肤模型添加Tissue

Ziva

默认情况这个精度太大了,不够细

Ziva

zTet   => Tet Size   3   降低 Tet size 提高精度

Ziva

选择紧身衣模型再选择皮肤模型,进行attachment操作

Ziva

zMaterial   => Mass Density   106   

Ziva

给重力设置关键帧
zSolver   => Gravity   0  第1帧
zSolver   => Gravity   -9.8  第5帧

Ziva

zSolver   => Substeps   2  

Ziva

删除 zMaterial2 节点
zMaterial   => Pressure   1500  

确保Tissue可以紧贴在紧身衣上

Ziva
Ziva

提高这个部分的网格精度

皮肤模拟流程

第零步

预先见肌肉的动态效果模拟出来,并通过Blendshape传递做成Ziva Bone效果

第一步

给skin创建多一个Material用来区分内层和外层参数。
两个Material分别命名为 skin_baseMaterial 和 skin_innerMaterial

skin_baseMaterial

  • Mass Density    106    注:其实是在原先的基础上除以10,目的是减少大范围移动的错位

skin_innerMaterial

  • Mass Density    106    注:其实是在原先的基础上除以10,目的是减少大范围移动的错位

将 skin_innerMaterial 的权重刷给内层的点
可以通过内层的模型,用脚本获取皮肤上的点

第二步

skin_baseMaterial

  • Surface Tension    45
  • Pressure    -2500 (根据法线方向定正负)

skin_zTissue

  • Surface Tension Envelope    给它设置一个从零开始的关键帧,确保一开始不会因为效果过于激烈而错误。
  • Pressure Envelope    给它设置一个从零开始的关键帧,确保一开始不会因为效果过于激烈而错误。