Unity 布料模拟插件Magica Cloth

依赖包

Magica Cloth 使用 Job System 和 Burst compiler 加快布料模拟,所以需要先安装这两个依赖包
在这里插入图片描述
Burst 可以直接下载
Unity 布料模拟插件Magica Cloth_第1张图片在这里插入图片描述

Job System 得通过 URL 添加,输入com.unity.jobs,设置中也要开启Enable Pre-release Packages
另外为了看到模型的骨骼节点,还要下载Animation Rigging

组件

名称 图标 介绍
MagicaPhysicsManager 在这里插入图片描述 管理器,使用时会自动创建
MagicaBoneCloth 在这里插入图片描述 控制骨骼(Transform)进行布料模拟,带骨骼的衣服和头发都可以用
MagicaBoneSpring 在这里插入图片描述 控制骨骼(Transform)进行弹簧模拟,适合胸部抖动
MagicaRenderDeformer 在这里插入图片描述 渲染变形器,用于对模型的网格进行变形,当使用 MeshCloth / MeshSpring 时需要,性能消耗大
MagicaVirtualDeformer 在这里插入图片描述 虚拟变形器,通过结合多个渲染变形器进行顶点缩减,并重构为一个虚拟网格。使用MeshCloth / MeshSpring时需要,性能消耗大
MagicaMeshCloth 在这里插入图片描述 对网格顶点进行布料模拟,适用于无骨骼的模型,可以实现比Bone Cloth更加精细的控制,是控制裙装的理想选择,与虚拟变形器一起工作,性能消耗大
MagicaMeshSpring 在这里插入图片描述 对网格顶点进行弹簧模拟
MagicaSphereCollider / MagicaCapsuleCollider / MagicaPlaneCollider 在这里插入图片描述 球形,胶囊形,平面形碰撞器,防止穿模,球形和胶囊形主要用于人体,胶囊形消耗更大,平面形主要用于地面
MagicaDirectionalWind / MagicaAreaWind 在这里插入图片描述 全局的风,区域的风

Magica Cloth的物理引擎完全独立于Unity的物理学引擎,因此,它完全不干扰Unity的物理系统。

MagicaPhysicsManager

在这里插入图片描述
MagicaPhysicsManager这个prefab是插件中自带的,运行时使用插件相关的组件后就会自动创建
Unity 布料模拟插件Magica Cloth_第2张图片

Update Per Second 物理引擎每秒更新次数
Update Mode Unscaled Time - 刷新率不受 Unity 的 time scale 影响
Update Mode Once Per Frame - 每帧更新一次,当使用这种模式时,Update Per Second 需要根据游戏的帧率来调整。
Update Mode Delay Unscaled Time - 延迟执行,与 Unscaled Time 一样,但在渲染时也能进行布料模拟,能大幅提高性能,但结果会晚一帧,这个延迟是通过未来预测来插值的
Update Location 在 Late Update 之前或之后更新
Faster Write 使用 Unity 的新 Mesh API 更新网格顶点,提高网格更新速度,版本要大于 2021.2
OnPreUpdate / OnPostUpdate 在布料模拟之前或之后注册事件

MagicaBoneCloth 模拟头发,衣服飘动

MagicaBoneCloth 和 MagicaBoneSpring 都是通过改变骨骼节点Transform的位置和旋转来实现飘动效果
Unity 布料模拟插件Magica Cloth_第3张图片
把模型拖入场景,点击模型,选择Bone Render Setup显示模型的骨骼,方便选择对应骨骼
Unity 布料模拟插件Magica Cloth_第4张图片
这个模型后面有长发和两边的侧发,长发和侧发的参数设置不同,这里以长发演示
Unity 布料模拟插件Magica Cloth_第5张图片
在这里插入图片描述
右键创建一个 Magica Bone Cloth,并改名为长发
Unity 布料模拟插件Magica Cloth_第6张图片
这里有错误提示是因为还没有生成数据,将长发的根节点添加到Root List,点击Start Point Selection进入节点编辑模式
Unity 布料模拟插件Magica Cloth_第7张图片
Unity 布料模拟插件Magica Cloth_第8张图片
红色表示固定节点(Fixed Point),它不会移动,但是会旋转,一般就是根节点,每个可移动的骨骼链上,第一个节点必须是固定节点。
绿色表示活动节点(Move Point),受物理系统影响
还有一种灰色节点表示无效节点(Invalid Point),不参与物理运算
Unity 布料模拟插件Magica Cloth_第9张图片

