顶点属性分为三类。

class="table-box">
颜色解释
Move绿色运动属性,将其设置为可以自由移动的顶点
Fixed红色固化属性,设置为不移动的顶点
Invalid灰色无效属性,设置要从模拟中排除的顶点。例如,如果腰部以上的部分与模拟完全无关(如连衣裙),则将其设置为无效属性将提高性能。

现在让我们来画画。选择要绘制的属性,将鼠标光标放置在代理网格上,然后单击或拖动以进行绘制。这次我画的衣服如下。完成绘制后,按退出按钮退出绘制模式。
在这里插入图片描述

Parameter settings 参数设置

最后,我们将设置控制移动的参数。在这里,让我们轻松地设置它从预设以及如何使用骨布。从预设菜单中选择[Cape],如下所示
在这里插入图片描述

在这里插入图片描述
预算参数和前面BoneCloth是一样的

class="table-box">
预设解释
Accessory配件;装饰品,配饰
Cape披肩,斗篷
FrontHair前面的头发
LongHair长头发
ShortHair短头发
Skirt裙子
SoftSkirt柔软的裙
Tail尾巴

运行效果

可以看到穿模问题严重,我们后面再单独解决
在这里插入图片描述

9、如何使用BoneSpring实现胸部抖动

BoneSpring为Transforms提供了弹簧摇摆功能。这对于角色胸部颤抖之类的事情来说非常好。另一个优点是处理负荷低,因为功能简单。

添加Bone Spring的MagicaCloth

首先,与BoneCloth类似,从“层次”右键单击菜单中添加MagicaCloth组件。
在这里插入图片描述
然后将ClothType更改为[Bone Spring]。现在你已经准备好使用BoneSpring了。
在这里插入图片描述

注册转换Transform

首先,您需要注册要模拟的Transform。在KAGURA中,胸部变换的左右两侧有成对的起点和终点。BoneSpring需要注册作为层次结构起点的Transform。将这两个变换添加到RootBones。
在这里插入图片描述
当您注册起始变换时,它的所有子变换也会自动注册。此时,Gizmo将在场景视图中可视化,如下所示。
在这里插入图片描述
与BoneCloth类似,在RootBones中注册的变换会自动指定给红色固定属性,而其他变换会自动指定给白色移动属性。
也可以通过顶点绘制更改此设置。
顶点绘制可从绿色笔标记中获得。
在这里插入图片描述
在这里插入图片描述

Parameter settings 参数设置

最后,我们将设置控制移动的参数。在这里,让我们轻松地设置它从预设以及如何使用骨布。从预设菜单中选择[HardSpring],如下所示
在这里插入图片描述
在这里插入图片描述

MagicaCloth其实只为为BoneSpring提供了三个选项。

class="table-box">
预设解释
HardSpring硬弹簧
MiddleSpring中等强度弹簧
SoftSpring软弹

效果

在这里插入图片描述

10、设置碰撞检测(防穿模)

在这里,我们将解释与人体的碰撞检测,这在模拟角色服装时是必不可少的。碰撞检测设置对于BoneCloth和MeshCloth是通用的。MagicaCloth有四种碰撞控制机制。

class="table-box">
解释
Collider collision detection碰撞检测与碰撞器,如球体,胶囊和平面。这是最常用的方法。
Backstop一种通过设置顶点法线方向上可进入的距离和半径来防止布料进入人体的方法。
Self-collision自我碰碰撞。 防止布料自己陷进去。
mutual collision相互碰撞。防止布料咬合其他布料。

1.Collider collision detection

原理

碰撞器碰撞检测的原理很简单,它会挤出,以便顶点不会侵入碰撞器形状(如球体和胶囊)。
在这里插入图片描述
通过根据人体的形状布置这种碰撞器,它是一种防止布料进入的机制。

碰撞器类型

球体碰撞器
在这里插入图片描述

胶囊碰撞器
在这里插入图片描述

平面碰撞器
在这里插入图片描述

碰撞模式

(1)VERTEX SPHERE MODE顶点球体模式
将代理网格的顶点视为球体,并使用碰撞器执行碰撞检测。球体的大小可以调整。
在这里插入图片描述

有一个优点,你可以使用它而不用担心它,因为处理负载很轻。
但是,如果对撞机很小,如下图所示,则存在一个问题,即它将通过球体之间,因此要小心。
在这里插入图片描述

