blender_crash_course

第11章:骨骼绑定系统

章节大纲

11.1 引言与基础概念

11.2 骨架创建与编辑

11.3 IK/FK 系统详解

11.4 约束系统深入

11.5 权重绘制技巧

11.6 本章小结

11.7 练习题

11.8 常见陷阱与错误

11.9 最佳实践检查清单


11.1 引言与基础概念

骨骼绑定是将 3D 模型转化为可动角色的关键技术。如果说建模赋予了角色形体,那么骨骼绑定则赋予了角色生命。本章将深入探讨 Blender 的骨骼系统,从基础的骨架创建到复杂的 IK/FK 系统,再到精细的权重调整,帮助您掌握专业级的角色绑定技术。

对于有 CAD 背景的学习者,可以将骨骼绑定理解为一种特殊的”装配系统”。与 CAD 中的装配约束类似,骨骼系统通过父子关系、约束和驱动器来控制模型的运动。但与机械装配不同的是,角色绑定需要考虑有机体的柔性变形,这就是权重系统发挥作用的地方。

骨骼绑定的核心组件

    [控制器层]
         |
    [骨骼层]
         |
    [权重层]
         |
    [网格层]
  1. Armature(骨架):包含所有骨骼的容器对象
  2. Bone(骨骼):构成骨架的基本单元
  3. Constraint(约束):控制骨骼运动的规则
  4. Weight(权重):定义网格顶点受骨骼影响的程度

工作模式概览

Blender 的骨骼系统有三种主要工作模式:

11.2 骨架创建与编辑

Armature 对象基础

在 Blender 中创建骨架的第一步是添加 Armature 对象。与网格对象不同,Armature 是一种特殊的对象类型,专门用于容纳和管理骨骼。

创建流程:
Shift+A → Armature → Single Bone

基础骨骼结构:
     Head(头部)
        |
    [骨骼体]
        |
     Tail(尾部)

骨骼的基本操作

添加骨骼

连接与断开

骨骼命名规范

良好的命名规范对于复杂绑定至关重要:

标准命名格式:
[部位]_[功能]_[方向]

示例:
arm_upper_L  (左上臂)
leg_IK_R     (右腿IK控制器)
spine_01     (脊椎第一节)

骨骼镜像与对称

Blender 提供了强大的镜像功能,可以大大提高绑定效率:

  1. X-Axis Mirror:在编辑模式下启用,自动镜像操作
  2. 命名自动识别:使用 .L/.R 或 _L/_R 后缀
  3. Symmetrize:将一侧骨骼镜像到另一侧
镜像工作流:
1. 创建左侧骨骼链
2. 添加 .L 后缀
3. 选中所有左侧骨骼
4. Armature → Symmetrize

骨骼显示选项

不同的显示方式适用于不同的工作场景:

骨骼层级关系

合理的层级结构是高效绑定的基础:

典型人体骨骼层级:
Root
├── Pelvis
│   ├── Spine_01
│   │   ├── Spine_02
│   │   │   ├── Spine_03
│   │   │   │   ├── Neck
│   │   │   │   │   └── Head
│   │   │   │   ├── Shoulder_L
│   │   │   │   │   └── Arm_Upper_L
│   │   │   │   │       └── Arm_Lower_L
│   │   │   │   │           └── Hand_L
│   │   │   │   └── Shoulder_R
│   │   │   │       └── Arm_Upper_R
│   │   │   │           └── Arm_Lower_R
│   │   │   │               └── Hand_R
│   ├── Leg_Upper_L
│   │   └── Leg_Lower_L
│   │       └── Foot_L
│   └── Leg_Upper_R
│       └── Leg_Lower_R
│           └── Foot_R

骨骼组与层

Blender 提供 32 个骨骼层和无限的骨骼组,用于组织复杂骨架:

骨骼层分配建议

骨骼组(Bone Groups)

11.3 IK/FK 系统详解

正向运动学(FK)原理

FK 是最直观的动画方式,通过逐级旋转父骨骼来控制子骨骼的位置。这种方式类似于真实的关节运动。

FK 链示例(手臂):
肩膀旋转 → 影响整条手臂
  ↓
上臂旋转 → 影响前臂和手
  ↓
前臂旋转 → 只影响手
  ↓
手部旋转 → 独立运动

FK 的优势

FK 的劣势

反向运动学(IK)原理

IK 通过指定末端位置,自动计算中间关节的旋转角度。这在制作接触性动作时特别有用。