如果需要修改节点类型,先选择节点类型,按住左键在场景中拖动即可改变节点颜色
调整完后, 点击 End Point Selection 结束编辑
Unity 布料模拟插件Magica Cloth_第10张图片
下面就是物理模拟相关的参数,这里提供了一些预设,点击Preset选择长发类型的预设,会自动修改适合长发的参数
头发相关的预设:前发(FrontHair),长发(LongHair),脸两侧头发(SideHair),马尾(PonyHair),短发(ShortHair)
衣服相关的预设:柔软的裙子(SoftSkirt),硬裙(HardSkirt),长开衩连衣裙(LongSlitDress)
尾巴或身上飘动的装饰物:Tail
最后点击Create生成数据
在这里插入图片描述
上面的错误提示消失,显示了一些参数。现在运行时拖动角色,长发会有抖动的物理效果,但是会有穿模的情况,所以还需要处理下穿模的问题。

Magica Cloth提供了两种穿模的解决方法,表面穿模(Surface Penetration)和碰撞体穿模(Collider Penetration)。
Unity 布料模拟插件Magica Cloth_第11张图片
如果衣服(头发)与身体上的骨骼有关联的话,衣服会随着身体动作跟着运动,如图腿动的时候,裙子也会跟着动,这种情况可以选择表面穿模,表现力更好。
Unity 布料模拟插件Magica Cloth_第12张图片
如果衣服(头发)与身体上的骨骼没有关联,衣服(头发)完全由自己的骨骼控制,如图腿动的时候,裙子不会动,这种情况使用碰撞体穿模。
模型属于第二种情况,所以选择碰撞体穿模
Unity 布料模拟插件Magica Cloth_第13张图片
正常情况下,应该在头部,躯干,四肢都加上球形(MagicaSphereCollider)或胶囊形碰撞体(MagicaCapsuleCollider),这里为了省事儿只在躯干上添加胶囊形碰撞体
在这里插入图片描述
为了长发和碰撞体进行碰撞检测,还需要把这个碰撞体添加到长发的ColliderList中,再次点击Create生成数据,运行查看效果
Unity 布料模拟插件Magica Cloth_第14张图片

下面处理下裙子
Unity 布料模拟插件Magica Cloth_第15张图片
模型前面的裙摆和后面的裙摆被处理成了几个独立的片,这里只处理下后摆,新建一个MagicaBoneCloth改名为后摆
在这里插入图片描述
将后摆的几个根节点添加到Root List,并修改连接模式(Connection Mode)为Mesh Sequential No Loop,表示这几个骨骼链形成一个不闭合的网格面,连接模式指定Root List中骨骼链的连接方式。

Connection Mode Line - 表示单条骨骼链从父级到子级是线性结构的,两条骨骼链是独立的
Connection Mode Mesh Automatic - 自动连接附近的骨骼节点创建一个网格结构并进行连接,它不受Transform的父-子关系的影响,不适合太复杂的结构
Connection Mode Mesh Sequential Loop - 按照在RootList中的顺序生成网格,并连接第一条和最后一条骨骼链
Connection Mode Mesh Sequential No Loop - 按照在RootList中的顺序生成网格,但不连接第一条和最后一条骨骼链
Same Surface Angle 只在连接模式为网格时有,表示生成网格法线的角度(0-90)

