MagicaCloth布料模拟在Unity中的运用

软件版本


image.png

image.png

官方文档地址:
https://magicasoft.jp/en/magica-cloth-2/

1.场景中添加此脚本


image.png

这脚本的意义在于使项目中MagicaCloth在一个公共的环境下工作,根据项目的表现进行调整更新模式,可以获得最大的优化效率,如果加载其他场景也有此脚本,会自动销毁(仅保持一个场景有一个此脚本)


image.png

[Unscaled Time]
更新的执行与Unity帧速率无关。当帧率在游戏期间波动时很有用。然而,物理引擎可能在一帧中执行不止一次,性能也会有波动。

[Once Per Frame]
每一个Unity帧只进行一次更新。在这种情况下,一次更新将推动物理引擎以每秒更新的速度前进。如果帧率在游戏中几乎是恒定的,这就是性能优势。当使用这个模式时,[每秒更新次数]必须根据游戏的帧率进行调整。
[Delay Unscaled Time]
延迟执行。更新时间与未缩放时间相同,还可以在渲染时运行布料模拟。这大大提高了性能。但请注意,结果是晚了一帧。这种延迟可以通过对未来的预测来弥补。
2.BoneCloth模拟
创建该物体


image.png

将需要模拟的骨骼拖入List
image.png

可以编辑骨骼点
image.png

image.png

比如对上面进行约束
image.png

点击预设,选择你适合的参数


image.png

最终点击创建,生成log,即可开始播放预览
image.png

image.png

3.设置collider
选中你的相应骨骼层级创建collider
image.png

image.png

可以调节半径及各种包围盒大小的参数
image.png

image.png

将所有collider拖入BoneCloth面板的List中
image.png

别忘了这里要打开
image.png

最后在该视图检查相关的包围盒碰撞情况,调整各种半径和长度之类的参数,以免穿帮
image.png

最后别忘了再次创建,即可播放预览
image.png

4.MeshCloth模拟
☆模型FBX读写要打开
在需要的mesh上添加脚本
这里要注意,目前对于手游来说,需要做mesh布料模拟的部件比如裙摆,要单拆mesh出来,不然性能吃不消
image.png

创建虚拟网格VirtualDeformer


image.png

将刚才加了脚本的mesh拖入List
image.png

通过调节这俩属性 减面生成新的虚拟网格
Merge Vertex Distance:在这个距离内合并顶点,忽略网格连接。
Merge Triangle Distance:考虑到网格连接,组合在这个距离范围内的顶点。当你不想改变网格的形状时,这是有效的。
image.png

image.png

每次Creat查看减面后的网格数量
image.png

创建Mesh Cloth,将虚拟网格VirtualDeformer拖入
image.png

编辑受模拟影响的点
image.png

选个预设
image.png

最后点击Creat
image.png

image.png

5.MeshSpring模拟
案例中做了乳摇效果
同样先增加脚本,相当于多生成一份虚拟Mesh用来做模拟用的
image.png

依然再拖进去
image.png

在创建MeshSpring,把virtual deformer拖进去,基本都是类似的流程
image.png

创建虚拟体用来定位的
image.png

这里特别注意坐标,要打开本地坐标,转一下角度,Z轴对着屏幕外
image.png

同样这里也改成Z,与之匹配
image.png

MeshSpring这个样子就算是对上了
image.png

选个预设
image.png

点击Creat,即可播放预览
image.png

6.BoneSpring
这个很简单 创建出来之后 将骨骼或物体拖入List即可
image.png

要注意的是,1号物体要会动,带着2号物体甩起来
image.png

另外底下参数可以调节一下弹簧骨的甩动方向
image.png

7.风场Magica Directional Wind
目前的版本只有这种方向型,插件作者说未来会更新其他类型风场
Main:基本气流。

Turbulence:风的湍流率。在0.0时,风总是从某个方向流动,但在1.0时,风向是随机变化的。
每个武斗可以单独配置风力参数


image.png

Mass Influence:粒子(文档中的粒子就是骨骼节点或Mesh的顶点)重量(重力?)受影响的比率。在1.0时,影响重量为100%,暴露在风中的粒子将不被移动太多。在0.0时禁用重量效果,不考虑重量而受风的影响。
Wind Influence:风影响率。如果设置为0.0,它完全不受wind的影响。1.0是100%受影响。取值范围大于1.0。
Wind Random Scale:风随机率。通过增加随机性,风的影响可能会或多或少地强烈,并会增加运动的不规则性。在0.0时,随机性消失了。

你可能感兴趣的:(MagicaCloth布料模拟在Unity中的运用)