IK 链设置(腿部):
1. 创建 IK 目标骨骼(通常独立于主骨架)
2. 为小腿骨骼添加 IK 约束
3. 设置链长(Chain Length)= 2
4. 添加极向目标控制膝盖朝向

IK 求解器类型

IK 链的设置与调试

基础 IK 设置步骤

  1. 准备骨骼链
    大腿骨骼 (thigh)
       ↓
    小腿骨骼 (shin) ← 添加 IK 约束
       ↓
    脚部骨骼 (foot)
    
  2. 创建控制器
    • IK 目标骨骼(IK_foot)
    • 极向目标骨骼(Pole_knee)
  3. 约束参数调整
    • Chain Length:IK 链长度(通常为 2)
    • Pole Angle:极向旋转偏移
    • Iterations:求解迭代次数(默认 500)
    • Influence:约束影响权重

极向目标(Pole Target)详解

极向目标控制 IK 链的弯曲方向,对于膝盖、手肘等关节至关重要。

极向目标位置计算:
     膝盖
      /\
     /  \
大腿/    \小腿
   /      \
  /   ←d→  \
 髋         踝
 
极向目标应放置在距离 d 的位置
通常 d = 大腿长度

极向目标调试技巧

  1. 使用骨骼的自定义形状提高可见性
  2. 为极向目标添加限制约束,防止异常位置
  3. 使用 “Pole Angle” 修正初始偏移

IK/FK 切换系统

专业绑定通常需要 IK 和 FK 可以灵活切换,以适应不同的动画需求。

实现 IK/FK 切换的方法

  1. 双骨骼链方案
    变形骨骼链(DEF)
    ├── FK 控制链
    └── IK 控制链
       
    使用 Copy Rotation 约束混合两种控制
    
  2. 约束影响权重方案
    • 使用自定义属性控制 IK 约束的 Influence
    • 0 = 纯 FK,1 = 纯 IK
  3. 驱动器自动切换
    # 驱动器表达式示例
    var * ik_influence + (1-var) * fk_influence
    

IK 拉伸(Stretch)

IK 拉伸允许骨骼链超出原始长度,创造夸张的卡通效果。

设置 IK 拉伸

  1. 在 IK 约束中启用 “Stretch”
  2. 调整骨骼的 IK Stretch 属性
  3. 使用 “Lock IK X/Y/Z” 限制特定轴向

Spline IK 详解

Spline IK 适合创建柔性的连续弯曲,如脊椎、触手、绳索等。

Spline IK 工作流:
1. 创建骨骼链(如 10 节脊椎)
2. 创建贝塞尔曲线作为引导
3. 为最后一节骨骼添加 Spline IK 约束
4. 使用曲线控制点调整形状

Spline IK 高级选项

11.4 约束系统深入

约束是 Blender 骨骼系统的核心,它们定义了骨骼之间的关系和运动规则。理解并熟练运用约束系统是创建复杂绑定的关键。

常用约束类型详解

变换约束(Transform Constraints)

  1. Copy Location/Rotation/Scale
    • 复制目标对象的变换
    • 可选择特定轴向和空间
    • 支持偏移和反向
  2. Limit Location/Rotation/Scale
    • 限制骨骼的活动范围
    • 创建关节限制(如肘关节只能向一个方向弯曲)
      肘关节限制示例:
      Limit Rotation:
      X: Min -10° Max 150°
      Y: 锁定
      Z: 锁定
      
  3. Copy Transforms
    • 完全复制目标的所有变换
    • 常用于创建镜像动作

跟踪约束(Tracking Constraints)

  1. Track To
    • 使骨骼始终指向目标
    • 用于眼睛跟踪、瞄准等效果
      眼球跟踪设置:
      Track Axis: -Z
      Up Axis: Y
      Target: Eye_Target
      
  2. Damped Track
    • Track To 的简化版本
    • 自动选择最短旋转路径
    • 避免翻转问题
  3. Locked Track
    • 锁定一个轴向的跟踪
    • 适合炮塔等受限旋转

关系约束(Relationship Constraints)

  1. Child Of
    • 动态改变父子关系
    • 支持动画切换父对象
    • 用于拾取、放下物体
  2. Floor
    • 防止骨骼穿透地面
    • 自动碰撞检测
      脚部地面约束:
      Target: Ground_Plane
      Sticky: 启用(脚不会滑动)
      Use Rotation: 启用(适应斜坡)
      
  3. Shrinkwrap
    • 将骨骼投影到网格表面
    • 用于面部表情、衣物贴合