Unity 布料模拟插件Magica Cloth_第16张图片
连接模式选择Line,那么裙子上的每条骨骼链就分别单独进行碰撞检测,这样物体可能从两条骨骼链之间的缝隙穿过产生穿模

Unity 布料模拟插件Magica Cloth_第17张图片
首尾相连的裙子选择Mesh Sequential Loop,生成闭合的网格面,这样碰撞检测更加精确

Unity 布料模拟插件Magica Cloth_第18张图片
有的裙子不是闭合的就选择Mesh Sequential No Loop

Unity 布料模拟插件Magica Cloth_第19张图片
在腿上创建碰撞体添加到Collider List,预设选择NormalSkirt,点击Create生成数据,运行查看效果
Unity 布料模拟插件Magica Cloth_第20张图片

MagicaBoneSpring 模拟胸部抖动

在这里插入图片描述
与 MagicaBoneCloth 基本类似,Create Other -> Magica Cloth -> MagicaBoneSpring,右键先创建一个 MagicaBoneSpring 并改名为胸部
在这里插入图片描述
找到模型身上的胸部节点添加到 Root List
在这里插入图片描述
预设选择Breast,点击Create生成数据,运行时查看效果
Unity 布料模拟插件Magica Cloth_第21张图片

MagicaMeshCloth 模拟裙子飘动

Unity 布料模拟插件Magica Cloth_第22张图片
参考官方示例,使用Unity Chan模拟
Unity 布料模拟插件Magica Cloth_第23张图片
首先,必须开启模型上的Read/Write选项,这是为了读取并修改模型身上的顶点,MagicaCloth不支持具有4个或更多顶点的多边形,所以Keep Quads必须关闭
Unity 布料模拟插件Magica Cloth_第24张图片
Unity 布料模拟插件Magica Cloth_第25张图片
在裙子,上衣,拉链这三个Mesh Renderer上都添加 MagicaRenderDeformer(渲染变形器),它能对网格进行变形,添加后会自动创建数据,如果上一步Read/Write选项没有开启,这里会报错
Unity 布料模拟插件Magica Cloth_第26张图片
Create Other -> Magica Cloth -> MagicaVirtualDeformer,然后创建一个MagicaVirtualDeformer(虚拟变形器),把之前三个 MagicaRenderDeformer(渲染变形器)添加到Render Deformer List中,点击Create生成数据,如果这里报错,点击渲染变形器上的Create重新生成数据。MagicaVirtualDeformer的作用是将一个或多个MagicaRenderDeformer转换为一个虚拟网格,减少顶点,将高多边形网格转换为低多边形网格。这个虚拟网格只用于布料模拟,所以实际模型网格不会被减少。从Cloth Monitor中可以看到虚拟网格的顶点数和三角面数

Reduction Setting 调整下面的参数可以减少顶点数量,简化网格,修改后重新点击Create

参数 描述
Merge Vertex Distance 在这个距离内合并顶点,忽略网格的连接性
Merge Triangle Distance 在这个距离内合并三角面,考虑网格的连接性
Same Surface Angle 如果两个连接的多边形小于此角度,则认为它们是相连的
Use Skinning 勾选会对所有顶点的骨骼权重进行重新赋值,取消勾选减少物理计算的负担

Unity 布料模拟插件Magica Cloth_第27张图片
点击Open Cloth Monitor可以看到这个虚拟网格
在这里插入图片描述
Create Other -> Magica Cloth -> MagicaMeshCloth,然后创建一个MagicaMeshCloth并改名为衣服
Unity 布料模拟插件Magica Cloth_第28张图片
这几个组件之间的关系

Unity 布料模拟插件Magica Cloth_第29张图片
接下来的操作和MagicaBoneCloth差不多。添加虚拟变形器的引用,点击Start Point Selection修改顶点类型
Unity 布料模拟插件Magica Cloth_第30张图片
这一步比较麻烦,它没有自动帮我们设置类型,需要手动设置,把裙子部分设置活动节点(Move Point),活动节点需要连接固定节点(Fixed Point)
Unity 布料模拟插件Magica Cloth_第31张图片
在腿部添加两个胶囊形碰撞器并添加到Collider List中
Unity 布料模拟插件Magica Cloth_第32张图片
预设选择Skirt,点击Create生成数据,运行时查看效果

