【推荐100个unity插件之27】推荐5种办法实现unity人物布料系统 衣服裙子飘动 头发飘动 胸部抖动 骨骼模拟 配件摆动 尾巴摆动

news2024/9/20 22:48:46

最终效果

在这里插入图片描述

文章目录

  • 最终效果
  • 前言
  • 模型获取
  • 一、animation rigging 和 cloth布料模拟
  • 二、Unity-Chan!Model
  • 三、Dynamic Bone
  • 四、Magica Cloth 1
  • 五、Magica Cloth 2
    • 1、介绍
    • 2、下载
    • 3、官方文档
    • 4、安装插件
    • 5、使用Animation Rigging插件可视化骨骼
    • 6、Magica Cloth介绍
    • 7、BoneCloth的使用
      • BoneCloth使用设置
      • Transform 设置
      • 顶点绘制
      • Parameters参数设置
      • 效果
    • 8、如何使用MeshCloth
      • 设置模型网格的读/写
      • 其他条件
      • 添加网格布
      • 渲染网格和代理网格
      • 注册渲染网格
      • Reduction 减少代理网格设置
      • 顶点绘制
      • Parameter settings 参数设置
      • 运行效果
    • 9、如何使用BoneSpring实现胸部抖动
      • 添加Bone Spring的MagicaCloth
      • 注册转换Transform
      • Parameter settings 参数设置
      • 效果
    • 10、设置碰撞检测(防穿模)
      • 1.Collider collision detection
        • 原理
        • 碰撞器类型
        • 碰撞模式
        • 使用
        • 注册碰撞器
        • 设置碰撞顶点半径和摩擦力
        • 最终效果
      • 2.Backstop 逆止器
        • 介绍
        • 使用
          • 刘海摆动
          • 头发法线都指向头部之外
          • `第一个限制`:Use Max Distance
          • `第二个限制`:Use Backstop
        • 裙子设置示例
          • 动画姿势的重要性
          • 自定义蒙皮
          • 绘制有效顶点
          • BACKSTOP SETTING 逆止器设置
      • 3.Self Collision and Mutual Collision自我碰撞与相互碰撞
    • 11、BoneCloth高级设置 骨网连接 实现BoneCloth完美的防穿模
      • AUTOMATIC MESH 网格自动
      • SEQUENTIAL LOOP MESH 顺序循环网格
      • SEQUENTIAL NON LOOP MESH 顺序非循环网格
    • 12、Wind Setting 风力设置
      • Global Direction 全局方向
      • Sphere Direction 球体方向
      • Box Direction 框方向
      • Sphere Radial 球体径向
      • Wind zone priority 风区优先级
      • MagicaCloth settings MagicaCloth设置
      • Sine wave and noise wave正弦波和噪声波
      • Moving wind 移动风
  • 最终效果
  • 完结

前言

要实现Unity中的人物布料系统并使其具备动态效果,可以探索多种技术方法。这些方法不仅可以使衣服、裙子、头发等元素自然飘动,还可以实现胸部抖动、骨骼模拟、配件摆动和尾巴摆动等细致效果。本文将深入探讨五种实现这些动态效果的技术方案,从基础的物理模拟到高级的动画控制,帮助你打造逼真的人物表现。

本文主要探究Magica Cloth 2的使用,因为我想探究最好的实现方法,而不是探究最多的实现方法。Magica Cloth 使用Unity Job系统+ Burst编译器操作的高速布料模拟,可以用于骨骼模拟,以及顶点模拟,最关键的是,性能以及效果都很好的。

模型获取

参考:使用VRoid Studio二次元建模,创建专属于自己的二次元卡通人物模型,创建完全免费开源且属于自己VRM模型

至于如何在unity中使用这种VRM模型,可以参考我这两篇文章:
【推荐100个unity插件之25】在unity中直接使用VRM模型——URPUniVrm插件的使用
【blender小技巧】使用Blender将VRM或者其他模型转化为FBX模型,并在unity使用,导出带贴图的FBX模型,贴图材质问题修复

