Skip to content

Blender 权重绘制:每个人都会遇到的 7 个问题、修复方法,以及如何跳过这一步 ​

最后更新:2026 年 9 月。

Blender 角色手臂处于权重绘制模式,肘部呈现从蓝到红的热力渐变

Blender 中几乎所有权重绘制问题都属于以下七种之一:自动权重无法运行、权重从一个肢体渗漏到另一个肢体、一个顶点受到超过四根骨骼的影响、权重之和不等于一、角色两侧权重不一致、手腕扭转时塌陷,或者身体移动时外套留在原地。每个问题都可以通过权重绘制模式的 Weights 菜单中的特定工具(Normalize All、Clean、Limit Total、Smooth、Mirror Vertex Group、Transfer Weights)或某项修改器设置来解决,本指南会给出每种问题的确切操作路径。如果你完全不想手动绘制权重,还有两个插件可以替你完成角色蒙皮,我们会在文末介绍它们。

快速解答 ​

  • 自动权重失败,并显示 Bone Heat Weighting: failed to find solution for one or more bones:清理网格。依次使用 Mesh > Clean Up > Merge by Distance、Degenerate Dissolve、Delete Loose,然后使用 Select > Select All by Trait > Non Manifold。先只为连成一体的身体绑定骨骼,之后再附加服装。
  • **权重渗漏到错误的肢体:**选择受影响的面,然后仅针对应该控制这些面的骨骼执行 Weights > Assign Automatic from Bones;或者绘除错误权重,再执行 Weights > Smooth 和 Weights > Clean。
  • **每个顶点受到过多骨骼影响:**使用 Weights > Limit Total 并将 Limit 设为 4,然后执行 Weights > Normalize All。
  • **权重之和不等于一:**执行 Weights > Normalize All,关闭 Lock Active,然后在工具选项中开启 Auto Normalize。
  • **一侧正确、另一侧不正确:**使用 Weights > Mirror Vertex Group,并启用 Mirror Weights 和 Flip Group Names;或者在 Symmetry 面板中开启 Mirror Vertex Groups 后进行绘制。
  • **糖纸式手腕扭曲:**渲染时在 Armature 修改器上开启 Preserve Volume;导入游戏引擎时则使用扭转骨骼。
  • **服装不随身体移动:**在服装上添加 Data Transfer 修改器,选择 Vertex Groups,将映射方式设为 Nearest Face Interpolated,并将源对象设为身体。
  • 跳过这一步:Voxel Heat Diffuse Skinning(约 $30)可以为 Blender 求解器拒绝处理的网格蒙皮。Cinevva Rig 插件(首发价 $29,可在你自己的电脑上离线运行,支持 Windows、macOS 和 Linux 上的 Blender 4.2+)会同时放置骨架并生成权重。

快速参考 ​

问题你会看到什么修复方法位置
自动权重失败Bone Heat Weighting: failed to find solution for one or more bones按距离合并、溶解退化元素、删除游离元素、修复非流形边,并只为身体绑定骨骼编辑模式、Mesh > Clean Up、Select > Select All by Trait
权重渗漏抬起手臂时肋部也被提起,手部会拖动髋部对选中的面执行 Assign Automatic from Bones,然后执行 Smooth 和 Clean权重绘制模式,启用面遮罩后使用 Weights 菜单
超过 4 个影响骨骼游戏引擎或查看器中的变形与 Blender 不同将 Limit Total 设为 4,然后执行 Normalize All权重绘制模式,Weights 菜单
权重未归一化在 Blender 中看起来正常,导出后却不正确Normalize All(关闭 Lock Active),开启 Auto NormalizeWeights 菜单、工具 Options 面板
权重不对称左侧弯曲干净,右侧却不正常使用 Mirror Vertex Group,并启用 Flip Group NamesWeights > Mirror Vertex Group
糖纸式扭曲手腕旋转时,前臂被挤压成尖点开启 Preserve Volume,或使用扭转骨骼Armature 修改器或绑定骨架
服装外壳问题外套或裙子留在原地,腿部穿模Data Transfer 修改器、Vertex Groups、Nearest Face Interpolated服装对象上的修改器

用一段话解释什么是蒙皮权重 ​

