头部绑定:头部无缝跟随脖子切换
1、这是在CG网上下载的一个模型;
(1)将模型girl位置放置好,“冻结变换”和删除历羞戴菊史;
如图所示:

2、使用“关节工具”(在“动画模块——骨架”),创建一节脖子骨骼和一节头部骨骼,命名;
(1)脖子骨骼的半径为0.5;头部骨骼的半径为1;
(2)按“V”键,将头部骨骼bone_head吸附在脖子骨骼bone_neck_end;
如图所示:


3、给骨骼创建控制器;
《1》创建一个脖子控制器,命名为neck;
(1)将控制器neck按“V”键吸附在脖子骨骼bone_neck;
如图所示:
《2》:选控制器neck复制出一个头部控制器,命名为head;
(1)将控制器head成组,命名为head_grp;
(2)将控制器组head_grp,按“V”键吸附在头部骨骼bone_head;
(3)选头部控制器的“点”,调整它的形状;
《3》将控制器neck和控制器组head_grp,“冻结变换”和删除历史;
如图所示:

4、“父对象”约束;
(1)选控制器neck和脖子骨骼bone_neck;
(2)选控制器head和头部骨骼bone_head;
如图所示:

5、选脖子骨骼bone_neck_end和控制器组head_grp进行约束;
(1)“点”约束;
(2)“方向”约束;
如图所示:


6、选控制器head,点击“添加属性”(在“通道盒——编辑”);
(1)命名为:follow_neck;
(2)是浮点型属性,数值范围为:0,1,0;
如图所示:


7、打开“连接编辑器”(在“通道盒——编辑”)连接属性;
(1)控制器head的属性follow_neck连接控制器组head_grp方向约束节点head_grp_orientConstraint1的bone_neck_endW0;
如图所示:

8、打开“脚本编辑器”,编写头部无缝跟随脖子的Mel脚本;
编写:
$headFollow = `getAttr head.follow_neck`;
if($headFollow == 0)
{
$head_follow = `xform -q -ws -ro bone_head`;
setAttr "head.follow_neck" 1;
xform -ws -ro $head_follow[0] $head_follow[1] $head_follow[2] head;
}
if($headFollow == 1)
{
$head_followNone = `xform -q -ws -ro bone_head`;
setAttr "head.follow_neck" 0;
xform -ws -ro $head_followNone[0] $head_followNone[1] $head_followNone[2] head;
}
如图所示:

9、框选“脚本编辑器”编写的脚本,鼠标中键将脚本拖到工具栏中;
《1》方便头部无缝跟随脖子的切换;
《2》打开“工具架编辑器”(在“窗口——设置/首选项”);
(1)命名;
(2)设置好后,点击“关闭”即可;
如图所示:


10、选骨骼bone_neck+bone_head和模型girl,点击“平滑蒙皮”;
如图所示:

11、给模型girl刷权重;
《1》选模型girl,点击“绘制蒙皮权重工具”(在“动画模块——蒙皮——编辑平滑蒙皮”)
《2》刷权重;
(1)选骨骼bone_head:绘制操作为“替换”;权重值为1;点击“整体应用”;
凤争 (2)可以看到模型girl被骨骼bone_head控制了;
如图所示:

12、给模型girl刷权重贪往;
《1》按“W”键,退出绘制权重模式;
《2》选模型girl,鼠标右键选中“点”,框选需要的点;
(1)按“ctrl+shift”键,不会将框选到的已选中点的选中去掉;
《3》使用“绘制蒙皮权重工具”;
(1)选骨骼bone_neck:绘制操作为“替换”;权重值为1;点击“整体应用”;
(2)选骨骼bone_neck:绘制操作为“平滑”;点击“整体应用”;
如图所示:



13、按“W”键,退出绘制权重模式;
14、现在可以测试头部的绑定了;
《1》控制器neck旋转Z轴值为-30 ;
(1)控制器head的属性follow_neck的值为0时,头部的旋转不跟着脖子;
(2)控制器head的属性follow_neck的值为1时,头部的旋转跟着脖子;
(3)控制器head的属性值在0和1之间切换时,头部的旋转会跳,头部动作没法保持;
如图所示:


15、使用编写的“头部无缝跟随脖子的Mel脚本”;
《1》控制器neck旋转Z轴值为-30 ;
(1)控制器head的属性follow_neck的值为0时,头部的旋转不跟着脖子;
(2)点击执行编写的“头部无缝跟随脖子”的Mel脚本:头部动作保持不变;控制器head的旋转Z轴值为30,属性follow_neck的值为1;
如图所示:


16、创建一个总控制器;
《1》将控制器zong“冻结变换”和删除历史;
《2》按“p”键,将除了模型girl,其他所创建的骨骼和控制器给总控制器zong当子物体;
《3》选总控制器zong和模型girl,打组,命名为girl_grp;
如图 所示:


17、选总控制器zong,进行“平移,旋转,缩放”测试,没有问题;