MagicaMeshSpring 模拟胸部抖动

Unity 布料模拟插件Magica Cloth_第33张图片
前面和MagicaMeshCloth差不多,先给胸部附近的Mesh Renderer添加MagicaRenderDeformer(渲染变形器)
Unity 布料模拟插件Magica Cloth_第34张图片
Create Other -> Magica Cloth -> MagicaVirtualDeformer,创建一个MagicaVirtualDeformer,添加胸部附近的MagicaRenderDeformer,点击Create生成数据,可以调整参数适当简化网格
在这里插入图片描述
Create Other -> Magica Cloth -> MagicaMeshSpring,新建一个 MagicaMeshSpring 并改名为左胸
Unity 布料模拟插件Magica Cloth_第35张图片
添加MagicaVirtualDeformer的引用,Center Transform 就是 MeshSpring 摆动的中心,选择左胸节点,如何没有合适的节点可以创建一个Transform节点,调整位置到中心,黄色箭头是摆动的前方向,差不多是z轴正向,所以Direction Axis选择Z
在这里插入图片描述
预设选择Breast,点击Create生成数据,右胸的处理一样

运行时发现摆幅比较大,还需要调整下Spring参数,参考下面参数说明

MagicaDirectionalWind / MagicaAreaWind

Unity 布料模拟插件Magica Cloth_第36张图片
MagicaDirectionalWind 是控制全局的风

参数 描述
Main 风量
Turbulence 风的湍流率,在0.0时,风总是从某一方向流动,在1.0时,风向会随机变化
Frequency 风向变化的速度,你可以改变湍流变化的速度
Direction Angle X/Y 绕X/Y轴旋转的角度

Unity 布料模拟插件Magica Cloth_第37张图片
需要配合Unity的WindZone组件使用,修改MagicaDirectionalWind风量Main会同步修改Wind Zone的风量Main,可以将两者做成一个预制体在场景中使用
Unity 布料模拟插件Magica Cloth_第38张图片
衣服,头发受到的风力通过External Force参数设置,参考下面的参数说明

Unity 布料模拟插件Magica Cloth_第39张图片
MagicaAreaWind控制局部区域的风,可以设置方形或球形区域,用它可以实现爆炸时猛烈的气流效果

参数 描述
Main 风量
Turbulence 风的湍流率,在0.0时,风总是从某一方向流动,在1.0时,风向会随机变化
Frequency 风向变化的速度,你可以改变湍流变化的速度
Shape Type 方形或球形
Direction Type 球形时有效,One Direction - 风吹向某一个方向,Radial - 风从中心径向吹来
Attenuation 球形径向风时有效,风从中心到四周的衰减率
Is Addition 当处于多个风场叠加的区域时,勾选表示叠加这几个风的影响,不勾选会选择区域最小的风场

Unity 布料模拟插件Magica Cloth_第40张图片
这是官方示例中演示的爆炸气流效果,在红球上添加了MagicaAreaWind,设置为球形径向风,调整风量到最大并勾选Is Addition,这样红球出现时就会伴随强烈的气流,这时再配合爆炸的特效就有不错的表现效果

参数说明

下面补充下其他其他参数的说明

Update Mode

指定模拟的更新时间

选项 描述
Normal 根据帧率更新
Unity Physics 基于 Unity 的物理更新,如果角色在 FixedUpdate 内移动,可以通过选择此项来抑制抖动

Culling

Unity 布料模拟插件Magica Cloth_第41张图片
Culling是剔除相关的设置,当角色移出屏幕后如何影响物理系统的更新
首先需要将模型上的网格组件(Mesh Renderer或Skinned Mesh Renderer)添加到Cull Renderer List中,点击Auto Select即可自动添加,然后设置剔除模式