角色的每个顶点都带有一份简短列表:哪些骨骼会移动它,以及每根骨骼的影响程度。Blender 将这份列表存储为以骨骼命名的顶点组,每个顶点在每个组中都有一个权重,而 Armature 修改器会读取这些权重:“名为 ‘forearm’ 的骨骼只会影响 ‘forearm’ 顶点组中的顶点。某根骨骼对特定顶点的影响程度,由该顶点在相关组中的权重控制。”权重绘制模式可以用颜色显示和编辑这些数值。根据手册中的颜色编码:“低数值区域(权重接近 0.0)显示为蓝色(冷色),高数值区域(权重接近 1.0)显示为红色(热色)”,两者之间则是绿色和黄色。

良好的关节权重是一段较短的渐变。糟糕的关节权重要么是一道像纸张一样折叠的硬边界,要么是延伸到了不该影响的位置。

肘部的权重分布前臂骨骼的顶点组,以 Blender 的冷色到热色显示。蓝色为 0.0,红色为 1.0。像肘部一样自然弯曲产生折痕,并拉动胸部肘关节0.01.0上臂前臂权重在三到四圈边环之间渐变。每圈边环共同承担弯曲,因此折痕呈曲线。手臂以外没有红色区域。肘关节0.01.0渗漏到胸部权重在一圈边环内从 0 跳变至 1。一圈边环承受全部弯曲,因此被挤扁。胸部的红色区域会随前臂一起移动。
同一根前臂骨骼对应的两种顶点组。左侧的混合区域横跨肘部周围的多圈边环,因此折痕呈曲线。右侧的混合区域只有一圈边环宽,弯曲时会像纸张一样折叠;同时,一块错误的前臂权重落在胸部,这就是权重绘制模式中所谓的“权重渗漏”。

修复之前,先看清当前状况 ​

按照手册中的工作流程设置视图:选择骨架,按 Ctrl-Tab 进入 Pose Mode,然后选择网格并切换到 Weight Paint Mode。顶栏中的 Edit > Lock Object Modes 必须取消勾选,否则第二步会失败。在视口标题栏中勾选 Bone Selection,然后对骨骼按 Alt-LMB,即可在网格上显示它的顶点组。骨骼会隐藏在身体内部,因此请在骨架的 Viewport Display 设置中开启 In Front。

接着打开 Viewport Overlays,将 Zero Weights 设为 All。根据叠加层文档,如果顶点“在任何顶点组中都没有权重,就会显示为黑色”。当角色移动时,正是这些顶点会留在原地。

CGDive 的权重绘制工作流程教程演示了相同的设置过程:为骨架摆姿势、选择骨骼、绘制权重,然后通过移动骨骼检查结果。

问题 1:自动权重失败 ​

你按下 Ctrl-P,选择 Armature Deform > With Automatic Weights,Blender 随即提示:

Bone Heat Weighting: failed to find solution for one or more bones

这段字符串位于 Blender 源代码的 source/blender/editors/armature/meshlaplacian.cc 中,周围的函数解释了问题所在。自动权重会将每根骨骼视为热源,并在网格表面求解扩散问题;手册将这种影响描述为“基于这些顶点到特定骨骼的距离(‘骨骼热度’算法)”。代码中的两个细节很重要:首先会对网格进行三角化(“骨骼热度需要三角化的面”);其次,骨骼只能加热它能够看见的顶点,而可见性是通过针对网格的射线投射来检测的。当某根骨骼的线性求解失败时,就会触发这条错误,而网格导致求解系统退化时便会失败。实际操作中,这通常意味着以下情况之一:

  1. 重复顶点和零面积面。 这类问题常见于导入 FBX 或 OBJ 后,也可能由布尔操作产生。在编辑模式下全选,然后执行 网格 > 清理 > 按距离合并(手册:“合并彼此距离小于指定值的所选顶点”),接着执行 网格 > 清理 > 融并退化元素,它会“折叠所有短于指定长度的所选边,同时也会移除小面”。
  2. 松散几何体。 执行 网格 > 清理 > 删除松散元素。
  3. 非流形边和内部面。 选择 > 按特征全选 > 非流形会选中“不属于任何面的边”“边界和孔洞处的边”,以及“属于三个或更多面的边”。选择 > 按特征全选 > 内部面会找出“可能被意外创建在网格内部而不是网格表面的面”。修复所有被选中的区域。如果骨骼从孔洞中穿出,那就是问题所在,而 网格 > 清理 > 填充孔洞 可以将其封闭。
  4. 大量独立外壳。 由身体、头发、眼睛、牙齿、靴子和腰带等独立网格岛拼装而成的角色,是触发此问题的典型情况,也是 Voxel Heat Diffuse Skinning 插件存在的原因。先只给身体绑定骨架,再使用问题 7 中的数据传递方法附加其余部分;或者用 Ctrl-J 合并这些部件,再执行“按距离合并”。
  5. 缩放。 Rigify 的文档明确说明了它的假设:“Rigify 假定 1 个单位对应 1 米。因此,一个人类角色大约有 2 个单位高。”高达 180 个单位的角色显然远远超出这一范围。缩放网格和骨架,执行 物体 > 应用 > 所有变换,然后重新设置父级。