(2)EDGE MODE 切口模式
此模式在代理网格边和碰撞器之间执行碰撞检测。边缘厚度可以调整。边缘模式的巨大优势是不存在vertex sphere mode(顶点球体模式)的滑脱问题。
在这里插入图片描述

但是,应谨慎使用,因为处理负载高于球体模式。只有在顶点球体模式有问题时才应该考虑使用它。

使用

让我们以模型的外套穿模为例,来建立一个碰撞器。

我们需要一个腿部碰撞器和一个腰部碰撞器。首先,选择左腿骨骼。然后打开右键单击菜单并选择创建其他/Magica Cloth 2/Magica Capsule
在这里插入图片描述

胶囊碰撞器组件已添加如下:
在这里插入图片描述

使用胶囊对撞机检查器调整位置和大小。
在这里插入图片描述
如果您想将胶囊碰撞器的起点和终点设置为不同的大小,请按检查器中的[S]按钮,如下所示。这允许您独立设置起始半径和终止半径。
在这里插入图片描述
也可以使用ReverseDirection反转方向,或通过禁用AlignedOnCenter将中心与起点对齐。使用这些属性调整碰撞器以适合您的腿。
在这里插入图片描述
调整时,将场景视图更改为线框模式以获得更好的可见性。
在这里插入图片描述
在这里插入图片描述

让我们以同样的方式在臀部添加一个球体碰撞器。最后放置四个碰撞器,如图所示。
在这里插入图片描述

注册碰撞器

请注意,目前碰撞器的还无法工作。因为系统还不知道你的这些碰撞器是为哪一块的cloth组件服务。所以我们还需要在进行绑定
在这里插入图片描述

这时防穿模功能其实就已经生效了
在这里插入图片描述

设置碰撞顶点半径和摩擦力

我们还可以在Collider List设置碰撞模式、其厚度(半径)和摩擦力(摩擦力)。
在这里插入图片描述
尝试操作半径滑杆。您在场景视图中设置的半径应该以真实的时间反映出来。请调整大小的顶点球体适合放置碰撞器,而在这个场景视图看。
在这里插入图片描述

摩擦力是碰撞器和顶点接触时滑动的困难程度。增加该值会使其不那么光滑。

最终效果

在这里插入图片描述

2.Backstop 逆止器

介绍

逆止器是一种碰撞检测类型,它根据顶点的法线方向限制可以输入的距离。通过使用这个,你可以很容易地防止刘海等侵入你的头部。它还可以防止T恤和其他物品进入人体。机构简单,处理负荷低,是能够强力防止侵入人体的系统。

逆止器由[Movement Limit]面板设置。
在这里插入图片描述

支持原则很简单。限制代理网格的每个顶点可以相对于法线方向移动的范围。
在这里插入图片描述
上图显示了配置属性及其限制。代理网格的顶点和法线显示动画姿态或原点,而不是当前的平移位置。

第一个限制:顶点只能在以原点为中心、半径为“最大距离”(Max Distance)的球体内移动。
第二个限制:顶点只能在与原点法线相距Backstop Distance的距离处移动到半径为Backstop Radius的Backstop Collision球体之外

这两个限制意味着顶点只能在“最大距离”(Max Distance)内和“后退碰撞”(Backstop Collision)外移动。您可以同时使用这两个限制或仅使用其中一个限制。

使用
刘海摆动

让我们以刘海为例。我们将使用Backstop 来防止刘海进入头部。我们事先用BoneCloth为刘海添加预置,以便它摆动。
在这里插入图片描述
在这里插入图片描述

头发法线都指向头部之外

首先,让我们检查当前代理网格的法线方向。这将通过将Gizmo面板中的轴设置为Normal法线来显示。
在这里插入图片描述

绿色线是法线方向。取消勾选位置,顶点球体将隐藏以便更好的检查,确保可见性。
在这里插入图片描述

BoneCloth只是使用了变换的Y轴,所以这个模型的方向很混乱。在此状态下,Backstop 不可用。

让我们调整法线方向。理想情况下,所有法线都指向头部之外。
使用Normal Axis“法线轴”和Normal Alignment“法线对齐”属性进行调整。

将“Normal Alignment”设置为“Transform”。
拖入一个头部中心点,如果你的头部中央没有一个Transform ,最好创建一个新的游戏对象并注册它。
在这里插入图片描述