Culling Mode 描述
OFF 不剔除,始终进行模拟
Reset 离开屏幕,停止模拟,再次出现时,会重置模拟
Pause 离开屏幕,停止模拟,再次出现时,从停止的状态继续模拟

Animator和Animation上也有类似的剔除设置
Unity 布料模拟插件Magica Cloth_第42张图片

Culling Mode 描述
Always Animate 不剔除,始终运行动画
Cull Update Transforms 离开屏幕,内部动画仍在运行,但不会更新Transform组件
Cull Completely 离开屏幕,停止模拟,再次出现时,从停止的状态继续模拟

Unity 布料模拟插件Magica Cloth_第43张图片

Culling Type 描述
Always Animate 不剔除,始终运行动画
Based On Renderers 与Animator的Cull Update Transforms一样,离开屏幕,内部动画仍在运行,但不会更新Transform组件

建议动画的剔除和 MagicaBoneCloth 的剔除模式相匹配,确保物理模拟与动画更好地同步
下面是推荐的匹配模式

Animator Culling Mode MagicaCloth Culling mode 描述
Always Animate OFF 不剔除,始终进行模拟和动画
Cull Update Transforms Reset 离开屏幕,停止模拟和动画,再次出现时,会重置模拟和动画
Cull Completely Pause 离开屏幕,停止模拟和动画,再次出现时,从停止的状态继续运行
Animation Culling Type MagicaCloth Culling mode 描述
Always Animate OFF 不剔除,始终进行模拟和动画
Based On Renderers Reset 离开屏幕,停止模拟和动画,再次出现时,会重置模拟和动画

Algorithm

Unity 布料模拟插件Magica Cloth_第44张图片
Algorithm中老的算法已经不再维护,新的算法解决了老算法的一些问题,一般就默认Algorithm 2算法

Radius

Unity 布料模拟插件Magica Cloth_第45张图片
每个由物理引擎控制的点都被称为粒子(particle),Radius就是控制这些粒子的大小,从骨骼链的根节点到末端节点的大小变化
Unity 布料模拟插件Magica Cloth_第46张图片
点击Open Cloth Monitor,勾选Particle Position和Particle Radius,就可以看到长发上的粒子,根节点是黄色,子节点是白色,粒子的大小会影响碰撞检测的判断

Mass

Unity 布料模拟插件Magica Cloth_第47张图片
Mass 就是控制粒子的重量,较重的粒子更难移动,基本上,如果开始点比较重,结束点比较轻,MagicaBoneCloth 的模拟会更稳定

Gravity

Unity 布料模拟插件Magica Cloth_第48张图片
Gravity 设置重力加速度的大小和方向,设置重力让衣服下垂,不容易飘起了会显得更自然一点

External Force

Unity 布料模拟插件Magica Cloth_第49张图片
External Force 设置外力(如风)的影响

名称 描述
Depth Influence 根据粒子在骨骼链上的深度指定受到外力的比率。1.0表示100%受外力影响,0.0表示完全不受外力影响
Wind Influence 风的影响率,1.0是100%受影响,0.0完全不受风的影响
Wind Synchronization 风的同步率,增加同步率,每个粒子将以同样的方式移动。降低同步率会使每个粒子更容易受到干扰
Wind Random Scale 风的随机率,增加随机性,也会增加运动的不规则性

Drag

Unity 布料模拟插件Magica Cloth_第50张图片
Drag 设定粒子的空气阻力,阻力越大,粒子的惯性衰减越快
Unity 布料模拟插件Magica Cloth_第51张图片
Max Velocity 粒子最大速度(m/s)

World Influence

Unity 布料模拟插件Magica Cloth_第52张图片
World Influence 设置身体运动时,粒子受影响程度