如果错误仍然存在,可以拆分问题:启用面选择遮罩并选中网格的一部分,然后每次只针对少量骨骼执行 权重 > 从骨骼自动指定。权重绘制工具页面中的每项工具都可“配合顶点选择遮罩和面选择遮罩”使用,因此你可以找出导致求解失败的具体区域。

问题 2:权重渗透到其他肢体 ​

手臂抬起时,胸腔也被一起拉动。大腿弯曲时,裤子的裆部向内折叠。由于绑定姿势中手部靠近髋部,手部骨骼错误地影响了一块髋部网格。手册直截了当地说明了原因:自动权重“经常会导致骨架无法以预期方式使子物体变形。在确定哪些骨骼应当影响特定顶点时,影响范围可能会发生重叠”。

最干净的修复方法是只对部分网格重新运行求解器。在权重绘制模式中启用面选择遮罩,只选择应当属于手臂的面,然后在姿态模式中选择手臂骨骼,再执行 权重 > 从骨骼自动指定。按照手册的说法,此操作会“对所选骨骼对应的顶点组应用与骨架父级菜单中相同的‘自动权重’方法”,但此时胸部的面并未被选中,因此权重不可能渗透到它们上面。对每条肢体重复此操作。

对于较小的权重渗透,直接绘制即可。将笔刷的混合模式设为“减去”并使用较低的强度,或者使用“绘制”笔刷时按住 Ctrl 进行减去;在手臂骨骼处于活动状态时,从胸部刷掉多余权重。然后执行 权重 > 平滑,它会“根据相邻顶点的平均值混合所选顶点的权重”。可以从系数 0.5、迭代两到三次开始。接着执行 权重 > 清理,移除“平滑”留下的近零残余权重(详见下方的导出检查清单)。

要从一开始就避免权重渗透,请检查两点:让角色摆出肢体彼此分开的姿势(T 姿势或 A 姿势,并确保手与髋部之间留有间隙);不要给手臂紧贴身体两侧的网格绑定骨架。我们的自动骨骼绑定指南详细介绍了姿势和单一网格的准备工作。

问题 3:每个顶点受超过四根骨骼影响 ​

Blender 不在乎一个顶点属于多少个组,但游戏引擎在乎。glTF 2.0 规范将蒙皮信息存储在 JOINTS_0 和 WEIGHTS_0 属性中,并规定“影响一个顶点的关节数量限制为每组 4 个”。超过四个就需要第二组属性(JOINTS_1、WEIGHTS_1),而许多运行时会忽略它们。Unity 的蒙皮网格渲染器提供 1 根骨骼、2 根骨骼、4 根骨骼或自动等蒙皮权重选项,并警告:“如果导入自定义数量的蒙皮权重,并且希望允许超过四根骨骼产生影响,则必须选择此选项,并确保将蒙皮权重设为无限制。”Blender 自带的 glTF 导出器也有“骨骼影响”设置,并注明:“如果使用 4 或 8 以外的值,模型在许多查看器中可能会显示不正确。”

因此,如果一个顶点在 Blender 中受到六个权重影响,它们会在导出或导入时被静默截断,导致角色在引擎中的变形结果与视口中不同。自动权重经常会让肩部、髋部和手指附近的顶点受到六到七根骨骼影响。