一、animation rigging 和 cloth布料模拟

如果你角色的衣服和头发都已经被绑上了骨骼,那么animation rigging应该是一个不错的选择,但是这里就不过多介绍了,后面我会专门写使用animation rigging的文章

如果你角色的衣服和身体使用的是不同的网格,同时,她的衣服又是没有有厚度的,那么就适合使用unity自带的coth系统来处理衣服
使用介绍参考:【unity小技巧】Unity人物衣服布料系统的探究 —— Cloth组件

二、Unity-Chan!Model

插件地址:https://assetstore.unity.com/packages/3d/characters/unity-chan-model-18705
在这里插入图片描述

使用介绍参考:https://www.bilibili.com/video/BV1G34y127e6/

三、Dynamic Bone

插件地址:https://assetstore.unity.com/packages/tools/animation/dynamic-bone-16743
在这里插入图片描述

使用介绍参考:https://www.bilibili.com/video/BV165411o78h/

四、Magica Cloth 1

地址:https://assetstore.unity.com/packages/tools/physics/magica-cloth-160144
在这里插入图片描述

使用介绍参考:https://www.bilibili.com/video/BV1m3411L75p/

五、Magica Cloth 2

1、介绍

magica cloth对比前面的方式支持更多的物理模拟方式,使用Unity Job系统+ Burst编译器操作的高速布料模拟,可以用于骨骼模拟,以及顶点模拟,最关键的是,性能以及效果都很好的。

MagicaCloth 2是一个与Unity DOTS配合使用的布料模拟。可用于“变换”和“网格”。它将是先前MagicaCloth的后续版本。MagicaCloth 2完全不受渲染管道的影响。也适用于任何着色器。它是magica cloth 1的升级版,系统优化将所有组件集成为一个,无需进行繁琐的预构建(创建按钮)。还添加了新的碰撞功能,如边缘碰撞、后挡和自碰撞。

适用于除WebGL以外的所有平台

2、下载

地址:https://assetstore.unity.com/packages/tools/physics/magica-cloth-2-242307
在这里插入图片描述

3、官方文档

官方文档写的挺好的,如果有不懂的可以选择随时去查看
https://magicasoft.jp/en/magica-cloth-2-2/

4、安装插件

MagicaCloth 2需要Unity 2021.3.16(LTS)或更高版本才能运行。

从编辑器菜单中打开窗口/PackageManager,从MyAssets中选择MagicaCloth 2并导入。操作需要两个软件包(Burst和Collections),但它们会在导入MagicaCloth时自动安装。与之1不同,我们不需要单独手动安装这两个软件包。
在这里插入图片描述
如果在安装过程中出现以下对话框,请在安装完成后重新启动Unity编辑器。
在这里插入图片描述
导入完成后,可以运行demo例子检查一下导入是否成功。
在这里插入图片描述
运行场景,如果角色的袖子、头发、裙子等在物理上抖动,则安装完成。
在这里插入图片描述

当然如果您不需要这些示例,则可以删除它们。

5、使用Animation Rigging插件可视化骨骼

将需要飘动的根节点拖入Root Bones。如果找不到节点,可以使用Animation Rigging插件。选中角色,点击插件的Bone Renderer Setup,可以可视化骨骼。
在这里插入图片描述
在这里插入图片描述
效果
在这里插入图片描述

6、Magica Cloth介绍

首先在角色下面新建一个Magica Cloth,这个是模拟布料的插件。对于放置MagicaCloth组件的位置没有特别的限制,因此可以随意放置它们。
在这里插入图片描述
这将生成一个MagicaCloth游戏对象。
在这里插入图片描述
MagicaCloth的检查器由以下四个块组成
红色:信息窗口
蓝色:设置模拟目标
绿色:运行参数设置
黄色:SceneView的Gizmo显示设置
在这里插入图片描述
虽然有很多,但只有蓝色和绿色部分与设置相关。蓝色部分设置模拟目标,绿色部分设置抖动运动。

