包含此页的版本:
不含此页的版本:
布料组件可与蒙皮网格Unity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
请参阅术语表渲染器,为模拟织物提供基于物理的解决方案。它是专门为角色服装设计的,并且仅适用于 Skinned网格体渲染器(Mesh Renderer) 一个网格体组件,用于从网格体过滤器中获取几何体,并将其渲染到对象的变换组件定义的位置。更多信息
请参阅术语表.如果将布料组件添加到游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表使用常规网格渲染器时,Unity 会删除网格渲染器并添加蒙皮网格渲染器。
要将 Cloth 组件附加到具有蒙皮网格渲染器的游戏对象,请在编辑器中选择游戏对象,单击 Inspector 窗口中的 Add Component 按钮,然后选择 Physics > Cloth。组件将显示在检查器中。
| 财产 | 描述 |
|---|---|
| 拉伸刚度 | 布料的拉伸刚度。 |
| 弯曲刚度 | 布料的弯曲刚度。 |
| 使用系绳 | 应用约束,以帮助防止移动布料粒子离固定粒子太远。这有助于减少过度的拉伸。 |
| 使用重力(Use Gravity) | 重力加速度应该施加到布料上吗? |
| 阻尼 | 运动阻尼系数。 |
| 外部加速 | 施加到布料上的恒定外部加速度。 |
| 随机加速 | 应用于布料的随机外部加速度。 |
| 世界速度比例(World Velocity Scale) | 角色的世界空间移动将影响布顶点的程度。 |
| 世界加速规模 | 角色的世界空间加速度将影响布顶点。 |
| 摩擦 | 布料与角色碰撞时的摩擦力。 |
| 碰撞质量比例(Collision Mass Scale) | 碰撞粒子的质量增加多少。 |
| 使用连续碰撞(Use Continuous Collision) | 启用连续碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息 请参阅术语表以提高碰撞稳定性。 |
| 使用虚拟粒子(Use Virtual Particles) | 每个三角形添加一个虚拟粒子以提高碰撞稳定性。 |
| 求解器频率 | 每秒求解器迭代次数。 |
| 睡眠阈值 | 布的睡眠阈值。 |
| 胶囊碰撞体胶囊体形状的碰撞器组件,用于处理游戏对象(如桶和角色肢体)的碰撞。更多信息 请参阅术语表 |
此布料实例应与之碰撞的胶囊碰撞体数组。 |
| 球体碰撞体球体形状的碰撞器组件,用于处理游戏对象(如球或其他出于物理目的可以大致近似为球体)的碰撞。更多信息 请参阅术语表 |
此 Cloth 实例应与之碰撞的 ClothSphereColliderPairs 数组。 |
| 虚拟粒子权重(Virtual Particle Weights) | 虚拟粒子相对于三个相邻法线布料粒子的重心坐标。(这些权重通常不需要调整)。 |
布料不会对所有碰撞体 用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格体形状完全相同 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
请参阅术语表在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表,也不会将力量施加回世界。添加布料组件后,根本不会对任何其他形体做出反应或影响。因此,布料和世界在手动将世界中的碰撞器添加到布料组件之前无法识别或看到彼此。即使在那之后,模拟仍然是单向的:布料对这些物体做出反应,但不会施加力回。
此外,你只能将三种类型的碰撞器与布料一起使用:球体、胶囊体和圆锥形胶囊体碰撞器,这些碰撞器使用两个球体碰撞器构造。这些限制的存在都是为了帮助提高性能。
可以将约束应用于布料的特定顶点,以使其具有或多或少的移动自由度。
在检查器一个Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表,在 Cloth 组件中选择 Edit cloth constraints(左上角按钮)。当工具处于活动状态时,小球体会出现在场景视图:您正在创建的世界的交互式视图。您可以使用场景视图来选择和定位场景、角色、摄像机、灯光和所有其他类型的游戏对象。更多信息
请参阅术语表在网格体的所有顶点上。它们表示可以应用约束的布料粒子。粒子的颜色表示其约束在布料中的相对值,具体取决于当前选择的约束类型。
布料约束工具窗口也显示在场景视图的右下角。
布料约束工具具有以下选项:
| 财产 | 描述 |
|---|---|
| 可视化 | 允许您选择要显示的约束类型和粒子。从以下选项中进行选择:
颜色光谱(Color spectrum) 根据当前在整个布料中应用的最小值和最大值,提供所选约束类型的粒子颜色和约束值之间的对应关系。黑色始终表示粒子没有约束。 |
| 约束模式 | 从以下选项中选择如何编辑布料约束值: |
| 约束大小(Constraint Size) | 表示布料粒子的球体的显示大小。在方便时调整此值,以简化约束版本。此属性对约束本身没有影响。 |
要在“选择”模式下使用“布料约束”工具,请执行以下作:
要在“绘制”模式下使用“布料约束”工具,请执行以下作:
要在渐变模式下使用“布料约束”工具,请执行以下作:
布料碰撞使游戏中的角色服装和其他布料移动更加逼真。在 Unity 中,布料具有多个处理碰撞的布料粒子。您可以为以下内容设置布料粒子:
若要为布料设置碰撞粒子,请在“布料”检查器中选择“自碰撞和相互碰撞”按钮:
布料自身Collision__和Intercollision__窗口将出现在场景视图中:
布料粒子会自动显示为带有布料组件的蒙皮网格体。最初,没有布料粒子设置为使用碰撞。这些未使用的颗粒显示为黑色:
要应用自碰撞或相互碰撞,您需要选择一组粒子来应用碰撞。要选择一组要碰撞的粒子,请单击 选择(Select) 按钮:
现在,左键点击并拖动以选择要应用碰撞的粒子:
所选粒子显示为蓝色:
勾选“自碰撞和相互碰撞”复选框,将碰撞应用于所选粒子:
指定用于碰撞的粒子显示为绿色:
要为布料启用自碰撞行为,请转到 布料检查器(Cloth Inspector) 窗口的 自碰撞(Self-Collision) 部分,并将 碰撞间距离(Inter-Collision Distance) 和 碰撞间刚度(Inter-Collision Stiffness) 设置为非零值:
| 财产 | 功能 |
|---|---|
| 碰撞间距离(Inter-Collision Distance) | 每个粒子周围的球体直径。Unity 确保这些球体在模拟期间不会重叠。碰撞间距离应小于配置中两个粒子之间的最小距离。如果距离较大,自碰撞可能会违反某些距离约束并导致抖动。 |
| 碰撞间刚度(Inter-Collision Stiffness) | 粒子之间的分离脉冲应该有多强。布解算器会计算出这一点,它应该足以保持粒子分离。 |
自碰撞和相互碰撞可能会占用大量整体模拟时间。考虑保持较小的碰撞距离,并使用自碰撞指数来减少相互碰撞的粒子数量。
自碰撞使用顶点,而不是三角形,因此不要指望自碰撞能够完美地适用于三角形远大于布料厚度的网格体。
绘制(Paint)和擦除(Erase)模式允许您通过按住鼠标左键并拖动单个布料粒子来添加或删除用于碰撞的粒子:
在“绘制”或“擦除”模式下,指定用于碰撞的粒子为绿色,未指定的粒子为黑色,笔刷下方的粒子为蓝色:
如上所述,指定用于相互碰撞的粒子与指定用于自碰撞的粒子的方式相同。与自碰撞一样,您可以指定一组用于相互碰撞的粒子。
要启用相互碰撞行为,请打开物理设置(从 Unity 的主菜单中:编辑 > 项目设置(Project Settings) 广泛的设置集合,允许您配置物理、音频、网络、图形、输入和项目的许多其他区域的行为方式。更多信息
请参阅术语表,然后选择 物理(Physics) > 物理设置(Physics Settings) > 布料(Cloth) 类别),并在 布料碰撞(Cloth InterCollision) 分段中将 碰撞间距离(Inter-Collision Distance) 和 碰撞间刚度(Inter-Collision Stiffness) 设置为非零值:
布料碰撞间距离(Inter-Collision Distance)和碰撞间刚度(Inter-Collision Stiffness)属性与上文所述的自碰撞距离(Distance)和刚度(Stiffness)属性具有相同的功能。
布料无法简单地与任意世界几何体发生碰撞,现在只能与胶囊碰撞体或球体碰撞体数组中指定的碰撞体进行交互。
球体碰撞器数组可以包含单个有效的 SphereCollider 实例(第二个实例为 null),也可以包含一对。在前一种情况下,ClothSphereColliderPair 仅表示布料要碰撞的单个球体碰撞器。在后一种情况下,它表示由两个球体定义的圆锥形胶囊形状,以及连接两者的圆锥体。圆锥形胶囊形状可用于对角色的肢体进行建模。