修复只需两步。执行 权重 > 限制总数,将限制设为 4。手册说明:“将每个顶点所属的权重组数量减少至指定限制。该工具会先移除最低的权重,直到达到限制。”然后执行 权重 > 全部规格化,因为移除最小权重后,剩余权重之和会小于 1。

一个顶点、六根骨骼、四个槽位肩部顶点经过自动权重、“限制总数 4”和“全部规格化”后的变化。自动权重后限制总数,限制为 4全部规格化6 个影响,总和 1.004 个影响,总和 0.954 个影响,总和 1.00上臂肩部胸部颈部脊柱头部0.420.310.150.070.030.020.420.310.150.07已移除已移除上臂肩部胸部颈部脊柱头部上臂肩部胸部颈部0.440.330.160.07适配 JOINTS_0 / WEIGHTS_0四个关节、四个权重,总和 1.0,一组属性。最后一步将权重乘以 1/0.95。Blender 会实时规格化,因此视口中的中间列看起来完全相同。
“限制总数”会保留四个最大权重并丢弃其余权重,使该顶点的权重总和变为 0.95。“全部规格化”会将剩余权重重新缩放至总和为 1.0。由于骨架修改器会在计算时执行规格化,Blender 视口中的三列看起来完全相同,这也正是该问题只会在导出后显现的原因。

问题 4:权重之和不等于 1 ​

这个问题很隐蔽。手册中的规格化权重工作流解释了原因:“Blender 中的骨架修改器会自动完成此操作,因此严格来说,不必确保权重在绘制阶段就已经规格化。”权重总和为 0.6 或 1.7 的顶点在 Blender 中仍能正确变形。glTF 规范指出,对于给定顶点,权重的“线性总和应当尽可能接近 1.0”,并解释了其中的风险:“权重总和中 1/255 的误差,就会导致关节位置出现大到无法接受的偏差。”不要指望导出器会悄无声息地替你修复它。

执行 权重 > 全部规格化。手册说明:“对于每个顶点,此工具会确保其所有顶点组的权重总和等于 1。该工具会规格化除锁定组以外的所有顶点组。”除非你希望保持活动组不变,并围绕它重新平衡其他组,否则请取消勾选“锁定活动项”。然后在工具设置中启用“自动规格化”,它会“确保绘制过程中所有变形顶点组的权重之和为 1”。此后,每次笔触都会在未锁定的组之间重新分配权重,而不是继续叠加权重。

不要将“全部规格化”与 权重 > 规格化 混淆,后者“仅作用于活动顶点组”,并会对其进行缩放,使“最高权重值为 1.0”。

锁定是与此配套的重要技巧。使用“顶点组”面板中的挂锁或 K 饼状菜单锁定一个组后,“自动规格化”将“只在未锁定的组之间重新分配权重”。这样,你就可以修复肩部,同时不影响已经调整正确的胸部。

问题 5:左右两侧不一致 ​

你花了一个小时绘制左臂权重,而右臂仍然保留着未经处理的自动权重结果。权重 > 镜像顶点组可以将一侧复制到另一侧,但根据手册,需要满足两个条件。首先,“只有当物体的静置姿势相对于 X 轴完全对称时,镜像才能正常工作。”如果网格只是大致对称,请勾选“拓扑镜像”,它适用于“并非完全对称的网格(近似镜像)”。其次,除非明确启用相关选项,否则“权重不会被传递到对侧对应骨骼的权重组”。“翻转组名称”正是用于完成此操作:它会在名称对称的组之间交换指定关系,“例如包含‘L’、‘R’、‘right’、‘left’等组成部分的名称”。勾选“镜像权重”“翻转组名称”和“所有组”,即可一次处理整个角色。 这取决于骨骼命名是否符合要求。命名约定页面接受 hand_L 和 hand_R、hand.l 和 hand.r、handLeft 和 handRight,也接受将方向标记放在前面的对应写法,但不接受没有分隔符的 handL。Mixamo 风格的 LeftHand 和 RightHand 也可以。使用 Bone_012 这类名称的骨架必须先重命名,因为镜像功能无法知道哪些骨骼互为配对。

要避免这个问题,请从一开始就对称绘制。在工具设置的“对称”面板中,勾选“镜像顶点组”;手册将其描述为“在具有对称名称的组上进行镜像绘制”。现在,左臂上的每一笔也会同时应用到右臂对应的组。