7、BoneCloth的使用

BoneCloth是一种基于Unity的变换结构执行布料模拟的机制。完美的摆动头发和配件与骨骼内置到网格。通过操纵“Transform”来表达抖动,它可以大量使用,因为加工负荷低。
和此前版本类似,布料有2种模拟方法,本文研究的是有骨骼的模型,即Bone Cloth,这种方法性能消耗较小。对于没有骨骼的模型可以使用Mesh Cloth。

BoneCloth使用设置

首先要做的是将组件类型更改为BoneCloth。将布料类型更改为[BoneCloth],如下所示。这将为BoneCloth切换检查器。
在这里插入图片描述

Transform 设置

需要在BoneCloth中的Root Bones注册要模拟的Transform 。我这里修改模型的尾巴摆动为例
在这里插入图片描述
将尾巴根骨骼添加到Root Bones列表中。
在这里插入图片描述
此时,尾巴结构在场景视图中显示为红色和白色球体,如下所示。
在这里插入图片描述

顶点绘制

在MagicaCloth中,模拟顶点分为三个行为属性。小球有三种颜色。根节点必须设置为红色,节点只能旋转。白色或绿色节点是正常飘动的节点。黑色或灰色节点是不受影响的节点。(谨慎使用灰色节点,它不受碰撞影响,可能会反向拉扯白色节点)

类型颜色解释
Fixed红色不可动顶点,需要连接移动顶点
Move白色或绿色自由移动顶点,在绘制时以绿色表示以提高可见性
Invalid黑色或灰色从模拟中完全忽略的顶点

BoneCloth将添加到根骨骼的变换设置为固定属性,并自动将其他变换设置为移动属性。如果要更改此设置,可以手动重写顶点属性,在这种情况下,按如下所示单击钢笔标记以启动顶点绘制模式。
在这里插入图片描述
一个绘制窗口将出现在场景视图中,您可以更改顶点属性。切换模式后可以刷这三种节点。一般情况下我们不需要更改节点的颜色,默认的一个红拖一串白就行。
在这里插入图片描述

Parameters参数设置

在设置了变换和顶点属性之后,你所要做的就是设置控制移动的参数。此参数是实现理想运动的基本项目。但是,正如你从检查员那里看到的,有很多参数,需要一定的经验和熟悉度才能理解整个事情。因此,最好先使用官方事先准备好的预设,以便轻松设置。可以从检查器的预设菜单中选择。
在这里插入图片描述

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

这里我们直接选择使用[Tail]预设。Parameter就会使用tail的预置内容的参数。在这里插入图片描述

效果

按下Unity编辑器中的播放按钮就可以查看效果
在这里插入图片描述

8、如何使用MeshCloth

MeshCloth是一种布料模拟网格顶点的方法。可以表达比BoneCloth更真实的抖动。但是,负载会更高。

  • 通过操纵网格顶点表达抖动
  • 即使网格不包含骨骼也可以使用
  • 由于处理负载很高,因此在大量使用时要注意性能

设置模型网格的读/写

在使用MeshCloth之前,需要检查目标模型的导入设置。MeshCloth需要网格的读/写属性来操纵顶点。由于这通常为OFF,因此在Project视图中选择目标模型,如下所示,并将模型导入器的ReadWrite检查设置为ON。
在这里插入图片描述
此外,Rig中的Optimize Game Objects(优化游戏对象)必须关闭。
在这里插入图片描述

其他条件

对于蒙皮网格,每个顶点的最大权重数必须小于或等于4。

添加网格布

在这里,我将以模型的衣服为例解释设置。首先,在模型右键菜单中添加Magica Cloth组件,和前面的BoneCloth一样。然后将布料类型更改为[Mesh Cloth]。
在这里插入图片描述

