Maya 蒙皮权重保姆级教程:从绑定到导出,一次刷对

Maya 蒙皮权重保姆级教程:从绑定到导出,一次刷对
xiaoming适用版本:Maya 2016.5+(部分功能需 2018+)
目标读者:会基础建模和骨骼、但被刷权重折磨过的角色制作者
最终目标:拿到一套能直接导给 UE / Unity / Blender 使用的干净权重
重要说明:本教程全程只使用 Maya 自带功能,不需要任何第三方插件。比赛、考试、以及禁止第三方工具的项目可以直接照做。
目录
- 0. 先搞懂:为什么刷权重这么累
- 第 1 章 准备工作(漏掉这步,后面全是白工)
- 第 2 章 绑定打底
- 第 3 章 原生方案:锁定分组法(无插件)
- 第 4 章 批量复用:不要重刷第二遍
- 第 5 章 极限姿势精修
- 第 6 章 后处理与导出
- 第 7 章 一键收尾脚本
- 第 8 章 故障排查速查表
- 第 9 章 提速路线怎么选
- 附录 A 菜单路径速查
- 附录 B 术语中英对照
0. 先搞懂:为什么刷权重这么累
新手刷权重的典型姿势:绑定完 → 打开绘制蒙皮权重 → 从头到尾一笔一笔刷 → 刷到一半发现旁边被刷坏了 → 重新刷 → 循环。
问题不在手上,在于这条路线本身就是最慢的。 权重真正的产出逻辑是五段:
flowchart TD |
记住三句话,整篇教程都是在展开它们:
- 权重不是”刷”出来的,是”算”出来的 —— 让算法给你 70 分的底子,你只负责最后 30 分。
- 管理权重比刷权重更重要 —— 让你改一个部位时不破坏别的部位,靠的是「锁定权重」这把原生武器(第 3 章)。
- 不要追求完美权重 —— 剩下的瑕疵用 Delta Mush、修正形态、扭转骨去兜,比继续加笔画划算得多。
第 1 章 准备工作(漏掉这步,后面全是白工)
1.1 版本与工具清单
| 项目 | 要求 | 说明 |
|---|---|---|
| Maya 版本 | 2016.5 及以上 | 更低版本没有测地体素绑定,下拉框里只有”最近距离”和”热力图” |
| Maya 版本(推荐) | 2018 及以上 | 才有 限制总数、关节标签 等蒙皮收尾功能 |
| 第三方插件 | 不需要 | 本教程全部使用 Maya 自带功能。比赛 / 考试规则常禁止插件,所以第 3 章用的是原生替代方案 |
| 建模软件 | 无所谓 | 但模型必须经过第 1.2 节的自检 |
关于插件:ngSkinTools 这类”权重图层”插件确实好用,但比赛和考试通常不允许安装。本教程第 3 章给了一套纯原生的等价方案——锁定分组法,能拿回插件约八成的效率。如果你在自己不受限制的日常项目里工作,装插件当然更快,那部分内容本教程不再展开。
1.2 模型自检清单(6 项,逐项过一遍)
这一步最少花 5 分钟,能省你 5 小时。
| # | 检查项 | 怎么查 | 不合格怎么办 |
|---|---|---|---|
| 1 | 顶点是否全部焊接 | 显示 > 多边形 > 边界边,如果关节附近出现不属于开口的红色亮边,说明有未焊接的缝 | 编辑网格 > 合并 焊接;确认模型不是由多个分离壳拼接 |
| 2 | 关节处是否有足够边环 | 手动观察:肘、膝、肩、胯、手指根,每个关节至少 3 圈完整边环 | 用 编辑网格 > 插入循环边 补。补边环的效果远好于刷一百遍权重 |
| 3 | 有没有五边面/多边面 | 网格 > 清理,勾选”非流形几何体””带洞的面””大于 4 边的面” | 用 编辑网格 > 四边化 或手动切开 |
| 4 | 变换是否归零 | 选中模型看属性编辑器,位移/旋转/缩放应该全是 0 / 0 / 0 / 1 / 1 / 1 | 修改 > 冻结变换 |
| 5 | 是否居中、朝向正确 | 角色应该站在世界原点,面朝 Z 轴正方向或 -Z(和你的引擎约定一致) | 移动/旋转模型,然后再次冻结变换 |
| 6 | 历史是否清干净 | 编辑 > 按类型删除 > 历史 | 建好骨、绑好蒙皮之前别乱删,但建模阶段的历史要清 |
特别提醒:如果模型是”躯干 + 手臂 + 头”三块分开的壳,绑定时测地体素算法会把人算废。先用
编辑网格 > 合并把缝焊起来,或者确认这些壳是故意分离的(比如衣服)。
1.3 骨骼自检清单
| # | 检查项 | 怎么查 / 怎么做 |
|---|---|---|
| 1 | 关节落在网格体积中心 | 这是”怎么刷都别扭”的第一大原因。见 2.1 节 |
| 2 | 左右关节命名规范 | 必须用 _L / _R 或 Left / Right 后缀,例如 upperarm_L。镜像权限完全依赖这个 |
| 3 | 加了关节标签(2018+) | 选中骨架根节点 → 骨架 > 关节标签 > 添加关节标签。加了标签后镜像、引擎导入都更稳 |
| 4 | 关节朝向统一 | 骨架 > 定向关节,让所有关节轴朝向一致(多数引擎按 X 轴向) |
| 5 | 骨架变换归零并冻结 | 同上,修改 > 冻结变换 |
| 6 | 骨骼层级合理 | 前臂、上臂这类会有大扭转的部位,先加好 twist 扭转骨,别指望权重能解决 180° 扭转 |
1.4 环境准备:界面与快捷键
刷权重前必开的三个窗口:
蒙皮 > 绘制蒙皮权重工具的工具设置面板(右侧,务必展开”工具设置”)窗口 > 常规编辑器 > 组件编辑器(Component Editor)窗口 > 常规编辑器 > 大纲视图(方便快速选骨骼)
必背快捷键(Artisan 笔刷通用):
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 调整笔刷半径 | 按住 B + 左键拖动 | 比去设置面板拉滑块快 10 倍 |
| 调整笔刷强度 | 按住 M + 左键拖动 | 调不透明度/值 |
| 临时反向操作 | 按住 Ctrl(Windows)/ Command(Mac) | 画笔从”相加”变”相减”,不用来回切模式 |
| 框选组件 | Ctrl + 右键圈选 | 快速选出一片顶点做批处理 |
| 单独显示选中对象 | Shift + I | 隔离当前网格,避免刷到旁边的衣服 |
| 显示全部 | Shift + A | 退出隔离 |
强烈建议:先把左侧工具架的
选择蒙版打开,把相机、骨骼之外的物体锁住,避免误刷。
第 2 章 绑定打底
2.1 把关节对到网格体积里(Interactive Skin Bind)
这是整篇教程里”性价比最高”的一步。 骨骼在网格外面、或者在网格边缘飘着,算法算出来的权重必然是扭曲的,你怎么刷都救不回来。
操作步骤:
- 选中蒙皮网格(可以是多个),按住
Shift再选中骨架根节点。 - 菜单:
蒙皮 > 交互式蒙皮绑定 > 选项 - 在工具设置里:
- 绑定方法 → 选
测地体素(Geodesic Voxel) - 勾选与”体积”相关的选项(不同版本叫
保留体积/Volume),让关节倾向于保持在网格体积内部
- 绑定方法 → 选
- 在视口中,逐个/批量选中需要处理的关节。
- 用移动工具把关节拖到网格横截面的几何中心上。肩、肘、膝、胯、指根这几个位置尤其重要。
- 确认后点击工具设置里的
绑定蒙皮/完成按钮。
判断标准:把视口切成四视图,关节应该在所有视图里都落在网格体积的中间,而不是贴在某一个面上。
如果你觉得”交互式绑定”一次只处理一部分关节太麻烦,也可以:
先普通绑定 → 再回到绑定姿势(蒙皮 > 转到绑定姿势)→ 手动调关节位置 → 重新绑定。
但必须在绑定姿势下调,否则姿势会跳。
2.2 选择绑定方法
蒙皮 > 绑定蒙皮 > 选项 → 绑定方法(Bind Method) 下拉框:
| 方法 | 什么时候用 | 什么时候别用 |
|---|---|---|
| 最近距离 Closest Distance | 基本淘汰,只在极端简单模型上试 | 默认别用,效果最粗糙 |
| 热力图 Heat Map | 封闭、干净、单壳的网格;躯干、头部 | 有开放边、穿模、未焊接的网格——经常会直接报错或者整块权重丢失 |
| 测地体素 Geodesic Voxel | 默认首选。对非流形、开放边、手指、耳朵这类薄壁结构稳得多 | 网格极其庞大(几百万面)时计算慢,可以先减面 |
结论:无脑先用测地体素。如果它算出来的结果明显不对,再试热力图。
2.3 绑定蒙皮参数逐项解释
蒙皮 > 绑定蒙皮 > 选项 面板里,除了绑定方法,还有这些参数:
| 参数 | 建议值 | 为什么 |
|---|---|---|
| 绑定到 | 关节层级(Joint Hierarchy) | 选整个骨架,除非你只绑局部 |
| 最大影响数 Max Influences | 4 | UE / Unity 都是 4 骨骼权重。Maya 默认 5,不提前限制就是导出后返工 |
| 衰减速率 Falloff Rate | 默认 0.5 | 影响权重的过渡速度,先保持默认 |
| 移除未使用的影响 | 勾选 | 减掉一堆 0 权重的无用关节,蒙皮更轻 |
| 归一化权重 Normalize Weights | 交互式(Interactive) | 避免刷出负权重、避免权重和不为 1。选”无”是最常见的新手坑 |
| 锁定权重 | 保持不动 | 后续用锁定功能固定已刷好的关节 |
归一化权重的三个值:无 / 交互式 / 后处理。
- 交互式:每次刷完立刻归一,权重和永远是 1(推荐)
- 后处理:只在收尾时归一,刷的过程中数值会飘,容易刷出负权重
- 无:完全不管,几乎必出问题
2.4 绑定后立刻做的三件事
绑定完成、还没开始刷之前,先做这三件事,你的起点会从 0 分变成 70 分:
第一件:Flood 平滑打底
- 打开
蒙皮 > 绘制蒙皮权重工具。 - 在工具设置的”画笔”区,把 画笔模式 切成
平滑(Smooth)。 - 把 不透明度 调到 0.3 左右(别拉满)。
- 把笔刷半径调到能覆盖半个身体的大小。
- 点工具面板下方的
Flood(填充) 按钮,点 2~3 次。
这一步会把算法算出来的硬边过渡揉开,手感立刻好很多。
第二件:全模型统一平滑(可选但推荐)
选中网格 → 蒙皮 > 平滑蒙皮权重 > 选项:
- 平滑迭代次数:
2 ~ 3 - 权重固定:如果某几个关节已经刷得很准,先
锁定权重再平滑
第三件:确认归一化和影响数
- 选中骨架,打开属性编辑器,找到
skinCluster节点(在大纲视图里按类型筛也行)。 - 确认
归一化权重 (Normalize Weights)=交互式 (1) - 确认
最大影响数 (Max Influences)=4 - 确认
遵守最大影响数 (Obey Max Influences)已勾选
2.5 绑定报错急救
| 报错 / 现象 | 原因 | 解法 |
|---|---|---|
| 热力图报错 “无法绑定” | 网格有开放边/未焊接 | 换测地体素;或用 编辑网格 > 合并 焊接后重试 |
| 绑定后模型整个塌成一团 | 关节位置严重偏离网格,或骨架有非单位变换 | 冻结骨架变换,用 2.1 节重新对关节 |
| 绑定后某几个关节完全没权重 | 移除未使用的影响 把它们当无用影响删了 | 用 绘制蒙皮权重工具 手动 Add 回来 |
| 蒙皮后模型形状变了 | 绑定姿势被破坏 | 蒙皮 > 转到绑定姿势 检查;确认在绑定姿势下调的关节 |
| 刷权重时出现负权重(数值条跑到负值) | 归一化设成了”无” | 改成”交互式” |
第 3 章 原生方案:锁定分组法(无插件)
本章是整篇教程里收益最大的部分。 它用 Maya 自带功能实现了插件里”图层隔离”的核心价值。
比赛、考试、以及客户禁止第三方工具的项目,都用这一章。
3.1 先想清楚:真正让你返工的是什么
新手刷权重的痛苦,表面上来自”刷得慢”,实际来自改坏了别的地方:
- 你调上臂的权重,结果肩膀塌了
- 你回头修肩膀,结果胸口跳了
- 你回头修胸口,发现上臂又不对了
所以第一步不是提高刷的速度,而是先建立安全边界——让你当前的每一笔操作,绝对不会影响边界之外的任何东西。有了边界,每一笔都是净收益,不需要回头返工。
3.2 核心武器:锁定权重
蒙皮 > 锁定权重 / 蒙皮 > 解锁权重
这是原生 Maya 里唯一能提供”作用域隔离”的功能:
- 被锁定的骨骼权重,在绘制、平滑、归一化时都不会被改动
- 锁定支持两种粒度:
| 粒度 | 怎么用 | 典型场景 |
|---|---|---|
| 按关节锁定 | 选中要保护的关节 → 蒙皮 > 锁定权重(选项里选”锁定选定关节的权重”) | 做隔离:处理肩膀时锁住整个下半身 |
| 按顶点锁定 | 选中要保护的顶点 → 蒙皮 > 锁定权重(选项里选”锁定选定顶点的权重”) | 做保护:某一片已经刷得很准,不想再被动到 |
验证锁定是否生效:在绘制蒙皮权重工具里,对锁定的骨骼点一次 Flood,权重应该纹丝不动。如果变了,说明没锁上。
和插件的差距在哪:锁定只能表达”改 / 不改”,而插件图层能表达”相加 / 相减 / 覆盖 / 相乘”。但实际工作中,你要的 95% 就是”改 / 不改”——所以这个差距远比想象中小。
3.3 把骨骼分成 7 组
花 10 分钟做这件事,后面全程受益。 按”从独立到牵连”的顺序分组:
| 顺序 | 组名 | 组内骨骼(按你自己的命名替换) | 备注 |
|---|---|---|---|
| 1 | 手指 | finger* thumb* index* middle* ring* pinky* | 建议每根手指再单独成组 |
| 2 | 手部 | hand* wrist* | |
| 3 | 前臂 | forearm* lowerarm* elbow* | 需要扭转骨,见 6.3 节 |
| 4 | 上臂 | upperarm* shoulder* clavicle* | 难点,留足时间 |
| 5 | 躯干 | spine* chest* hip* pelvis* | |
| 6 | 腿部 | thigh* calf* knee* foot* toe* | |
| 7 | 头颈 | neck* head* jaw* |
把每一组存成”快速选择集”,这样一句话就能选中整组:
- 在场景里选中该组的所有骨骼
创建 > 集 > 快速选择集,命名例如SS_上臂- 之后在大纲视图底部的集面板里点一下,就选中了整组
这是原生版的”图层面板”,非常值得建。
3.4 一次完整的作业循环
以”上臂 + 肩膀”为例,每换一组就重复这套动作:
- 先解锁全部 ——
蒙皮 > 解锁权重,确保没有残留的锁定状态(保险做法:全选所有关节再解锁) - 选中当前组 —— 点快速选择集
SS_上臂 - 反选 ——
选择 > 反转选择,此时选中的就是”除了上臂之外的所有骨骼” - 锁定 ——
蒙皮 > 锁定权重(按关节粒度) - 开始刷 —— 现在随便怎么刷,都只影响上臂这一组。肩膀塌了?胸口跳了?不可能,它们被锁死了
- 局部柔化 —— 需要平滑时走 3.5 节的原生遮罩流程
- 切姿势验证 —— 用 5.1 节的姿势库,抬臂 90°、前伸 90° 逐个看
- 满意后解锁 ——
蒙皮 > 解锁权重,切下一组
顺序很重要:一定要从”手指”往”头颈”走。手指最独立,刷好了不会被后面改坏;头颈和躯干牵连最多,放最后。
别忘了体力活可以脚本化:第 3.8 节的脚本能一键完成”选中当前组 + 锁定其余骨骼”,7 组循环下来能省不少时间。
3.5 原生”遮罩”:只平滑你选中的部分
插件图层的第二重价值是”只在我圈定的范围内操作”。原生 Maya 用**平滑蒙皮权重的”权重固定”**来实现:
- 框选你要平滑的那片顶点(
Ctrl + 右键圈选,不需要动的区域就不要选) 蒙皮 > 平滑蒙皮权重 > 选项- 参数建议:
| 参数 | 建议值 |
|---|---|
| 平滑迭代次数 | 2 ~ 3 |
| 扩展比例 | 保持默认 |
| 权重固定 | 选与”仅处理选定顶点”对应的那一项(不同版本可能写作 未选定顶点 / Unselected Vertices) |
- 点
应用。
效果是:只有你框选的顶点被平滑,其余顶点连数值都不动。 这是原生方案里最接近”图层遮罩”的操作,值得单独练熟。
另外,多数版本的绘制蒙皮权重工具会优先只作用在已选中的组件上——先框选顶点再刷,画笔就只影响这些顶点。如果你的版本试了不生效,就用上面的平滑固定法,或者配合 3.2 节的按顶点锁定保护其他区域。
3.6 数值级精修:组件编辑器
画笔刷完之后,总会有几个顶点”就是不对”。这时候别再刷了,直接用数值改:
- 选中问题顶点(
Ctrl + 右键圈选) - 打开
窗口 > 常规编辑器 > 组件编辑器 - 切到
蒙皮标签页,勾上”显示所有影响” - 这里会列出每根骨骼在这些顶点上的精确权重值,可以直接输入数字
- 改完点右上角的
重新归一化自动配平
典型用法:
- 某顶点权重是
0.4999,想改成0.5→ 直接输入 - 某顶点同时被 6 根骨头影响 → 把权重最小的两个清零,再归一化
- 一整片顶点的某根骨骼权重都偏高 → 输入一个正确值,整列粘贴
组件编辑器的
复制/粘贴按钮,是原生方案里批量改数值的唯一途径,用熟了效率很高。
3.7 存档与回滚:原生版版本管理
- 存档:每完成一组 →
蒙皮 > 导出蒙皮权重 > 选项→ 选XML→ 命名例如char01_upperarm_v03.xml - 回滚:刷崩了 →
蒙皮 > 导入蒙皮权重→ 选对应的 XML - 注意:XML 是全量快照,不是差异图层,所以命名一定要带部位和版本号
- 拓扑必须完全一致才能导入成功(同一版模型、同一套骨架)
养成”每完成一组存一份”的习惯,比赛现场能救命。
3.8 一键分组锁定脚本
手动反选再锁定,做 7 遍也烦。用下面这段脚本,输入组名就自动锁好其余骨骼:
# -*- coding: utf-8 -*- |
3.9 这套方案和插件的差距到底有多大
| 插件能力 | 原生替代 | 差距有多大 |
|---|---|---|
| 图层叠加 / 混合模式 | 按关节锁定 + 分组作业 | 只能”改 / 不改”,没有相加相乘。实际影响很小 |
| 每层遮罩 | 平滑蒙皮权重的”权重固定” + 框选顶点后再刷 | 遮罩不能保存复用,每次要重选 |
| 图层版本管理 | 导出 / 导入蒙皮权重 XML | 只有全量快照,不能对比差异 |
| 批量镜像 | 蒙皮 > 镜像蒙皮权重 | 基本等价 |
| 批量操作 / 脚本化 | 3.8 节脚本 + 第 7 章脚本 | 自己写,投入换自由度 |
| Delta Mush / 平滑 / 归一化 | 全是原生功能 | 无差别 |
结论:原生方案能拿回插件约八成的效率。 失去的主要是”混合模式”和”图层版本对比”这两项,而它们在比赛评分标准里几乎不会被考察。
第 4 章 批量复用:不要重刷第二遍
4.1 复制蒙皮权重(Copy Skin Weights)
用于:同一个角色的不同部位、对称部位、拓扑相近的两个网格。
操作步骤:
- 先选中源对象(已经刷好权重的),按住
Shift再选目标对象。 - 菜单:
蒙皮 > 复制蒙皮权重 > 选项 - 参数建议:
| 参数 | 建议值 | 说明 |
|---|---|---|
| 曲面关联 Surface Association | 最近点 Closest Point | 拓扑一致时用;拓扑差异大改 光线投射 |
| 影响关联 Influence Association | 名称 Name / 一对一 One to One | 靠关节名匹配,所以命名必须规范 |
| 镜像行为 | 无 | 除非你要跨左右复制 |
| 归一化 | 勾选 | 保证复制过去权重和仍为 1 |
| 平滑 | 视情况 | 两个网格拓扑不一致时勾上 |
- 点
应用。
常见坑:复制过去的权重是”按空间位置找最近点”映射的。如果两个网格的形状差异很大(比如给胖子模型复制瘦子的权重),结果会歪。这种情况不如重新绑定。
4.2 镜像蒙皮权重(Mirror Skin Weights)
用于:左右对称的四肢、手脚。这是最容易省下 50% 工作量的操作。
操作步骤:
- 选中已经刷好左侧的网格。
- 菜单:
蒙皮 > 镜像蒙皮权重 > 选项 - 参数:
| 参数 | 建议值 |
|---|---|
| 镜像方向(Mirror Across) | 一般选 YZ 平面(取决于你的角色朝向) |
| 镜像空间(Mirror Space) | 世界 World 或 对象 Object,取决于骨架位置 |
| 镜像侧(Direction) | 从 正 → 负 或 负 → 正,看你刷好的是哪边 |
- 点
应用。
前提条件(很重要):
- 关节必须有正确的
_L/_R后缀,或者有正确的关节标签。 - 模型本身要真正左右对称。
- 先刷好左边,再镜像到右边,不要两边都刷一半然后镜像。
4.3 把权重传递到其他网格(衣服 / 配件 / 替换件)
一个角色往往有:身体、内衣、外衣、护甲、头发、武器挂件……所有这些都绑在同一套骨架上,但只有身体需要你手工刷。
做法:把身体当源,其他网格当目标,用 4.1 的”复制蒙皮权重”。
要点:
- 先把衣服等网格用同一套骨架普通绑定(算法打底即可,不用管质量)。
- 选身体(源)→ 选衣服(目标)→
蒙皮 > 复制蒙皮权重。 - 曲面关联 用
最近点,影响关联 用名称。 - 对厚外套、裙摆这类离身体较远的部位,复制完再局部修一下。
这是实际项目里最大的时间黑洞。一套资产如果有 8 件衣服,不传递的话你要刷 9 遍。
4.4 导出 / 导入蒙皮权重(存档与回滚)
- 导出:
蒙皮 > 导出蒙皮权重 > 选项。可选XML或权重贴图。XML精度高、文件小、要求拓扑完全一致,适合存档。权重贴图存成图片,可跨拓扑,但精度受分辨率影响。
- 导入:
蒙皮 > 导入蒙皮权重,选同名关节的目标骨架。 - 用途:
- 大改动前的存档
- 版本之间对比回滚
- 把权重从 A 版骨架搬到 B 版骨架(前提是关节名一致)
第 5 章 极限姿势精修
5.1 先建测试姿势库(别对着 T-Pose 刷权重)
这是新手最致命的错误:T-Pose 下看着完美的权重,一动起来全是糖纸扭曲。
用时间轴搭一个姿势库(纯原生做法):
- 把时间轴范围设到 200 帧以上(
窗口 > 设置/首选项 > 首选项 > 时间滑块,或直接在时间轴上拖)。 - 每隔 10 帧放一个姿势:第 10 帧摆”抬臂 90°”→ 按
S打关键帧;第 20 帧摆”前伸 90°”→S;依次类推。 - 把关键帧切线设成”台阶”,避免姿势之间出现插值过渡:全选关键帧 →
窗口 > 动画编辑器 > 曲线图编辑器→切线 > 台阶。 - 建议至少存这几个:
| 部位 | 测试姿势 |
|---|---|
| 手臂 | 上举 90°、前伸 90°、后摆 60°、肘弯 120° |
| 手腕 | 上下各 60°、左右各 45°、扭转 90° |
| 腿 | 抬腿 90°、屈膝 120°、外展 45° |
| 躯干 | 前弯 45°、侧弯 30°、扭转 60° |
| 头颈 | 低头 45°、仰头 30°、转头 75°、侧倾 45° |
| 手指 | 每根手指逐个屈伸、握拳 |
- 刷权重时,直接拖时间滑块切换姿势,一边切一边刷。给”上一帧 / 下一帧”设个顺手的快捷键(
窗口 > 设置/首选项 > 快捷键编辑器),点一下就能换姿势。
为什么不用姿势库插件?因为比赛环境装不了。而时间轴姿势库的体验其实差不了多少——你本来就是在连续切姿势看变形,一键换帧比打开面板翻姿势还快。
5.2 分区作业顺序
不要从躯干开始。 推荐这个顺序(从”影响范围小、确定性高”到”影响范围大”):
- 手指 —— 最独立,刷好了不会被后面改坏
- 手掌 / 手腕
- 前臂 / 手肘
- 上臂 / 肩膀(难点)
- 腿 / 膝 / 脚
- 胯 / 髋(难点)
- 脊柱 / 胸腔 / 腹部
- 脖子 / 头 / 下颌
每完成一个部位,用 4.2 节镜像到另一侧(对称部位)。
5.3 画笔参数怎么设
蒙皮 > 绘制蒙皮权重工具 > 工具设置:
| 参数 | 建议 | 说明 |
|---|---|---|
| 画笔模式 | 先用 替换,接缝处用 平滑 | 相加 用在从零加权重时,缩放 用在整体加减强度 |
| 值(Value) | 0.9 ~ 1.0 | 只在”相加”模式下有意义;不用调太小,靠不透明度控制 |
| 不透明度 | 0.2 ~ 0.4 | 宁小勿大。透明度大了刷出来的边是硬的 |
| 笔刷半径 | 用 B + 拖动 实时调 | 越大越平滑,越小越精确 |
| 轮廓(Profile) | 默认 | 软笔刷,别用硬边 |
| 影响 列表 | 只勾选当前要调的 2~4 根骨骼 | 这是新手最常忽略的。同时只调少几根,结果才可控 |
| 切换显示影响 | 打开 | 让当前骨骼的权重以颜色显示在模型上 |
色卡记忆法:Maya 权重显示中,白色 = 权重 1(完全受该骨骼控制),黑色 = 权重 0(完全不受控制),红色/蓝色是过渡区。刷的时候你追求的是平滑的灰阶过渡,任何突变的白/黑边界都会导致折断。
5.4 组件编辑器精修(数值级微调)
画笔刷完之后,总会有几个顶点”就是不对”。这时候别再刷了,直接改数值——具体操作见 3.6 节。
在精修阶段特别有用的两个用法:
- 成片拉平:某根骨骼在一片区域上的权重忽高忽低 → 在组件编辑器里框选整片,输入一个统一值,再单独柔化边缘
- 清掉多余影响:某顶点同时被 6 根骨骼影响(会拖慢引擎、也容易出现抖动)→ 把权重最小的两根清零,再点
重新归一化
组件编辑器是原生方案里批量改数值的唯一途径,值得在练手模型上专门熟悉一遍。
5.5 各部位高频问题对照表
| 部位 | 现象 | 原因 | 解法 |
|---|---|---|---|
| 上臂 / 前臂 | 糖纸扭曲(扭转时中间变细成麻花) | 只有一根骨骼控制整个圆柱段 | 加 twist 扭转骨,把扭转均匀分摊;或让上臂/前臂权重沿长度线性过渡 |
| 手肘 | 内侧夹面、外侧鼓包 | 权重过渡太陡 / 边环不够 | 平滑过渡带拉宽;补 1~2 圈边环;用修正形态兜 |
| 肩膀 | 抬臂时腋下穿模 | 肩胛/锁骨骨骼权重不足 | 加权重给 clavicle 和 shoulder;腋下用修正形态 |
| 肩膀 | 抬臂时肩部体积塌陷 | 上臂权重过早覆盖了肩膀 | 把 upperarm 的权重起点往手臂方向推 |
| 胯 / 大腿 | 抬腿时裆部拉伸 | 大腿权重越过了中线 | 把 thigh 权重严格限制在同侧;中线交给 hip/pelvis |
| 膝盖 | 弯曲时膝盖变成尖角 | 权重过渡太陡 | 拉宽膝部过渡带,让 thigh 和 calf 在膝关节两侧各延伸一段 |
| 手指 | 弯曲时指节鼓成球 | 指根权重给太多 | 指节处减小权重、增加下一节指骨的权重 |
| 脖子 | 转头时脖子下半段跟着拧 | 脖子骨骼权重过高延伸到了胸腔 | 把 neck 权重上限压在颈椎范围内 |
| 下颌 | 张嘴时下巴变形 | 下颌骨权重分布不均 | 只让 jaw 控制下巴和嘴唇下部,别越界到脸颊 |
| 全模型 | 权重显示正常但一动就破 | 归一化没开 | 检查 skinCluster 的归一化权重设置 |
第 6 章 后处理与导出
6.1 Delta Mush(必用)
这是”省力神器”。 它会在蒙皮变形之后再跑一次平滑,把糖纸扭曲、尖角、边缘锯齿一类的瑕疵整个抹掉,等于把”为了平滑而疯狂补权重”这一步删除了。
操作步骤:
- 选中要处理的蒙皮网格(skinCluster 已经在上面了)。
- 菜单:
变形 > Delta Mush。 - 在属性编辑器里调参数:
| 参数 | 起始建议 | 说明 |
|---|---|---|
| 平滑迭代次数 Smoothing Iterations | 5 ~ 15 | 越大越平滑,也越损失细节。从 5 开始往上加 |
| 平滑步长 Smoothing Step | 0.5 | 每次迭代移动多少,一般不动 |
| 权重 Weight | 1.0 | 混合原始变形和 Delta Mush 结果 |
| 固定边界顶点 | 视情况 | 有开口的面片(如裙子)勾上,防止边缘被拉进来 |
代价与取舍:Delta Mush 会轻微损失体积感(关节处的”肌肉鼓起”会变平)。所以:
- 日常姿势:权重刷得差不多就行,Delta Mush 迭代次数开大,让后处理帮你平滑。
- 需要保持体积的部位(胸、臀、二头肌):Delta Mush 权重调低,或者配合修正形态。
6.2 修正形态(Corrective Shape)
用于:Delta Mush 也救不了的局部问题。典型场景是肩膀、腋下、髋部。
思路:把模型转到那个”破掉”的姿势,用建模手段(雕刻、晶格、位移)手动把模型修回正确形状,然后把这步操作记录下来,让它只在那个姿势下生效。
两种做法:
| 做法 | 怎么操作 | 优点 |
|---|---|---|
| 混合变形 + 姿势驱动 | 1. 复制一个模型,转到问题姿势,修好形状 2. 用 变形 > 混合变形 建立目标3. 用 动画 > 创建动画层 或 设置受驱动关键帧,让骨架旋转角度驱动混合变形的权重 | 直观,容易控制 |
| 姿势空间变形 | 用 变形 > 创建姿势空间变形器,让骨架在指定姿势时自动叠加修正形态 | 更适合量产、可以脚本化 |
判断标准:如果某个部位你已经刷了 3 遍还是不对,停下来用修正形态。继续刷是沉没成本。
6.3 辅助扭转骨
前臂和小臂在旋转 90°~180° 时,单靠权重必然糖纸扭曲。正确解法是加扭转骨:
- 在前臂上按一定间距复制 2~3 根关节,命名
forearm_twist_01等。 - 用
设置受驱动关键帧或直接连接属性,让扭转骨跟随手腕的旋转按比例旋转(比如每根转 1/3)。 - 把前臂的权重按长度均匀分配给这些扭转骨。
同样适用于大腿、上臂。这是”治本”的手段,比加多少平滑都有效。
6.4 导出前最终检查清单
逐项过一遍,全部打勾再导出:
- 限制影响数为 4 —— 在皮肤簇属性里把
最大影响数改成 4,勾选遵守最大影响数 - 移除微小权重 ——
蒙皮 > 移除小权重,阈值设0.001(UE 默认是 0.01,可以按引擎要求调) - 归一化权重 ——
蒙皮 > 绘制蒙皮权重工具→ 点一次Flood并在归一化模式下重新归一;或直接把 skinCluster 的归一化权重设成”后处理”再切回”交互式” - 验证左右对称 —— 把姿态设成左右对称的极限姿势,看两边表现是否一致
- 检查所有极限姿势 —— 用 5.1 节的姿势库逐个过一遍,没有明显穿模/塌陷
- 检查所有服装/配件 —— 别只检查身体,衣服也要过姿势
- 清理无用节点 ——
编辑 > 按类型删除 > 未使用节点 - 骨架和模型命名规范 —— 导出到引擎后改名的成本很高
- 导出测试 —— 先导一份 FBX 到引擎里,把动画跑一遍看有没有异常
关于 FBX 导出的一个坑:如果 Maya 里皮肤簇的影响数是 5,即使导出前在 FBX 选项里找不到相关设置,权重也会原样带过去,UE 会在导入时按自己的规则截断,导致结果和 Maya 里看着不一样。所以必须在 Maya 里先限制成 4。
第 7 章 一键收尾脚本
把下面这段存成 .py 文件,在 Maya 的脚本编辑器里执行。注意:先看代码里的参数区,按你的项目改。
# -*- coding: utf-8 -*- |
脚本里没有做的两件事,需要你手动补上:
- 镜像权重:
蒙皮 > 镜像蒙皮权重。镜像依赖关节命名/标签,不同项目规则不一样,脚本硬编码容易出错,建议用 UI 操作。- 移除小权重:
蒙皮 > 移除小权重,阈值按引擎要求设(UE 常用 0.01,Maya 默认视图常用 0.001)。
第 8 章 故障排查速查表
| 现象 | 最可能的原因 | 第一步该做什么 |
|---|---|---|
| 怎么刷都不顺,总觉得别扭 | 关节没落在网格体积中心 | 回到 2.1 节,重新对关节 |
| 关节处永远是一条硬折线 | 拓扑缺边环 | 编辑网格 > 插入循环边,至少 3 圈 |
| 热力图绑定直接报错 | 网格有开放边/未焊接 | 换测地体素,或焊接顶点 |
| 刷权重时权重值跑到负数 | 归一化设成了”无” | 改成”交互式” |
| 一动就破面、出现尖锐突起 | 权重过渡区太窄 | 用 平滑 模式 Flood 几次,拉宽过渡 |
| 某一组骨骼怎么刷都没反应 | 忘了解锁,或切换分组时锁定状态残留 | 蒙皮 > 解锁权重,全选关节后解锁一次 |
| 想做局部平滑,结果整条腿都被抹平了 | 平滑的「权重固定」选项没设成”仅选定顶点” | 回到 3.5 节,先框选顶点再平滑 |
| 一组刷完切下一组,发现上一组变了 | 切组时没有重新锁定 | 严格执行 3.4 节的 8 步循环,每次从”解锁全部”开始 |
| 组件编辑器里数值改了但模型没变 | 改了没做归一化,或该骨骼被锁定 | 点 重新归一化;检查是否有锁定残留 |
| 扭转时模型变麻花(糖纸) | 缺少扭转骨 | 加 2~3 根 twist 骨 |
| 抬臂时腋下穿模 | 锁骨/肩胛权重不足 | 加权重给 clavicle,配合修正形态 |
| 抬腿时裆部被拉长 | 大腿权重越过了中线 | 严格限制 thigh 在同侧 |
| 复制权重后目标网格变形怪 | 两网格形状差异过大 | 重新绑定,别指望复制 |
| 镜像权重没反应 | 关节没有 _L/_R 命名或标签 | 补关节标签或改名后重新绑定 |
| 衣服跟着身体走但穿插严重 | 只做了复制没有局部修 | 复制后在腋下、胯部、肘部补刷 |
| 引擎里看着和 Maya 里不一样 | 影响数超过 4,被引擎截断 | 在 Maya 里先限制成 4 再导出 |
| Delta Mush 后模型变”软趴趴” | 平滑迭代次数过大 | 降到 3~5,或把权重参数调到 0.5 左右 |
| 导出 FBX 后权重全丢了 | 场景里存在多个骨架/命名冲突 | 检查大纲视图,确保只有一个 skinCluster 和一个骨架 |
第 9 章 提速路线怎么选
| 路线 | 成本 | 提速幅度 | 适合谁 |
|---|---|---|---|
| 裸刷(只靠画笔逐根骨骼刷) | 零 | 基准 | 谁都不适合——本教程存在的意义就是让你别这么干 |
| 原生全套 (第 2 + 4 + 5 + 6 章:测地体素 + 镜像/复制 + Delta Mush) | 零成本,看完本教程就能用 | 约 2 倍 | 所有人,尤其是比赛 / 考试环境 |
| 原生 + 锁定分组法 (第 3 章) | 花 10 分钟划分组,或跑一次 3.8 节脚本 | 约 3~4 倍 | 比赛 / 考试的唯一正解 |
| 插件图层化 (ngSkinTools 之类) | 装插件,学 1~2 天 | 约 4~5 倍 | 日常项目里不受插件限制的人 |
| 引擎端自动蒙皮 (UE 的 ML Deformer、MetaHuman 类标准化资产) | 需要搭管线,可控性差 | 视资产标准化程度而定 | 有流水线、资产高度规范化的团队 |
给你的具体建议(按顺序做,不要跳步):
- 第 2 章 2.1 节:把关节对到网格体积里。这 10 分钟能顶掉后面两小时的无用功。
- 第 3 章:把骨骼分成 7 组,用锁定权重建立安全边界。这是原生方案里收益最大的一步。
- 第 4 章:镜像 + 复制权重,直接省掉一半工作量。
- 第 5 章:搭好时间轴姿势库再动手刷,别对着 T-Pose 刷。
- 第 6 章:Delta Mush 收尾,把剩余瑕疵一次抹平。
- 养成三个习惯:先对关节再绑定、先刷左边再镜像、每组完成导出一份权重存档。
附录 A 菜单路径速查
| 功能 | 菜单路径 |
|---|---|
| 交互式蒙皮绑定 | 蒙皮 > 交互式蒙皮绑定 |
| 绑定蒙皮 | 蒙皮 > 绑定蒙皮 > 选项 |
| 分离蒙皮 | 蒙皮 > 分离蒙皮 |
| 转到绑定姿势 | 蒙皮 > 转到绑定姿势 |
| 绘制蒙皮权重 | 蒙皮 > 绘制蒙皮权重工具 |
| 平滑蒙皮权重 | 蒙皮 > 平滑蒙皮权重 |
| 镜像蒙皮权重 | 蒙皮 > 镜像蒙皮权重 |
| 复制蒙皮权重 | 蒙皮 > 复制蒙皮权重 |
| 导出蒙皮权重 | 蒙皮 > 导出蒙皮权重 |
| 导入蒙皮权重 | 蒙皮 > 导入蒙皮权重 |
| 限制总数(影响数) | 蒙皮 > 限制总数 |
| 移除小权重 | 蒙皮 > 移除小权重 |
| 锁定 / 解锁权重 | 蒙皮 > 锁定权重 / 解锁权重 |
| 反转选择 | 选择 > 反转选择 |
| 创建快速选择集 | 创建 > 集 > 快速选择集 |
| 曲线图编辑器(设台阶切线) | 窗口 > 动画编辑器 > 曲线图编辑器 |
| 添加关节标签 | 骨架 > 关节标签 > 添加关节标签 |
| 定向关节 | 骨架 > 定向关节 |
| Delta Mush | 变形 > Delta Mush |
| 混合变形 | 变形 > 混合变形 |
| 组件编辑器 | 窗口 > 常规编辑器 > 组件编辑器 |
| 删除历史 | 编辑 > 按类型删除 > 历史 |
| 冻结变换 | 修改 > 冻结变换 |
| 显示边界边 | 显示 > 多边形 > 边界边 |
| 网格清理 | 网格 > 清理 |
| 合并顶点 | 编辑网格 > 合并 |
| 插入循环边 | 编辑网格 > 插入循环边 |
附录 B 术语中英对照
| 中文 | 英文 | 备注 |
|---|---|---|
| 蒙皮 / 蒙皮簇 | Skin / skinCluster | 权重的容器节点 |
| 权重 | Weight | 0~1,表示该骨骼对顶点的影响程度 |
| 绑定姿势 | Bind Pose | 静止姿势,调关节必须在此时 |
| 测地体素 | Geodesic Voxel | 推荐的绑定方法 |
| 热力图 | Heat Map | 对封闭网格好,对破面敏感 |
| 最近距离 | Closest Distance | 已基本淘汰 |
| 影响数 | Influences | 每个顶点受几根骨骼影响 |
| 归一化 | Normalize | 保证权重和为 1 |
| 糖纸扭曲 | Candy Wrapper | 扭转时的典型瑕疵 |
| 修正形态 | Corrective Shape | 姿势驱动的形状修正 |
| 混合变形 | Blend Shape | 形态过渡 |
| 传递蒙皮权重 | Copy / Transfer Skin Weights | 跨网格复制 |
| 关节标签 | Joint Label | 镜像和引擎识别的依据 |
最后三句话
- 权重是算出来的,不是刷出来的。 算法打底、批量复用,你只做最后那 30 分的精修。
- 管理比刷更重要。 锁定、分组、遮罩、存档,这四样让你不做无用功。
- 够用就好。 剩下的瑕疵交给 Delta Mush 和修正形态,别在画笔上死磕。
而且这三条一分钱不花——不用装任何插件。










