多语言展示
当前在线:647今日阅读:86今日分享:14

头部绑定:头部无缝跟随脖子切换

这是个人学习时所做笔记,现在分享给大家,希望大家喜欢!!
工具/原料

MAYA2014

方法/步骤
1

1:这是在CG网上下载的一个模型;(1)将模型girl位置放置好,“冻结变换”和删除历史;如图所示:

3

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

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

5

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

6

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

7

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

8

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

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

10

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

11

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

12

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

13

13:按“W”键,退出绘制权重模式;

14

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

15

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

16

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

17

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

注意事项

编写脚本时,注意字母的大小写;和符号的运用;

推荐信息