约束堆栈与优先级

约束按照列表顺序依次计算,理解这个顺序对于复杂绑定至关重要。

约束计算顺序示例:
1. Limit Rotation(限制基础旋转)
   ↓
2. IK(计算 IK 解)
   ↓
3. Copy Rotation(叠加额外旋转)
   ↓
4. Limit Rotation(最终限制)

结果 = 每步约束的累积效果

约束空间(Space)选择

驱动器(Drivers)基础

驱动器允许使用数学表达式或 Python 脚本控制属性。

创建驱动器的方法

  1. 右键点击属性 → Add Driver
  2. 在 Graph Editor 中切换到 Drivers 模式
  3. 设置驱动器变量和表达式

驱动器变量类型

常用驱动器表达式:

线性映射:
var * 2 + 0.5

限制范围:
max(0, min(1, var))

条件切换:
1 if var > 0.5 else 0

正弦波动:
sin(var * 3.14159)

自定义属性与控制器

自定义属性让绑定更加用户友好,将复杂的控制集中到简单的滑块。

创建自定义属性

  1. 在 Pose Mode 选择骨骼
  2. 在属性面板 → Custom Properties → New
  3. 设置类型、范围、默认值

常见自定义属性应用

IK/FK 切换器:
Property: IK_FK_Switch
Type: Float
Min: 0, Max: 1
0 = FK, 1 = IK

手指卷曲控制:
Property: Finger_Curl
Type: Float  
Min: 0, Max: 1
驱动所有手指关节旋转

面部表情滑块:
Property: Smile
Type: Float
Min: -1, Max: 1
驱动嘴角形变键

高级约束技巧

Action 约束

Transformation 约束

Armature 约束

11.5 权重绘制技巧

权重决定了网格顶点受骨骼影响的程度,是实现自然变形的关键。良好的权重分布能让角色动作流畅自然,而糟糕的权重会导致各种变形问题。

权重基础概念

权重值范围:0.0 - 1.0
0.0 = 不受影响(蓝色)
0.5 = 中等影响(绿色)
1.0 = 完全影响(红色)

权重归一化规则:
每个顶点的所有权重之和 = 1.0

自动权重 vs 手动权重

自动权重(Automatic Weights)

绑定网格的快速方法:

  1. 选择网格
  2. Shift 选择骨架
  3. Ctrl+P → With Automatic Weights

自动权重的优缺点

常见自动权重问题

权重绘制工具详解

进入 Weight Paint Mode 后,可以使用各种画笔工具调整权重。

基础画笔类型

  1. Draw(绘制)
    • 直接绘制权重值
    • Mix 模式:混合现有权重
    • Add 模式:增加权重
    • Subtract 模式:减少权重
  2. Blur(模糊)
    • 平滑权重过渡
    • 消除硬边界
    • 改善变形质量
  3. Average(平均)
    • 平均周围顶点权重
    • 创建均匀分布
  4. Smear(涂抹)
    • 拖动权重分布
    • 延伸权重区域

画笔设置优化

关节处理设置:
Radius: 50px
Strength: 0.2
Falloff: Smooth

大面积调整:
Radius: 200px
Strength: 1.0
Falloff: Constant

权重绘制工作流程

标准工作流程

  1. 粗调阶段 ```
    1. 使用自动权重作为基础
    2. 切换到 Weight Paint Mode
    3. 逐个检查主要骨骼
    4. 修复明显问题区域 ```
  2. 精调阶段 ```
    1. 专注关节区域
    2. 测试极限姿态
    3. 平滑权重过渡
    4. 消除权重孤岛 ```
  3. 验证阶段 ```
    1. 完整动作测试
    2. 检查权重归一化
    3. 清理零权重顶点
    4. 优化权重分布 ```

关节权重处理技巧

关节是权重绘制的难点,需要特别关注。

肘关节/膝关节处理

理想权重分布:
      上臂/大腿
         1.0
     0.75 | 0.75
    0.5   |   0.5
     0.25 | 0.25
         0.0
      下臂/小腿

肩部权重处理

手指关节优化

权重传递与镜像

权重传递(Transfer Weights): 用于将权重从一个网格复制到另一个:

  1. 选择源网格(已有权重)
  2. 选择目标网格
  3. Weight Paint → Weights → Transfer Weights

传递选项

权重镜像: 对于对称模型,可以镜像权重:

  1. 确保顶点组命名正确(.L/.R)
  2. Weight Paint → Weights → Mirror
  3. 选择镜像轴和选项