MeshCloth的检查器与BoneCloth的不同之处仅在于主设置,如下所示。其他部件与BoneCloth相同。
在这里插入图片描述

渲染网格和代理网格

使用MeshCloth时的一个重要概念是代理网格。MeshCloth不使用渲染网格(即显示网格),因为它是用于模拟的。

这主要是因为:

  • 如果直接使用渲染网格,顶点数将太大,模拟负载将非常大。(即使对于外观简单的网格,顶点数超过10000也并不罕见。)
  • 三角形连接结构在很大程度上不适合模拟
  • 有许多情况下,网格被划分为便于表达(例如:分割以分离裙子后面和前面的材料等)

下面是原始渲染网格(顶部)和简化的代理网格(底部)之间的关系。
在这里插入图片描述
可以看到,下部代理网格的顶点较少,形状较简单。MeshCloth在此代理网格上运行所有模拟。并将结果反馈到原始渲染网格并显示在屏幕上。记住这一点,因为这是一个非常重要的概念。

注册渲染网格

让我们注册渲染网格,它将成为代理网格的源。SkinnedMeshRenderer和MeshRenderer可以注册。我这里模型被分配了一个SkinnedMeshRenderer,如下所示。
在这里插入图片描述

在Source Renderers“网格布料源渲染器”列表中注册此SkinnedMeshRenderer。
可以注册多个渲染网格。在这种情况下,所有渲染网格都将合并到一个代理网格中。比如我这里大衣就是由两个渲染网格构成
在这里插入图片描述
注意原始网格必须不超过65,535个顶点。不然会报错
在这里插入图片描述
代理网格现在将显示在场景视图中。
在这里插入图片描述

此代理网格在简化之前,因此它仍具有与渲染网格相同的结构。

Reduction 减少代理网格设置

注册渲染网格时的代理网格具有与渲染网格相同的结构。可以按原样开始模拟,但如前所述,使用更简单的代理网格在性能和稳定模拟方面具有优势。Reduction 可以实现这种简化的工作。
在这里插入图片描述
通过组合两个滑动条来进行简化。

解释
Simple Distance它只是连接附近的顶点。不考虑网格的结构。
Shape Distance根据网格的形状连接附近的顶点。未连接为表面的折点即使在附近也不会合并

尝试移动滑动条。移动滑动条将在真实的时间内简化代理网格并将其显示在场景视图中。让我们在查看场景视图时简化代理网格。
在这里插入图片描述
那么我们应该简化为多简单呢?
这取决于网格的形状和长度以及您想要执行的模拟类型,因此很难设置通用标准。
以下指标仅用作指导。

  • 代理网格越简单,性能越好
  • 它应该被简化到渲染网格中没有精细突起的程度
  • 如果你简化得太多,碰撞检测就会很弱。
  • 此外,渲染网格和代理网格之间的差异可能增加,并且显示可能变得不稳定。

我简化它,使代理网格的表面几乎是平贴。在这里插入图片描述

顶点绘制

简化代理网格后,我们需要对每个顶点的行为做出决定。顶点绘制可以做到这一点。与BoneCloth不同,MeshCloth的顶点绘制非常重要。这是因为MeshCloth默认将所有顶点属性设置为无效。因此,MeshCloth始终需要顶点绘制来确定每个顶点的属性。

这里要做的一个重要任务是明确区分非移动顶点和移动顶点。理想情况下,如果是裙子,腰部附近的顶点不应移动,其余顶点可以自由移动。不移动的顶点称为fixed 固定属性,移动的顶点称为move移动属性。

“顶点绘制”由以下笔标记按钮激活。启动后,场景视图将切换到绘制模式。
在这里插入图片描述
在这里插入图片描述

使用“绘制”面板设置绘制属性。