在“Transform ”模式中,法线从指定的“Transform ”坐标径向更改。此更改是对代理网格进行的,不会影响原始Transfrom或网格。
结果如下
在这里插入图片描述

现在我们已经准备好设置所有法线都指向头部的后挡板了。

第一个限制:Use Max Distance

顶点只能在以原点为中心、半径为“最大距离”(Max Distance)的球体内移动。
在这里插入图片描述
效果
在这里插入图片描述

第二个限制:Use Backstop

顶点只能在与原点法线相距Backstop Distance的距离处移动到半径为Backstop Radius的Backstop Collision球体之外
在这里插入图片描述
完成效果
在这里插入图片描述

裙子设置示例

在这里,我们将以裙子为例解释高级backstop 逆止器设置。后挡主要防止顶点穿透人体。然而,人体总是充满活力的,它的姿势以各种方式变化。正因为如此,它不会像上面提到的刘海那么简单。

不过同样我们先加上摆动效果
在这里插入图片描述

动画姿势的重要性

动画姿势在这里很重要。这是“变换”或“网格”在不使用MagicaCloth的情况下为动画变形的姿势。例如,以下角色的裙子蒙皮到左腿和右腿。因此,裙子会跟随腿部并设置动画。这是理想的,在这种情况下,你可以设置一个backstop。
在这里插入图片描述

但是,下面的角色没有将裙子贴在腿上。因此,当执行动画时,腿将穿过裙子。在此状态下无法设置Backstop 。
在这里插入图片描述

想要backstop 对动画姿势施加限制。为了使backstop工作,Transform 或网格跟随动画是很重要的。

自定义蒙皮

可以使用Gizmo显示当前动画姿态的状态。
您可以按如下所示打开动画姿态检查来检查它。
在这里插入图片描述
例如,样品中包含的UnityChanKAGURA的裙子没有贴着腿的皮肤。
在这里插入图片描述

如果由于某种原因艺术家校正是不可能的,有一个自定义蒙皮功能作为替代。这是一项自动为指定骨骼的代理网格蒙皮的功能。如果已正确设置动画姿势,则不需要。
在这里插入图片描述
在“自定义蒙皮”面板中启用该检查,并在“蒙皮骨骼”中注册蒙皮所需的骨骼。对于Kagura裙子,我注册了从胸部到双腿的骨骼,如下所示。
在这里插入图片描述
该配准骨骼在Gizmo中可视为黄色球体。
在这里插入图片描述
效果,自定义蒙皮使代理网格跟随腿部。
在这里插入图片描述

也可在BoneCloth中使用。但请记住,自定义蒙皮只是一个替代功能。因此,它不是很准确。

绘制有效顶点

每个顶点可以设置有或没有功能的Backstop 。这是通过从面板中的蓝色笔标记启动顶点绘制来完成的。
在这里插入图片描述

例如,当您不希望止回器在网格的特定部分上工作时,可以使用它。
在这里插入图片描述

BACKSTOP SETTING 逆止器设置

在此之后,你所要做的就是像刘海例子中那样设置挡块。这一次,我们将为KAGURA的裙子设置自定义蒙皮。
在这里插入图片描述

完成
在这里插入图片描述
在这里插入图片描述

这是一个backstop的控件,不使用任何碰撞器碰撞。可以看到,后挡板限制了腿的移动,并防止顶点进入腿。还请注意,腰部周围没有顶点。通过添加碰撞器并在此状态下对其进行加强,您可以控制裙子无论如何移动都不会穿透腿部。

3.Self Collision and Mutual Collision自我碰撞与相互碰撞

在这里插入图片描述

这里,我们将解释两个碰撞检测功能,自碰撞和相互碰撞。两者相似,但有不同的用途。这两个碰撞功能非常强大,但使用它们时有一些警告。自碰撞功能目前处于测试阶段。

比如我们不希望尾巴和衣服穿模,配置尾巴的Magica Cloth和衣服不可相互碰撞即可
在这里插入图片描述
效果
在这里插入图片描述

11、BoneCloth高级设置 骨网连接 实现BoneCloth完美的防穿模

BoneCloth进行衣服皇帝防穿模,正常衣服骨骼直接存在间隙,可能防穿模效果没那么好。