名称 描述
Influence Target 检测运动的主体,如果不设置,就会选择该组件所附加的Transform
Max Move Speed 粒子最大移动速度
Movement Influence 身体运动对粒子的影响程度
Rotation Influence 身体旋转对粒子的影响程度
Reset After Teleport 在一帧内大幅度移动或旋转称为Teleport,该选项设置是否在检测到Teleport时重置粒子的位置
Teleport Mode Reset - Teleport后重置一次模拟。Keep - Teleport后保持模拟状态
Teleport Distance 一帧内移动多远距离算一个Teleport
Teleport Rotation 一帧内旋转多大角度算一个Teleport
Stabilization Time After Reset 重置时执行稳定化处理的时间(秒)

Distance Disable

Unity 布料模拟插件Magica Cloth_第53张图片
Distance Disable 根据身体与指定对象(通常是摄像机)之间的距离,禁用/启用模拟

名称 描述
Reference Object 指定要测量距离的目标,如果没有指定,将选择主摄像机
Distance 指定关闭模拟的距离
Fade Distance 淡化距离,如果Distance是20,FadeDistance是5,则在15到20的距离之间进行淡入淡出效果

Clamp Distance

在这里插入图片描述
Clamp Distance 设置粒子离根节点的距离范围,作为参考距离,设置从根节点到粒子的直线距离为1.0,并将距离增加或减少的程度设置为百分比。举例来说,当Min Distance Ratio为0.7,Max Distance Ratio为1.1时,移动限制范围如下
Unity 布料模拟插件Magica Cloth_第54张图片
末端粒子只能在图中两条红线之间的范围内移动
Velocity Influence 速度效应,将此设置为低值可以减少粒子因突然运动而移动的问题。然而,粒子的惯性也会丢失。

Clamp Position

Unity 布料模拟插件Magica Cloth_第55张图片
Clamp Position 限制粒子从原点移动的距离,原点是粒子的原始位置

名称 描述
Clamp Position Ratio X/Y/Z 可以相对于原点X/Y/Z轴移动的百分比(1.0=100%)
Velocity Influence 同上

Clamp Rotation

Unity 布料模拟插件Magica Cloth_第56张图片
Clamp Rotation 限制相对于父节点的旋转角度,上图直线表示根节点(固定粒子)不能弯曲,尖端可以弯曲25度

Restore Distance

Unity 布料模拟插件Magica Cloth_第57张图片
Restore Distance 恢复距离,缩放连接的粒子之间的距离,使它们保持在原来的距离,其作用是保持原始形状。
有以下三种粒子连接方式:

类型 描述
Struct 根据原始结构连接粒子,在Bone Cloth中,是由Transform的父子结构构建的,在Mesh Cloth中,是由Mesh多边形的连接信息构建的。必选的
Bend 从原始结构中连接更多的结构型粒子,可以使形状不容易坍塌。可选的
Near 忽略原始结构,仅连接那些靠近的粒子,这种连接可以保持形状的强度,但也使其不容易变形。可选的
参数名称 描述
Struct Stiffness Struct 连接强度,该值越高,恢复速度越快
Bend Point 是否使用Bend连接
Bend Max Connection 一个粒子的最大连接数,连接数越多,形状稳定性越强,但负荷也更大
Bend Stiffness Bend 连接强度,该值越高,恢复速度越快
Near Point 是否开启Near连接
Near Max Connection 一个粒子的最大连接数
Near Max Depth 进行Near连接的粒子最大深度,骨骼链上起点深度为0,终点深度为1
Near Point Length 要链接的粒子之间的距离
Near Stiffness Near连接强度,该值越高,恢复速度越快
Velocity Influence 同上

Restore Rotation

在这里插入图片描述
Restore Rotation 恢复旋转,当粒子产生旋转后恢复到相对于父节点的角度

参数名称 描述
Restore Power 恢复的强度
Velocity Influence 同上

Triangle Bend