问题 6:糖纸效应手腕 ​

将手腕扭转 90 度,前臂中段就会缩窄,像被捏出一道细腰。这并不是权重绘制错误,而是线性混合蒙皮的数学特性:一个顶点如果有一半权重分配给前臂、另一半分配给手掌,它得到的就是旋转变换与未旋转变换的平均值,而这个平均值会向旋转轴塌缩。骨架修改器的“保持体积”选项会改用四元数混合,手册对其中的取舍描述得非常准确:“如果不启用,关节旋转往往会缩小邻近几何体,在相对静止姿态旋转 180 度时甚至会接近于零。启用后,几何体不再缩小,但相对静止姿态旋转到 180 度时会出现‘间隙’,即不连续现象。”

如果在 Blender 内渲染,请勾选“保持体积”。如果用于游戏,要知道它是修改器设置,而不是网格数据,glTF 和 FBX 都不会携带它。除非改用其他蒙皮方式,否则引擎会使用线性蒙皮,因此导入后挤压现象会再次出现。能够随导出保留下来的仍是那些传统解决方案:添加一根(或两根)前臂扭转骨骼,将旋转拆分成更小的阶段,每根骨骼使用自己的权重渐变;或者把手腕权重分散到更多边循环上,让任何顶点都不会恰好处于 50/50 的权重位置。

“平滑校正”修改器是 Blender 内的另一个工具,“它通常适合放在骨架修改器之后使用,因为即使认真绘制权重,关节周围的形变也可能很难避免。”需要注意的事项相同:它只在 Blender 中产生形变,不会作为权重导出。

问题 7:服装外壳不跟随身体 ​

你已经为身体完成绑定,而且动作表现良好。夹克作为单独的网格,要么得到了自己那套糟糕的自动权重(由于身体与衣服的混合方式略有不同,大腿会穿出裤腿),要么完全没有权重,悬在空中。正确做法是把身体的权重赋予服装,而不是让服装使用自己的一套权重。

为服装对象添加“数据传递”修改器。将“源”设为身体,勾选“顶点数据”,选择“顶点组”,将映射方式设为“最近面插值”,然后单击“生成数据层”。手册提醒这个按钮非常重要:“修改器不会自动完成此操作,因此务必单击此按钮(或自行添加缺失的层),否则传递可能无法正常工作。”“最近面插值”会找到“最近源面上的最近点,然后使用该点在该面各顶点的值之间进行插值”,这正是与皮肤相隔几毫米的外壳所需要的。将“层映射”设为“按名称”,这样身体上的 LeftArm 就会传递给夹克上的 LeftArm。然后在它下方添加一个骨架修改器,并让它指向同一个骨架。导出前应用“数据传递”修改器,让权重成为真正的顶点组。

同一功能也可通过操作符使用:在权重绘制模式下,先选择身体,再选择服装(使其成为活动对象),执行 权重 > 传递权重,并在“调整上一步操作”面板中将“源层选择”设为“按名称”。手册指出,这些对象“必须位于同一位置。如果将它们并排放置,权重传递将不起作用。”

如果外壳较厚(例如厚重外套或盔甲),而不是紧贴皮肤,传递权重仍然优于自动权重,因为它不会与下方身体的形变产生分歧。

按顺序清理用于游戏导出的权重 ​