解释
Point Size显示的顶点球体的大小
Brush Size画笔尺寸
Shape启用此选项后,将使用Gizmo显示代理网格的结构。
Culling启用后,如果代理网格的顶点法线与场景摄影机的方向相反,则不会显示顶点球体。
Z-Test启用后,将显示顶点球体和深度测试的结果。
Through启用此选项后,可以忽略深度并填充光标内的点。笔刷大小也会更改为专用笔刷。
Paint Attribute选择要绘制的顶点属性

顶点属性分为三类。

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

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

Parameter settings 参数设置

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

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

预设解释
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提供了三个选项。

预设解释
HardSpring硬弹簧
MiddleSpring中等强度弹簧
SoftSpring软弹

效果

在这里插入图片描述

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

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

解释
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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2075238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【采集软件】根据关键词批量采集小红薯,含笔记正文、笔记链接、发布时间、转评赞藏等

一、背景介绍 1.1 爬取目标 熟悉我的小伙伴都了解,我之前开发过2款软件: 【采集软件】用Python开发的小红薯搜索采集工具,支持多关键词同时! 【采集软件】用Python开发的小红薯详情批量采集工具,含笔记正文、转评赞藏…

linux系统使用 docker 来部署运行 mysql8 并配置 docker-compose-mysql.yml 文件

Docker是一个开源的容器化平台,旨在简化应用程序的创建、部署和管理。它基于OS-level虚拟化技术,通过将应用程序和其依赖项打包到一个称为容器的标准化单元中,使得应用程序可以在任何环境中快速、可靠地运行。 Docker的优势有以下几个方面&a…

【网格dp】力扣1594. 矩阵的最大非负积

给你一个大小为 m x n 的矩阵 grid 。最初,你位于左上角 (0, 0) ,每一步,你可以在矩阵中 向右 或 向下 移动。 在从左上角 (0, 0) 开始到右下角 (m - 1, n - 1) 结束的所有路径中,找出具有 最大非负积 的路径。路径的积是沿路径访…

Java 入门指南:异常处理的实践规范

在 Java 中处理异常并不是一个简单的事情。需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。 抛出或捕获异常的时候,有很多不同的情况需要考虑,而且大部分事情都是为了改善代码的可读性或者 API 的可用性…

捏蛋糕修牛蹄类型的解压视频素材去哪里找?

今天我们聊聊在哪里能找到制作捏蛋糕、修牛蹄等解压视频的素材。这类视频看起来心情就变好,特别解压。如果你也有兴趣制作这种视频,以下是一些优质的素材网站推荐,助你轻松找到所需素材。 蛙学网 开始我们的推荐列表是蛙学网。这是一个综合性…

npm国内源设置

一、背景 在国内使用npm时,由于网络问题,经常会遇到速度慢或无法访问的问题。为了提高效率,可以将npm的源设置为国内的镜像源。以下是一些常用的国内npm镜像源以及如何设置它们的方法。 二、国内可用源 2.1 淘宝npm源 https://registry.np…

SOLIDWORKS 2025全新功能解读:界面优化

准备好在SOLIDWORKS 2025中探索了吗?新版本,可帮助您简化和加速从概念到制造的产品开发流程,鑫辰科技带您抢先体验SOLIDWORKS 2025的亮点,深入了解新版本所增添的独特功能。 一:指定 Z-向上模板 在早期版本中,SOLID…

手算神经网络MAC和FLOP

在本文中,我们将深入探讨神经网络背景下的 MAC(乘法累加运算)和 FLOP(浮点运算)概念。通过学习如何使用笔和纸手动计算这些内容,你将对各种网络结构的计算复杂性和效率有基本的了解。 这是 colab 笔记本中…

使用 Python 和 SQL 自动将 ETL 传输到 SFTP 服务器