Unity 布料模拟插件Magica Cloth_第58张图片
Triangle Bend 三角形弯曲,当Connection Mode设置为Mesh相关的选项,或者使用Mesh Cloth时会显示该参数
两个连接三角形受外力变形后,两个三角形的角度恢复到其原始角度

参数名称 描述
Bend Power 恢复的强度,基本上设置为1.0就行,但具三角形数量比较少的时候,尝试降低该值
Twist Correction 会创建特殊的约束数据以防止扭曲问题,它会增加消耗,因此不建议使用它,除非有扭曲的问题
Twist Recovery Power 恢复扭曲的强度,如果值太高,形状可能会变得很硬

Collider Collision

在这里插入图片描述
Collider Collision 碰撞检测

参数名称 描述
Dynamic Friction 动态摩擦系数,与碰撞机接触的粒子很难移动,增加该值将增加摩擦力并减慢运动速度
Static Friction 静态摩擦系数,与碰撞器接触的粒子静止的强度,增加该值将导致粒子在碰撞器上立即停止

Penetration

Unity 布料模拟插件Magica Cloth_第59张图片
Penetration 穿模

参数名称 描述
Penetration Mode 碰撞体穿模/表面穿模
Max Connection Depth 最大连接深度
Penetration Axis 粒子可以穿透哪个轴
Connection Distance 搜索粒子所连接的碰撞器时,最大搜索距离
Penetration Distance 粒子可以穿透的距离
Moving Radius 粒子可以移动的最大半径,粒子只能在这个半径的球体内移动
Penetration Ignore Collider List 要忽略的碰撞器列表

Rotation Interpolation

在这里插入图片描述
Rotation Interpolation 旋转插值

参数名称 描述
Fixed Non-Rotation 固定不旋转,当打开时,固定粒子(根节点)将完全不旋转
Line Avarage Rotation 根据连接线的平均角度调整粒子的旋转,将此功能打开会产生更平滑的结果

Spring

Unity 布料模拟插件Magica Cloth_第60张图片
MagicaMeshSpring上调整弹簧的参数,指定弹簧运动的一个球形范围

参数名称 描述
Spring Radius 球形区域的半径
Spring Radius Scale X/Y/Z 三个轴影响的比例
Spring Power 弹簧力
Spring Direction Atten 弹簧力阻尼率取决于与球体前端的角度,左边是前面的方向,右边是后面的方向
Spring Distance Atten 弹簧力的衰减率取决于与球中心的距离,左边是球的中心,右边是球的外缘
Spring Atten Intensity 阻尼率的整体调整

Adjust Rotation

在这里插入图片描述
可以根据弹簧移动的距离为根节点添加旋转

参数名称 描述
Adjust Mode 指定检测运动的轴,通常是Direction Axis之外的两个轴
Adjust Rotation Power 旋转强度

性能优化建议

Unity 布料模拟插件Magica Cloth_第61张图片

  1. Update Mode选择Delay Unscaled Time,实际的物理模拟会比画面慢一帧,为了解决这个问题,它通过上一帧和当前帧的物理模拟结果进行插值
  2. 尽量选择BoneCloth和BoneSpring进行模拟,如果裙子使用BoneCloth效果达不到预期就改成MeshCloth,但注意要简化网格
    Unity 布料模拟插件Magica Cloth_第62张图片
  3. Virtual Deformer组件上需要关注的是Use Skinning选项,如果勾选了Use Skinning,则需要对所有顶点的骨骼权重进行重新赋值,取消Use Skinning可以极大地减少物理计算的负担。它的限制在于当取消了Use Skinning选项后,网格只会受到影响程度最大的Virtual Deformer的影响,可能在一定程度上会影响最终的表现,但是如果对于一个网格的Render Deformer只在一个Virtual Deformer中使用的情况下则可以放心地取消该选项的勾选

参考

up主IGBeginner0116

官方文档

【博物纳新】Magica Cloth

你可能感兴趣的:(物理,Unity插件,unity)