角色绑定
绑定原理(Rigging)
分别从层级关系、骨骼绑定、顶点组和姿势模式来初步介绍角色绑定的基础内容。
层级创建(Parenting)
Parenting:父与子的层级关系,子围绕着父转。
- 父对象变动时,子对象跟随父对象变动(随父对象的原点变动)
- 子对象变动时,父对象不跟随。
- 多层级:父-子-孙等。
在物体间建立父子层级关系:
Ctrl+P
:将活动物体指定为所有选中物体的父级Alt+P
:清空选中物体的父级
骨骼(Bone)
单根骨骼:上小下大,可以头部为支点旋转的一跟支架。大的位置叫“头部(Head)”,小的位置叫“尾部(Tail)”。
当把骨骼放到一堆顶点附近时,如果没有把骨骼和这些顶点建立起权重关系,在骨骼旋转或移动时,这些顶点不会跟着骨骼进行变动。当把这些顶点与骨骼建立权重关系之后,这些顶点就可以跟着骨骼进行变动。
- 创建:
Shift+A
>Armature
>Single Bone
- 编辑:选择骨骼并进入编辑模式。选中骨骼/端点,可以移动其位置。
E
增加‘子层级骨骼’ - 绑定:在物体模式下,选中需要绑定到骨骼的“物体、骨骼”(骨骼为活动物体),
Ctrl+P
>With Empty Groups
建立层级绑定。将物体绑定到骨骼。(此时与普通的层级绑定并无二异) - 命名:为了更便于后续的操作,应对每一跟骨骼进行重命名。
顶点组(Vertex Group)
完成将物体绑定到骨骼后。在该物体Data
项的Vertex Groups
会自动生成对应骨骼的空顶点组。(需要手动分配顶点到对应的顶点组中)
选择该物体,在Properties
(属性编辑器)的Data
选项卡的Vertex Groups
可以看到以骨骼命名的顶点组。Assign
:将选中顶点指定到选定的顶点组;Remove
:将选中点从选定的顶点组中清除;Select
:选者选定的顶点组中的顶点;Deselect
:取消选定顶点组的顶点选择;
- 分配顶点到顶点组中:进入物体的编辑模式。选中相应顶点,在
Vertex Groups
中选中对应的顶点组(高亮显示),点击Assign
,即可将选中的顶点加入对应的顶点组中。
修改骨骼的的名称后,顶点组名会相应的进行自动匹配。(在
Bone
选项卡或outliner
中修改名称)
姿势模式(Pose Mode)
骨骼物体的独有模式(必须选中骨骼物体,才能切换到该模式)
- 摆姿势:进入姿势模式,此时对骨骼进行变换操作,被绑定到该骨骼的‘物体相应顶点组中的顶点’将会随之发生变动。
- 重置变换:
Alt+R
将姿势恢复到初始状态(全选/选定相应的骨骼);Alt+G
将最父层级骨架的‘移动’恢复到初始状态(需选定)。
视频地址
https://www.bilibili.com/video/av46683699
权重分配(Weighting)
骨架与模型之间的影响力设定
前期准备
准备一个3D人体模型,并调整状态,如图:
- 模型轴心点(原点)调至于模特中心点、地平处(如图所示),并将模型移至世界坐标原点
- 调整前视图
Front
显示模特正面,右视图Right
模特面部朝向左 - 调整模型比例并应用变换(
Ctrl+A
)
创建骨骼
- 创建第一根骨骼,并调整至如图Ⅰ;
- 编辑骨骼,
E
延展骨骼分段并调整至如图Ⅱ; - 切换到
Right
右视图,继续调整骨骼至如图Ⅲ; - 继续手臂和腿脚的骨骼创建,调整至如图Ⅳ;
- 骨骼命名:
- 拷贝右部骨骼到左部(物体模式):
Shift+C
将3D Cursor(3D游标)归到世界原点。并设置轴线点为3D Cursor
;- 选中右部骨骼,
Shift+D
原地拷贝。 Ctrl+M
>X
,以X轴为中轴线,镜像选中物体。
- 对左部骨骼重命名(编辑模式):
- 全选要自动重命名的左部骨骼,按
W
>AutoName Left/Right
。完成左部骨骼的重命名。(自动将尾部的‘R’替换为‘L’)
- 全选要自动重命名的左部骨骼,按
- 完成骨骼创建
创建骨骼时,将3D Cursor(3D游标)移动到指定位置,便于创建骨骼。调整骨骼时,应配合各视图进行位置调整。
为简化过程,本示例不对手指进行骨骼绑定。
绑定左/右部骨骼到中部骨骼(编辑模式)
此时,如果各部骨骼是独立的骨骼物体时,Ctrl+J
先将各部骨骼合并为同一骨骼物体。
- 选择手臂左/右部骨骼的根部骨骼(首根),
Ctrl+P
>Keep Offset
将其绑定到“chest”骨骼上; - 选择腿脚左/右部骨骼的根部骨骼(首根),
Ctrl+P
>Keep Offset
将其绑定到“center”骨骼上。
绑定人体网格物体到骨骼上(物体模式)
- 先选择人体网格物体,再选择骨骼物体,
Ctrl+P
>With Empty Groups
将人体网格物体绑定到骨骼上。 - 完成骨骼绑定后,选中人体网格物体。在
properties
(属性编辑器)的Data
选项卡中的Vertex Groups
中自动根据骨骼名称生成各‘顶点组’。
权重分方式
Ctrl+P
:绑定网格到骨骼时的选择列表:
Armature Deform:With Empty Groups
/With Envelope Weights
/With Automatic Weights
A. 手动权重分配(Manual Weighting)
选择With Empty Groups
,将创建空的顶点组。需要手动的分配网格顶点到对应的顶点组中(编辑模式)。
添顶点到顶点组:进入网格物体的编辑模式,将各个‘骨骼周围的顶点’Assign
到与‘骨骼同名的顶点组’中。
B. 自动权重分配(Auto Weights)
With Envelope Weights
/With Automatic Weights
(两者类似)
使用这两者,将自动的将骨骼周围的顶点加入到对应的顶点组中。
完成顶点的顶点组分配后。选定某个顶点,在N
属性面板的Vertex Weights
项下可以查看选定顶点的权重值。
C. 权重刷(Weight Paint)
权重刷模式,进行手动的绘制顶点权重