权重层管理

Blender 支持多个权重层,用于不同用途:

顶点组操作

权重工具集

Normalize All:
确保所有顶点权重和为 1.0

Clean:
删除低于阈值的权重
阈值通常设为 0.01

Limit Total:
限制每个顶点的骨骼影响数
游戏引擎通常限制为 4

变形问题诊断与修复

常见变形问题

  1. 糖葫芦效应
    • 现象:关节处出现尖锐突出
    • 原因:权重过度集中
    • 解决:平滑权重过渡
  2. 橡皮管效应
    • 现象:弯曲时体积损失
    • 原因:线性权重分布
    • 解决:保留体积的权重分布
  3. 权重溢出
    • 现象:不相关部位随之运动
    • 原因:权重意外分配
    • 解决:使用遮罩限制绘制区域

诊断工具

显示选项:
[ ] Show Zero Weights(显示零权重)
[✓] Show Weight Contours(显示权重轮廓)
[ ] Use Multi-Paint(多骨骼绘制)

测试方法:
1. 极限旋转测试(180°弯曲)
2. 组合动作测试
3. 快速动作测试

高级权重技术

多分辨率权重: 使用 Multiresolution 修改器时的权重策略:

  1. 在低分辨率网格上设置权重
  2. 细分后自动插值
  3. 必要时在高分辨率微调

权重代理(Weight Proxy): 为复杂模型创建简化代理:

  1. 创建低面数代理网格
  2. 在代理上绘制权重
  3. 传递权重到高模

程序化权重: 使用 Python 脚本生成权重:

# 伪代码示例
for vertex in mesh.vertices:
    distance = calculate_distance(vertex, bone)
    weight = 1.0 / (1.0 + distance * falloff)
    assign_weight(vertex, bone, weight)

11.6 本章小结

骨骼绑定系统是角色动画的基础设施,本章我们深入学习了从骨架创建到权重调整的完整工作流程。

核心概念回顾

  1. 骨骼系统架构
    • Armature 作为骨骼容器
    • 骨骼的父子层级关系
    • Edit Mode、Pose Mode、Weight Paint Mode 的不同用途
  2. IK/FK 系统
    • FK:自上而下的关节控制,适合弧线运动
    • IK:自下而上的末端控制,适合接触性动作
    • IK/FK 切换实现灵活的动画控制
  3. 约束系统
    • 变换约束控制位置、旋转、缩放
    • 跟踪约束实现自动朝向
    • 关系约束定义复杂的骨骼关系
    • 约束堆栈顺序决定最终效果
  4. 权重系统
    • 权重值 0-1 定义骨骼影响程度
    • 自动权重提供初始分布
    • 手动绘制精细调整变形
    • 权重归一化确保正确变形

关键技术要点

工作流程最佳实践

  1. 先规划骨骼结构,考虑动画需求
  2. 使用对称建模和镜像工具提高效率
  3. 为不同用途创建独立的控制器
  4. 逐步测试绑定,避免累积问题
  5. 保存多个版本,方便回退修改

11.7 练习题

基础题(理解概念)

练习 1:骨骼层级理解 创建一个简单的机械臂骨架,包含基座、大臂、小臂和夹爪。要求正确设置父子关系,使整个机械臂可以通过基座控制。

提示(Hint):思考真实机械臂的运动关系,基座是根骨骼。

参考答案 创建骨骼链: 1. 添加 Armature 对象 2. 在 Edit Mode 下创建骨骼: - Base(基座) - Upper_Arm(大臂)作为 Base 的子骨骼 - Lower_Arm(小臂)作为 Upper_Arm 的子骨骼 - Gripper(夹爪)作为 Lower_Arm 的子骨骼 3. 使用 Connected 选项保持骨骼连接 4. 在 Pose Mode 测试,旋转 Base 应带动整个机械臂 关键点:正确的父子关系确保了运动的传递性。

练习 2:IK 链设置 为人物腿部设置基础 IK 系统,包括大腿、小腿和脚部,能够通过移动脚部控制器来摆放腿部姿态。

提示(Hint):IK 约束应添加到小腿骨骼,链长为 2。

参考答案 设置步骤: 1. 创建腿部骨骼链:Thigh → Shin → Foot 2. 创建独立的 IK_Foot 控制器骨骼 3. 选择 Shin 骨骼,添加 IK 约束: - Target: Armature - Bone: IK_Foot - Chain Length: 2 4. 创建 Pole_Knee 骨骼作为极向目标 5. 在 IK 约束中设置 Pole Target 测试:移动 IK_Foot 应该自动计算大腿和小腿的旋转。

