中EN
概念页

Chaos 布料

Chaos Cloth

更新于 2026-10-13 约 4 分钟UE5Chaos布料ClothXPBDDataflow

UE5 的布料由 Chaos Cloth 解算器模拟,它是一个基于粒子的底层解算器。有两套制作流程:一是传统流程,在骨骼网格编辑器里直接选材质分段、绘制参数遮罩(最大距离、背挡、动画驱动等);二是 UE 5.3 起的 Panel Cloth Editor,用独立的布料资产和 Dataflow 节点图搭建,支持可选的 XPBD 约束和水平集体积 (Level Set Volume) 碰撞。

解算器

官方:UE 使用 Chaos Cloth 解算器,这是一个负责粒子模拟的底层布料解算器。由于可以直接访问模拟数据,集成可以做得很轻量、可扩展性强。编辑器内的 Clothing Tools 让开发者直接在 UE 里完成制作和反复调试,不依赖外部工具,修改效果实时可见。(Clothing Tool in Unreal Engine)布料的外观着色是另一回事,见 布料着色;刚体与破碎见 Chaos 物理与碰撞。

传统流程:在骨骼网格上绘制

  1. 在 Skeletal Mesh Editor 中用 Section Selection 选中某个材质分段,从这个 LOD 分段创建布料资产 (Clothing Asset)。
  2. 如果是角色,给布料资产指定其 Physics Asset,用于碰撞。
  3. 右键分段,Apply Clothing Asset 把资产绑定到渲染网格。
  4. 用 Cloth Paint 面板绘制参数(左键绘制、Shift+左键擦除、H 预览)。(Clothing Tool in Unreal Engine)
绘制参数含义(官方)
Max Distance布料上每个点离开其动画位置的最大距离
Backstop Distance在 Max Distance 范围内限制移动的偏移
Backstop Radius一个球体半径,与 Max Distance 相交的区域内,绘制过的点不能进入
Anim Drive Multiplier驱动弹簧把布料拉回动画位置,便于动画师在过场中控制

Max Distance 的直观理解:布料粒子 xix_i 被约束在以其蒙皮动画位置 x^i\hat{x}_i 为球心的球内,∥xi−x^i∥≤di\lVert x_i-\hat{x}_i\rVert \le d_i,其中 did_i 是绘制值(这是对官方定义的形式化表述)。绘制为 0 的点完全跟随蒙皮,蒙皮本身见 顶点混合与蒙皮。

Panel Cloth Editor(UE 5.3+)

UE 5.3 引入了新的布料制作方式:一个布料资产 (Cloth Asset) 保存运行时生成和模拟所需的全部信息,在 Chaos Cloth Panel 节点编辑器中构建,用 Dataflow 图从多种来源生成布料。可以从外部基于版片的 DCC 工具导入静态网格,并传递蒙皮权重和遮罩;可以加入 XPBD 布料约束,使用 LSV 碰撞。(Panel Cloth Editor Overview)

下图对比两套流程的数据组织:

flowchart TB
  subgraph "传统流程"
    A["骨骼网格材质分段"] --> B["Clothing Asset 绑定在网格上"]
    B --> C["绘制 Max Distance 等遮罩"]
  end
  subgraph Panel Cloth Editor
    D["DCC 版片静态网格"] --> E["Dataflow 图"]
    E --> F["独立 Cloth Asset 不依赖骨骼网格"]
    E --> G["可选 XPBD 约束 与 LSV 碰撞"]
  end
  C --> H["Chaos Cloth 解算器"]
  F --> H

两套流程使用同一个 Chaos 解算器,差别在制作方式和数据:新编辑器多了可选的 XPBD 约束类型;不会把布料度量烘焙到垂坠姿势 (draped pose),因此配置得当时即使用旧约束效果也更好;布料资产独立于骨骼网格。官方说明它的长期目标是同时支持实时流程和(借助缓存的)影视特效流程;Dataflow 图的搭法决定模拟是偏快还是偏精确。(Panel Cloth Editor Overview)

取舍

  • 传统流程上手快,适合在已有角色网格上加裙摆、披风;版片流程适合服装从 DCC 版片开始制作的管线(这是归纳)。
  • 碰撞依赖 Physics Asset,碰撞体太粗会穿模,太多又增加开销。
  • Anim Drive 可以在过场中把控制权交还给动画,但设得太强会让布料显得僵硬(一般经验)。
  1. Clothing Tool in Unreal Engine UE 5.8 文档
  2. Panel Cloth Editor Overview UE 5.8 文档