了解如何在 Windows 上自动执行从 PostgreSQL 数据库到远程服务器的日常数据传输过程 欢迎来到雲闪世界。将文件从一个位置传输到另一个位置的过程显然是自动化的完美选择。重复执行这项工作可能令人望而生畏,尤其是当您必须对几组数据执行整个 ETL(提取…

神经网络模型剪枝快速指南

模型剪枝(Model Pruning)是指从深度学习神经网络模型中删除不重要的参数,以减小模型大小并实现更高效的模型推理。通常,只剪枝参数的权重,而不影响偏差。偏差的剪枝往往有更明显的缺点。 非结构化剪枝期间权重如何归零…

书生.浦江大模型实战训练营——(十)Lagent 自定义你的 Agent 智能体

最近在学习书生.浦江大模型实战训练营,所有课程都免费,以关卡的形式学习,也比较有意思,提供免费的算力实战,真的很不错(无广)!欢迎大家一起学习,打开LLM探索大门&#xf…

【9月持续更新】国内ChatGPT-4中文镜像网站整理~

以前我也是通过官网使用,但是经常被封号,就非常不方便,后来有朋友推荐国内工具,用了一阵之后,发现:稳定方便,用着也挺好的。 最新的 GPT-4o、4o mini,可搭配使用~ 1、 最新模型科普&…

遗传算法整合talib技术分析算子做因子挖掘,比如ADX, 阿隆指标等

“ 原创内容第631篇,专注量化投资、个人成长与财富自由” 七年实现财富自由 七年,经过十万小时刻意练习,足矣在任何领域成为专家。 七年,成为自己的财富管理专家。 七年,实现财富自由。 1512篇原创内容 公众号 星球…

怎样恢复微信聊天记录?4个巧妙方法,速来学习!

微信不仅是我们的通讯工具,更是情感的载体,每一句“早安”与“晚安”都藏着不为人知的温柔。但有时候这些珍贵的聊天记录却会离家出走。怎么恢复微信聊天记录?就成为我们需要解答的难题。 别担心,今天,小编我将化身为…

PostgresSQL--基于Kubernetes部署PostgresSQL

基于docker 拉取镜像,这个镜像是我自己的阿里云镜像,拉取的国外的镜像。 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/postgres:latest创建 dolphinscheduler 命名空间,本文命名空间是使用的dolphinscheduler 使用 kubectl…

基于元神操作系统编写(FPU)数学计算程序

1. 背景 数学计算已经成为计算机的主要工作之一,尤其是实数运算,在人工智能时代更是普遍存在,神经网络中的绝大部分参数都用的实数。 2. 方法 (1)FPU运算 计算机中的实数运算是通过数学协处理器FPU完成的&#xff…

黑神话悟空配置要求:CPU/内存/显卡/存储和系统最低限制

玩《黑神话:悟空》对电脑配置有什么要求?至少需要i5处理器、16G内存、GTX 1060显卡、130G空闲磁盘空间,没有高配电脑怎么办?码笔记整理详细配置如下: CPU处理器:64位处理器,CPU选择Intel Core …

数据防泄密知识集锦丨八个实用数据防泄露软件,你知道吗

数据已成为企业的核心资产。 然而,随着网络威胁的日益严峻,数据泄露事件频发,给企业带来了巨大的经济损失和声誉风险。 为了有效保护企业数据的安全性和保密性,各种数据防泄露软件应运而生。 本文将为您介绍八个实用的数据防泄露…

ROS机器人专用云台相机防抖摄像头

【告别模糊】机器人专用摄像头,为您的视觉算法保驾护航 产品概述 Autolabor C1专为机器人设计的高性能摄像头,即使在没有减震装置或不平坦的路面上,也能提供清晰稳定的图像。它拥有先进的主动式机械防抖和数字ISP防抖技术,图像效…

基于太阳能供电的水情监测站设计(论文+源码+图纸)

1.总体方案设计 根据水情监测站系统的实际应用需求,从硬件电路以及软件程序两个方面展开系统设计。按照系统设计功能以及功能选型的结果,制定了如图2.11所示的系统总体框图。系统采用STM32单片机作为控制器,在传感器检测模块中包括的DS18B20…