请在权重绘制模式下执行这些操作,并确保未启用面或顶点遮罩,这样每个工具都会作用于整个网格。

  1. 删除不属于骨骼的组。 在“顶点组”面板中,移除所有与形变骨骼不匹配的组。骨架修改器文档指出:“移除空顶点组有助于减少依赖关系。”
  2. 先修复权重串扰和不对称问题(问题 2 和问题 5)。下面的工具无法区分错误的杂散权重和正确权重。
  3. 权重 > 限制总数,限制为 4。 这适用于 glTF、three.js、Babylon.js、采用默认设置的 Unity,以及大多数移动端目标。如果引擎和导出器都设为支持八个影响项,请使用 8。
  4. 权重 > 全部规格化,关闭“锁定活动项”。 “限制总数”移除尾部权重后,权重总和会重新变为 1.0。
  5. 权重 > 清理,限制值 0.001,启用“保留单项”。 “清理”会“将权重低于限制值的顶点从顶点组中取消分配”。0.0004 的权重不会产生可见效果,却仍然会占用四个插槽之一。“保留单项”可确保“每个顶点至少保留一个权重”。glTF 通常会将权重存储为规格化字节,其中最小步进为 1/255,因此低于 0.004 的值无论如何都会被舍入为零。
  6. 再次执行 权重 > 全部规格化。 清理后,某个顶点的权重总和可能只剩 0.999。
  7. 检查零权重。 将叠加层设为“全部”,检查是否存在黑色区域。
  8. 导出。 在 glTF 导出器的“数据 > 蒙皮”中,将“骨骼影响”保留为 4,并关闭“包含所有骨骼影响”。在“数据 > 骨架”中,勾选“使用静止姿态骨架”,让绑定姿态使用静止姿态,而不是当前帧。
七个问题,七种工具除非路径另有说明,否则均在权重绘制模式下操作。所有工具都会遵循面和顶点遮罩。问题工具路径骨骼热度错误肢体间权重串扰超过 4 个影响项权重总和不为 1权重不对称糖纸效应手腕服装外壳未能为一根或多根骨骼找到解手臂抬起肋部,手掌扯动髋部引擎中的形变与 Blender 不同Blender 中正常,导出后出错左侧正确,右侧错误手腕扭转时前臂被挤细夹克留在原地,腿部穿出衣物按距离合并、简并从骨骼自动分配限制总数为 4、全部规格化全部规格化、自动规格化镜像顶点组保持体积、扭转骨骼数据传递修改器融并、删除松散元素、非流形对所选面执行,然后平滑、清理先丢弃最低权重关闭锁定活动项,再规格化绘制镜像权重、翻转组名称Blender 用修改器,引擎用骨骼顶点组、最近面插值编辑模式,网格 > 清理选择 > 按特征全选权重 > 从骨骼自动分配标题栏:启用面选择遮罩权重 > 限制总数权重 > 全部规格化权重 > 全部规格化工具设置 > 选项 > 自动规格化权重 > 镜像顶点组工具 > 对称 > 镜像顶点组修改器 > 骨架 > 保持体积或向骨架添加扭转骨骼修改器 > 添加 > 数据传递或权重 > 传递权重
七个问题、各自对应的工具,以及要单击的位置。第一行和第七行需要在权重绘制模式之外处理:网格清理是在编辑模式下完成的,而数据传递修改器位于服装对象上。

跳过这一步 ​

人们愿意花钱省去这项工作。两款产品分别用不同方式证明了这一点。

Mesh Online 的 Voxel Heat Diffuse Skinning 是 Blender 用户在自动权重失效时会购买的插件。其 Superhive 商品页面显示,独立开发者许可证售价为 $30,销量超过 12,500 份,并以扩展形式支持 Blender 3.6 至 5.1。商品页面开头就点明了这个问题:“Blender 抛出一条消息:‘骨骼热度权重:未能为一根或多根骨骼找到解。’”它的工作方式正如其名。Blender 的内置求解器会让热量沿表面扩散,因此需要干净的表面。该插件会把角色体素化为实心体,并让“热量在实心雕像中扩散”,因此由二十个相互重叠外壳组成的角色也能作为一个整体完成蒙皮。作者也坦率说明了其中的取舍:内置的表面方法“可以在手指和脚趾等细节区域获得好得多的结果”,因此该插件会结合两种方法。它至少需要 8 GB 内存。如果你的网格一团糟,但仍想使用 Blender 自己的骨架,这就是值得购买的工具。

Cinevva Rig 插件采用另一条路线:不用修权重,也不用摆骨骼。选择一个网格,按下 Rig,它就会一次性放置一套采用 Mixamo 命名的人形骨架并完成蒙皮,权重已经针对引擎限制影响数量、完成规格化和清理。它在你自己的电脑上离线运行,只需一次性下载约 2.4 GB 的引擎;首发价一次性购买仅需 $29,不按每次绑定收费;支持 Blender 4.2 及更高版本,以及 Windows、macOS 和 Linux。它还附带 260 个 CC0 动画片段,可在 Blender 内重定向到生成的角色,并提供免费的 Web、Unity、Unreal 和 Godot 导出预设,自动为你设置骨骼影响、静止姿态、坐标轴和缩放。它不能取代自定义骨架、尾巴或面部绑定所需的权重绘制。它所取代的,是为了赶在周五前把人形角色放进游戏而进行的那部分工作。Blender 插件页面提供了详细信息。