练习 3:约束应用 创建一个眼球跟踪系统,使两个眼球始终看向一个目标对象。

提示(Hint):使用 Track To 或 Damped Track 约束。

参考答案 实现方法: 1. 创建两个眼球骨骼:Eye_L 和 Eye_R 2. 创建一个目标骨骼:Eye_Target 3. 为每个眼球骨骼添加 Damped Track 约束: - Target: Armature - Bone: Eye_Target 4. 调整 Track Axis 确保眼球朝向正确 优化:可以添加 Limit Rotation 约束限制眼球转动范围,避免不自然的极限角度。

练习 4:基础权重绘制 为一个简单的圆柱体模型(如手臂)设置两段骨骼并调整权重,实现平滑的弯曲效果。

提示(Hint):关注中间关节处的权重过渡。

参考答案 权重设置流程: 1. 创建圆柱体网格(细分足够) 2. 添加两段骨骼:Upper 和 Lower 3. 使用自动权重绑定 4. 进入 Weight Paint Mode: - 选择 Upper 骨骼 - 在关节处使用 Blur 画笔平滑过渡 - 确保关节处权重约为 0.5 5. 对 Lower 骨骼重复上述过程 6. 测试弯曲,调整权重避免挤压变形 关键:关节处的权重应该是渐变的,避免硬边界。

挑战题(深入应用)

练习 5:IK/FK 切换系统 设计并实现一个手臂的 IK/FK 切换系统,通过一个自定义属性在两种控制模式间平滑切换。

提示(Hint):需要三条骨骼链:变形链、FK 控制链、IK 控制链。

参考答案 完整实现方案: 1. **创建三条骨骼链**: - DEF_Upper_Arm, DEF_Lower_Arm, DEF_Hand(变形链) - FK_Upper_Arm, FK_Lower_Arm, FK_Hand(FK 控制链) - IK_Upper_Arm, IK_Lower_Arm, IK_Hand(IK 控制链) 2. **设置 IK 系统**: - 为 IK_Lower_Arm 添加 IK 约束 - 创建 IK_Hand_Target 作为 IK 目标 3. **创建切换控制**: - 在主控制器上添加自定义属性 "IK_FK_Switch"(0-1) 4. **设置约束混合**: - DEF 骨骼添加两个 Copy Rotation 约束 - 第一个复制 FK 骨骼,第二个复制 IK 骨骼 - 使用驱动器控制约束影响: - FK 约束:1 - IK_FK_Switch - IK 约束:IK_FK_Switch 5. **位置匹配**(可选): - 添加脚本实现 IK/FK 位置自动匹配 这个系统允许动画师根据需要选择最合适的控制方式。

练习 6:面部绑定基础 为一个简化的卡通脸部创建基础表情控制系统,包括眉毛、眼睛和嘴巴的基本控制。

提示(Hint):考虑使用骨骼配合形态键(Shape Keys)。

参考答案 面部绑定方案: 1. **骨骼布局**: - 眉毛:每侧 2-3 个骨骼 - 眼皮:上下各 3-4 个骨骼 - 嘴巴:上唇 5 个,下唇 5 个,嘴角 2 个 2. **控制器设置**: - 创建主面部控制器 - 添加自定义属性: - Brow_Height(-1 到 1) - Brow_Rotation(-1 到 1) - Eye_Blink(0 到 1) - Mouth_Smile(-1 到 1) 3. **驱动器连接**: - Brow_Height 驱动眉毛骨骼的 Y 位置 - Eye_Blink 驱动眼皮骨骼旋转 - Mouth_Smile 驱动嘴角骨骼位置 4. **形态键辅助**(可选): - 创建细微表情的形态键 - 用骨骼驱动形态键值 5. **约束优化**: - 添加 Limit 约束防止过度变形 - 使用 Copy Location 保持对称 这个系统提供了基础的表情控制,可以进一步扩展。

练习 7:复杂约束链 创建一个坦克履带系统,履带板沿着路径移动并自动调整角度适应地形。

提示(Hint):结合 Follow Path、Array 修改器和约束系统。