相关页面

游戏开发 · UE5Chaos 物理与碰撞Chaos Physics & CollisionChaos 是 UE5 的物理与破碎系统。日常最常打交道的是碰撞模型:每个物理体有对象类型 (Object Type) 和对其他类型的 Block/Overlap/Ignore 响应,结果由双方共同决定;Hit 与 Overlap 事件都要显式开启。骨骼网格通过物理资产 (Physics Asset) 获得刚体与约束(布娃娃、物理动画);Chaos 破碎基于几何集合 (Geometry Collection) 的分级断裂、簇阈值、连接图与缓存回放,并能把事件交给 Niagara。物理体用盒/球/胶囊/凸包代理,原理对应游戏数学中的包围体与相交测试。图形学布料着色Cloth Shading布料的微几何与其他材质不同:可能有高度重复的编织结构、垂直伸出表面的纤维,或两者兼有,因此常需要专门的着色模型来表现各向异性高光、粗糙散射(半透明纤维造成的边缘亮光)以及随视角的颜色变化。布料 BRDF 分为经验模型、基于微表面理论的模型和微圆柱模型三类。本页对应 RTR4 9.10 节。游戏美术顶点混合与蒙皮Vertex Blending & Skinning顶点混合(也叫线性混合蒙皮、enveloping、骨骼子空间变形)让一个顶点受多根骨骼的变换影响,按权重混合结果,使关节处的"皮肤"连续弯曲。它非常适合在 GPU 上执行;主要缺点是关节折叠、扭转和自相交,可用双四元数蒙皮等方法改善。游戏开发 · UE5Chaos 载具Chaos VehiclesChaos Vehicles 是 UE5 的轮式载具物理插件:用骨骼网格加物理资产表示车身,用 ChaosVehicleWheel 蓝图配置车轮、悬挂和刹车,用扭矩曲线描述引擎,再由动画蓝图里的 Wheel Controller 节点驱动车轮转动和转向动画。另有 Chaos Modular Vehicle 插件,用几何体集合 (Geometry Collection) 拼装可拆解的模块化载具。游戏开发 · UE5MetaHuman 数字人MetaHumanMetaHuman 是 Epic 的一套完整框架,用来创建、驱动和使用带完整绑定、照片级的数字人。从 UE 5.6 起,MetaHuman Creator 完全集成进引擎(双击 MetaHuman Character 资产打开),可以把角色组装 (Assembly) 成针对不同目标环境优化的资产。在引擎层面,最需要关心的是 LOD:MetaHuman 由多个 LOD 数量不同的组件组成,由 LODSync 组件统一切换;毛发是 Groom 资产,可以在发丝、发片、网格三种几何之间按 LOD 切换。游戏开发物理引擎与游戏的集成Integrating a Physics Engine into a Game碰撞/物理世界里的刚体只是抽象的数学描述,要通过游戏对象这个中枢,间接连到屏幕上的视觉表现。刚体按谁驱动分三类:物理驱动、游戏驱动(Havok 称 key framed)、固定;Havok 用可在运行时切换的"运动类型"统一表示。每帧更新有固定顺序:先更新游戏驱动刚体、幻影、力、冲量和约束,再步进模拟,然后回读物理驱动对象、查询幻影、执行投射查询。物理宜用恒定的 1/30 或 1/60 秒时间步。GEA 还逐一讨论了子弹、手雷、爆炸、可破坏物、角色移动、相机碰撞和布娃娃的实际做法(GEA4 卷 II 14.5–14.6)。游戏开发游戏中的物理与中间件Physics in Games & Middleware今天游戏引擎所说的"物理",准确说是经典刚体动力学模拟:理想化的、无限坚硬不可形变的物体在力的作用下如何运动和相互作用。它高度依赖碰撞检测系统;反过来,碰撞检测可以独立存在,几乎所有有移动物体的游戏都有某种碰撞检测,但不一定有物理。GEA 先讨论要不要物理、物理是否好玩、它对项目各部门的影响,再列出主流中间件(GEA4 卷 II 第 14 章引言、14.1–14.2)。

输入关键词开始搜索

滚轮或双指缩放 · 拖动平移 · 双击放大 / 还原