如果只需处理一个角色,并且不想打开 Blender,网页版 自动绑定工具可接收最大 50 MB 的 GLB、FBX 或 OBJ 文件,并返回已绑定的 GLB;第一个角色免费,而且成品已经满足本指南中间三分之一篇幅所追求的目标:每个顶点最多受四根骨骼影响,且权重总和为一。

Rigify 是随 Blender 捆绑提供的免费选择,其文档对效果给出了合理预期:“通常,只要正确放置骨骼(并且有足够的拓扑结构可供处理!),使用自动权重进行骨架形变就能直接获得非常好的效果。”括号中的条件,正是本文所讲述的全部问题。

常见问题 ​

为什么 Blender 权重绘制不起作用? ​

通常有三种原因。你可能画在了错误的顶点组上,因此请开启骨骼选择,用 Alt-LMB 点击骨骼,然后检查标题栏中的活动组。也可能是骨架不在姿态模式,或者勾选了 编辑 > 锁定物体模式。还有一种情况是开启了面选择遮罩,而你正在选择范围之外绘制。零权重叠加层会显示哪些顶点具有权重。

如何修复“骨骼热权重:无法为一根或多根骨骼找到解”? ​

在编辑模式下清理网格:依次使用 网格 > 清理 > 按距离合并、溶解退化、删除松散元素,然后执行 选择 > 按特征全选 > 非流形,修复所有高亮的问题。将角色调整到约 2 米高并应用变换,在绑定衣服之前,先为单个连通的身体网格绑定骨架。如果仍然失败,可使用体素热扩散蒙皮插件,它无需骨骼热求解器即可为非封闭网格蒙皮。

如何在 Blender 中镜像权重绘制? ​

使用 权重 > 镜像顶点组,并勾选镜像权重、翻转组名和所有组;如果网格并非完全对称,还要勾选拓扑镜像。这要求模型的静止姿态沿 X 轴对称,并且骨骼使用 hand.L 和 hand.R 这样的成对命名。若要同时绘制两侧,请在工具设置的对称面板中勾选镜像顶点组。

如何在 Blender 中归一化权重? ​

权重 > 全部归一化 会让每个顶点在所有未锁定组中的权重总和等于 1。除非你想保留活动组,否则请关闭锁定活动项。然后在工具选项中启用自动归一化,让新绘制的笔画继续保持权重总和为 1。普通的 权重 > 归一化有所不同:它只会缩放活动组,使其最大权重变为 1.0。

如何在 Blender 中平滑权重绘制? ​

启用顶点选择遮罩,选择关节周围的顶点,然后执行 权重 > 平滑。系数控制每个权重向相邻顶点平均值靠近的程度(0.5 是不错的起点),迭代次数用于重复执行平滑,而扩展/收缩则会扩大或缩小受影响的区域。之后以较小的限制值执行 权重 > 清理,再使用 全部归一化。

为什么在 Blender 中移动骨骼时,网格会错误变形? ​

可能是错误的顶点被分配到了该骨骼的顶点组中,造成权重渗漏;可选择相应的面并使用 权重 > 从骨骼自动分配,或通过绘制移除这些权重。也可能是关节处的权重过渡太突兀,可使用 权重 > 平滑。还有一种可能是骨骼在网格内的位置不正确,导致自动生成的权重从一开始就是错的。也请检查零权重:不属于任何组的顶点会保持不动,而周围的其他部分都会移动。

热权重与体素热扩散蒙皮有什么区别? ​

Blender 的骨骼热权重会沿网格表面扩散每根骨骼的影响,因此需要干净且连通的表面。体素热扩散蒙皮会用体素填充角色的体积,并在实体内部扩散,因此无论网格是否封闭,或是否由多个独立壳体组成,都可以正常处理。体素热扩散蒙皮插件(在 Superhive 上售价约 $30)将这种方法带到 Blender 中,并结合两种方式处理手指等精细部位。

相关内容 ​