参考答案 履带系统实现: 1. **基础设置**: - 创建履带路径(贝塞尔曲线) - 创建单个履带板模型 - 使用 Array 修改器沿曲线复制 2. **骨骼系统**: - 为每个履带板创建骨骼 - 使用 Follow Path 约束沿路径移动 - 设置不同的 Offset 值分布履带板 3. **地形适应**: - 添加 Shrinkwrap 约束投影到地面 - 使用 Floor 约束防止穿透 - Track To 约束保持履带板朝向 4. **驱动系统**: - 创建主控制器 - 添加 "Speed" 自定义属性 - 用驱动器连接到 Follow Path 的 Offset 5. **优化**: - 使用 Python 脚本批量设置约束 - 创建 LOD 系统优化性能 这个系统展示了多种约束的组合应用。

练习 8:高级权重问题解决 处理一个肩部区域的复杂权重问题,包括锁骨、肩胛骨和上臂的协调运动,避免常见的肩部变形问题。

提示(Hint):需要辅助骨骼和多层权重混合。

参考答案 肩部权重解决方案: 1. **骨骼结构**: - Clavicle(锁骨) - Scapula(肩胛骨)- 作为辅助骨骼 - Shoulder(肩关节) - Upper_Arm(上臂) 2. **骨骼关系**: - Clavicle 是 Spine 的子骨骼 - Shoulder 是 Clavicle 的子骨骼 - Upper_Arm 是 Shoulder 的子骨骼 - Scapula 通过约束跟随 Upper_Arm 旋转 3. **权重分配策略**: - 锁骨区域:100% Clavicle - 肩胛区域:70% Scapula,30% Spine - 肩关节:渐变混合 Shoulder 和 Upper_Arm - 腋下:特殊处理避免挤压 4. **辅助骨骼设置**: - Scapula 使用 Copy Rotation 约束 - 只复制部分旋转(如 30%) - 添加 Limit Rotation 防止过度 5. **权重绘制技巧**: - 使用 Add 模式逐层构建 - 在极限姿势下测试 - 使用 Blur 平滑过渡区域 - 手动修正问题区域 6. **测试姿势**: - T-Pose 到 A-Pose - 手臂前伸、侧平举、上举 - 肩部环绕运动 这个方案解决了肩部的主要变形问题,创造自然的肩部运动。

11.8 常见陷阱与错误

骨骼创建阶段

  1. 错误的骨骼方向
    • 问题:骨骼 Roll 值不正确导致奇怪的旋转
    • 解决:使用 Ctrl+N 重新计算 Roll 值
  2. 断开的骨骼链
    • 问题:忘记连接骨骼导致运动不连贯
    • 解决:检查 Connected 选项或使用 Alt+P/Ctrl+P 重建关系
  3. 命名不规范
    • 问题:无法使用自动镜像功能
    • 解决:严格遵循 .L/.R 命名规范

IK 设置问题

  1. IK 链长度错误
    • 问题:Chain Length 设置不当导致意外骨骼参与计算
    • 解决:仔细计算需要的骨骼数量
  2. 极向翻转
    • 问题:IK 链突然翻转到另一侧
    • 解决:正确设置 Pole Target 和 Pole Angle
  3. IK 拉伸失控
    • 问题:骨骼无限拉伸导致变形
    • 解决:合理设置 IK Stretch 值或禁用

约束使用错误

  1. 约束顺序混乱
    • 问题:约束执行顺序不当产生错误结果
    • 解决:理解约束堆栈,调整顺序
  2. 空间设置错误
    • 问题:Local/World Space 混淆导致异常行为
    • 解决:根据需求选择正确的空间
  3. 循环依赖
    • 问题:约束形成循环导致系统崩溃
    • 解决:检查依赖关系,避免循环引用

权重问题

  1. 权重未归一化
    • 问题:顶点权重总和不等于 1 导致变形异常
    • 解决:使用 Normalize All 工具
  2. 权重孤岛
    • 问题:孤立的高权重点造成尖刺
    • 解决:使用 Smooth 或手动修正
  3. 过多骨骼影响
    • 问题:游戏引擎限制每顶点骨骼数
    • 解决:使用 Limit Total 限制为 4 或更少

11.9 最佳实践检查清单

规划阶段

骨骼创建

IK/FK 设置

约束配置

权重调整

控制器设计

测试验证

优化与完成


通过本章的学习,您已经掌握了 Blender 骨骼绑定系统的核心技术。骨骼绑定是一个需要大量实践的技能,建议您从简单的模型开始,逐步挑战更复杂的角色。下一章我们将学习如何使用这些绑定系统创建生动的角色动画。