好在BoneCloth具有从注册的变换自动构建网格的功能。通过使用此功能,变换之间的连接变得更强,形状维护和碰撞检测变得更强。此外,由于边缘是水平连接的,您可以通过将其与边缘碰撞一起使用来进一步加强碰撞检测。
在这里插入图片描述
从BoneCloth的[连接模式]进行设置。
在这里插入图片描述
目前,有三种连接方式可用。
在这里插入图片描述
作为一个例子,我们将解释由10根骨形成的裙部的连接方法的特征如下。

AUTOMATIC MESH 网格自动

在这里插入图片描述
自动连接附近的变换。但是,根据“变换”的位置,形状可能会不自然。

SEQUENTIAL LOOP MESH 顺序循环网格

在这里插入图片描述
根据根骨骼的顺序水平连接。因此,注册根骨骼的顺序很重要。根骨骼的起点和终点连接在一个循环中。
在这里插入图片描述

SEQUENTIAL NON LOOP MESH 顺序非循环网格

在这里插入图片描述
根据根骨骼的顺序水平连接。因此,注册根骨骼的顺序很重要。根骨骼的开始和结束不连接。
在这里插入图片描述

12、Wind Setting 风力设置

通过使用风生成功能,您可以将风添加到布料模拟中并更逼真地绘制它。这是通过在场景中放置一个MagicaWindZone组件来控制的,该组件指定在其中生成风的区域。您还可以通过调整[Wind]面板上的设置来更改风在MagicaCloth组件上的效果。

Wind zone settings 风区设置
要生成风,需要在场景中指定其范围。我们将为此使用MagicaWindZone组件。请注意,Unity也有一个WindZone组件,但它不影响MagicaCloth。需要一个专用的MagicaWindZone组件来为MagicaCloth提供风。
可以从右键单击菜单中添加组件,如下所示:
在这里插入图片描述
风区根据[模式]分为几种类型。由于每个模式的设置项目不同,我们将在下面解释这些类型。
在这里插入图片描述

Global Direction 全局方向

影响整个场景的定向风。
No range. 没有范围。
在这里插入图片描述

Sphere Direction 球体方向

影响球形区域的定向风。
在这里插入图片描述

Box Direction 框方向

影响四方形区域的定向风。
在这里插入图片描述

Sphere Radial 球体径向

影响球形区域的径向风。辐射风是从区域中心向外产生的。因此,没有方向规范。也可以使用[Attenuation]指定风力从中心向外的衰减曲线。
在这里插入图片描述

Wind zone priority 风区优先级

如果多个风区域在布料组件上重叠,则只有具有最低体积的风区域将处于活动状态。但是,唯一的例外是GlobalDirection区域,它被视为无限大,具有最低的优先级。如果后面描述的[IsAddition]标志打开,则排除此优先级。

MagicaCloth settings MagicaCloth设置

风的效果也可以通过调整每个布料组件。为此使用“风”面板。
在这里插入图片描述

Sine wave and noise wave正弦波和噪声波

两种波形,正弦波形和噪声波形,用于风波动。正弦波形具有恒定的周期,可用于从日本动画创建场景。然而,代价是随机性的损失。
在这里插入图片描述

噪波波形具有不规则的周期,可以创建更自然和逼真的运动。
在这里插入图片描述

这两个波形可以通过[Noise Blend]混合。

Moving wind 移动风

通过增加Moving wind[移动风]参数,您可以根据角色的移动自动生成风。移动风的力受惯性参数的影响。换句话说,如果运动的影响被惯性参数抑制,则运动风的影响将相应地减小。
在这里插入图片描述

最终效果

在这里插入图片描述

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~
在这里插入图片描述

data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://xiangyu.blog.csdn.net/article/details/141362222","extend1":"pc","ab":"new"}">> id="blogExtensionBox" style="width:400px;margin:auto;margin-top:12px" class="blog-extension-box"> class="blog_extension blog_extension_type5" id="blog_extension"> class="extension_official" data-report-click="{"spm":"1001.2101.3001.6471"}" data-report-view="{"spm":"1001.2101.3001.6471"}"> class="blog_extension_card_left"> class="blog_extension_card_cont"> 向宇的客栈 class="blog_extension_card_cont_r"> QQ群名片
注:本文转载自blog.csdn.net的向宇it的文章"https://blog.csdn.net/qq_36303853/article/details/141362222"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!