第四章 骨骼

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章骨骼
在完成模型和材质后,我们就需要给物体建立骨骼。

制作动画的大部分工作都是通过Maya的骨骼系统来完成的。

在制作骨骼前,我们需要熟悉角色的骨骼结构,角色如果是个人,我们则需要了解人体的骨骼结构,如果是鸟,我们则需要了解鸟的骨骼结构。

4.1 人体骨骼概述
如下图:
人体整个骨架由179块主要骨头组成,人体里最重要的支撑结构是脊椎骨即脊柱。

每个骨头都有其重要的作用,它们都绝妙地发挥着特殊的功能。

它们的作用主要是支撑身体,运动及保护内脏。

在我们的MAYA 中骨骼的作用是运动。

4.2 人体关节活动范围:
(1)颈部:先置于中立位,颈部活动度为:前屈35~45°,后伸35~45°,左右侧屈各45°左右旋转各60~80°。

(2)腰部:采取直立,腰伸直自然体位,其活动度为:前屈90°,后伸30°,左右侧屈各30,左右旋转各30°。

(3)肩关节:先置于中立位,其活动度为:前屈90°,后伸45°,外展90°,内收40°,内旋80°,外旋30°,上举90°。

(4)肘关节:先置于中立位,其活动度为:屈曲140°,过伸0~10°,旋前80~90°,旋后80°~90°。

(5)腕关节与手:腕关节先置于中立位。

其活动度为:背伸35~60°掌屈50°~60°,桡偏25°~30°,尺偏30°~40°。

掌指关节先置于中立位,其活动度为:掌指关节屈曲60~90°,伸直为0°近节指间关节屈曲90°,伸直0°;远节指间关节屈曲60~90°,伸直0°。

掌拇关节先置于中立位,其活动度为:掌侧外展70°;对掌,注意拇指横越手掌之程度;屈曲,掌拇关节20一50°,指间关节90°;内收,伸直位与食指桡侧并拢。

(6)髋关节:先置于中立位,其关节活动度为;屈曲145°(仰卧位屈膝屈髋),后伸40°(俯卧位后伸),外展30~45°,内收20~30°,内旋40~50°(屈膝90°位),外旋40~50°(屈膝90°位)。

(7)膝关节:先置于中立位,其活动度为:屈曲145°,伸直0°(可超伸10°),当膝关节屈曲时内旋约10°,外旋20°。

(8)踝,足部:踝关节先置于中立位,其活动度为:背伸20~30°,跖屈40一50°;跟距关节内翻30°,外翻30一35°;跖趾关节背伸约45°,跖屈约30~40°。

4.3 骨骼设置:
对于角色的骨骼设定根据角色的特征有不同的解决方案,而我们研究骨骼设定的目的就是要找出这样的适合于特定动画要求的骨骼方案。

4.3.1 基础知识:
●调整骨骼尺寸:
选择Display>Animation>Joint Size…命令,可以用滑块来调节骨骼大小的任意百分比,可以更容易地进行选择和编辑。

●关节和骨头:
关节是骨骼中骨头之间的连接点。

关节可带动骨头的移动、旋转和缩放。

第一个建立的关节叫做根关节。

下一级关节是根关节的子关节。

粗的一端指明了上一级,细的一端指明了下一级。

子一级的关节对上一级关节的变换具有继承关系。

●调节骨骼位置:
调节骨骼位置时可以按下Insert键,这样在调节当前骨骼的位置时,不会影响到其他的骨骼,调节完成后,再次按下Insert键即可回到原来的状态。

●创建的骨骼原则:
1. 骨骼的创建部分要求我们了解角色的自然骨骼状态,以及它的运动特
征。

以此来判断在模型的什么位置创建骨骼;创建什么性质的骨骼等等。

2. 动画质量要求越高,那么角色的骨骼相应地也会越复杂,规范的命名
对于后面的工作极其的重要,所以一定要养成规范命名的习惯。

其实在其它的流程中也应该养成这个好习惯。

脚命名为Lleg,Lknee 和Lfoot;脊椎层级命名为waist,chest,neck和head,并将肩部层级命名为Lshoulder,Larm,Lforearm 和Lhand。

3.所有joint的旋转必须都是0。

所有joint的缩放属性必须都是1。

4. 我们要根据角色的动作需要来决定骨骼的动力学特征,当然我们希望
骨骼的运动特征能尽量地符合角色在真实状态下的骨骼特征。

不过在创作过程中,简单高效始终都是一个好的原则。

4.3.2 创建骨骼的工具:
在菜单中选择Skeleton,可以通过点击菜单最上方的双线部分将其变成浮动面板。

如下图:
Joint Tool(建立骨骼)
我们先来使用一下Joint工具,点选Joint工具,在任意的视窗中点击鼠标,此时我们就已经确定了一个骨骼节点,当我们在另一个位置再次点击时出现另一个骨骼节点,同时在两个节点间出现了一个连接物.那么我们以这样的方式经过多次的点击后,按回车键来完成当前骨骼的创建。

我们从图中可以看到骨骼的构成方式。

点击Joint Tool工具右侧的小方块,调出设置对话框:
Degrees of Freedom (自由度)
在设置使用IK时,可以绕哪个骨节点坐标轴旋转(X、Y或Z)。

系统缺省值设置为三个坐标轴的旋转。

例如:勾掉Y轴,那么IK就不能控制Y轴的旋转,我们也可从通道面板中对于相应的轴进行锁定来完成同样。

Orientation(设置骨节点坐标轴的方向)
选项包括:none、xyz、yzx、zxy、xzy、yxz、zyx。

选择None创建骨节点坐标轴的方向和世界坐标轴的方向一致。

其余选项是按照第一个坐标轴指向骨骼内部。

也就是说骨节点的第一个坐标轴指向它的子关节。

如果有多个子关节,那么第一个坐标轴指向第一个被创建的子关节的骨节点。

Scale Compensate(缩放补偿)
当缩放骨骼父关节时,如果勾选Scale Compensate,那么子关节不受父关节的缩放影响;勾掉其选项,子关节将受父关节的缩放影响. Auto Joint Limits(自动关节限定)
创建时自动限制关节的旋转角度。

(-360º~360º)Create IK Handle(创建IK手柄)
当创建骨关节或关节链时,IK手柄即被创建。

打开此项命令IK Handle Options 项会被显示。

此选项和Animation模块下Skeleton IK Handle Tool命令Tool Settings的功能一致,关于这项功能详见IK Handle Tool(IK 手柄工具)。

Insert Joint Tool(插入关节)
如果在所建立骨骼中的关节数不够或需要增加骨骼,可以在任何层级的关节下插入关节。

注意:插入关节应在添加IK手柄和蒙皮之前完成。

如果插入带有IK手柄的关节要重做IK手柄。

使用方法:
1. 选择Skeleton>Insert Joint Tool命令。

2. 点击鼠标左键选择要插入关节的父关节。

3. 按住鼠标左键,拖动指针到要添加关节的地方。

4. 当插入关节完以后,按下Enter回车即可完成。

●Reroot Skeleton(重新设置根关节)
通过将所选择的骨节点设置成根关节,从而改变骨骼的层级关系。

即颠倒骨骼。

1. 选择要重设的一个关节。

2. 选择Skeleton>Reroot Skeleton。

●Remove Joint Tool(去除关节)
除根关节外,可以去除任何一个关节。

使用方法:
1.选择要去除的关节。

(注意:一次只能去除一个关节)
2.选择Skeleton>Remove Joint Tool命令。

(去除当前关节后不影响它的父一级和子一级关节的位置)
●Disconnect Joint(断开骨骼)
可以断开除根关节外任何关节和关节链。

将一段骨骼分为两段骨骼。

使用方法:1. 选择要断开的关节;
2. 选择Skeleton / Disconnect Joint Tool命令。

注意:如果断开带有IK手柄的关节链,那么IK手柄将被删除。

●Connect Joint(结合骨骼)
通过结合关节或骨骼链连接关节来结合成一个骨骼。

使用方法:
你可以选择Skeleton>Connect Joint Tool命令,打开Connect Joint Options视窗。

在Mode(模式)下选择Connect Joint或Parent Joint。

1. 单击要成为其他骨骼肢体链的一个关节的根关节;
2. 按住Shift键,在另一个骨骼中选择根关节以外的任何一个关节;
3. 选择Skeleton>Connect Joint Tool命令;打开Connect Joint Options 视窗
4.选择Connect Joint模式,单击Connect。

注意:同学们可以分别试试Connect Joint和Parent Joint,看看它们有什么不同的效果。

Parent(父子关系)模式下,被结合与结合关节之间会自动产生一个新的的骨头,骨节点的位置相对不变。

●Mirror Joint(镜像骨骼)
此工具用于镜像复制肢体骨骼。

镜像复制的前提是所制作的骨骼是对称的形态。

镜像时,关节、关节属性、IK手柄(IK Handle)等都会进行镜像复制。

为一个角色创建骨骼时,镜像是非常有用的。

比如,建立角色的左手骨骼,然后通过镜像,右手骨骼即出现。

1. Mirror Across(镜像平面)选择镜像时的参考平面。

2. 选择Mirror Functi o n(镜像功能)
Orientation(方向):关节的自身坐标轴同时也被镜像;
Behavior(行为):则只对选择的关节链的位置镜像,不考虑关节的自身坐标轴。

替换名字:如下图:例子:镜像后,把命名里L字母换成R
3. 单击Mirror或Apply镜像完成。

●Orient Joint(更改骨骼坐标)
一般我们创建骨骼时都按照XYZ或者None 來進行創建的,如果发现创建后骨骼自身坐标出了问题。

可以在Skeleton 下选择Orient Joint让出现问题的骨骼轴向与整体骨骼保持一致。

●Set Preferred Angle(设置优先角)
骨骼时,如果骨骼链处在一条直线上,那么在设定IK后,产生不了作用,可以通过设定优先角。

使的IK解算器知道沿什么方向进行旋转。

在设定IK前:
1. 先在关节处旋转出一个角度, 选择骨骼链的根节点。

2. 选择Skeleton>Set Preferred Angle。

3. 再将骨骼还原成原始状态,现在IK就已经通过优先角的设置知道了解算的方向。

Assume Preferred Angle(显示优先角)
当我们不清楚所设定的骨骼的优先角是哪个方向时可以用这个命令来显示优先角.
1. 选择需要显示优先角的骨骼.
2. 选择Skeleton>Assume Preferred Angle
4.3.3 建立人体骨骼:
4.3.3.1建立脊椎和头部骨骼
1. 打开BOY文档。

2. 在侧视图中建立脊椎骨骼。

依次为腰部1(跨部)> 腰部2 > 腰部3 >
胸部1 > 胸部2(锁骨)> 脖子1 > 脖子2> 头部1> 头部2。

注意:从跨部开始往上建立。

3. 按下Insert键,调整每个骨骼的位置。

调整完后如下图:
如下图:
4. 将层显示方式设置为R。

点击Joint Tool,按住V键(点吸附方式)
重新建立骨骼。

5. 再建立一个层,命名为new,把新建的骨骼放入,方便删除old层和
定位骨骼。

6. 删除old层和定位骨骼,最后删除new层。

7. 重命名骨骼:从下往上依次为
Boy_waist_A,Boy_waist_B,Boy_waist_C;
Boy_chest_A,Boy_chest_B;
Boy_neck_A,Boy_neck_B;
Boy_neck_A,Boy_head_B;
如下图:
4.3.3.2 建立腿部骨骼
1. 在侧视图中建立腿部骨骼。

如下图:
2. 在正视图中,根据模型的腿部样子,调整骨骼。

如下图:
3. 在侧视图中,建立脚掌骨骼,并在正视图中调整好位置(移动它把它
吸附在脚踝处),如下图:
4. 在别处创建一个新的骨骼作为脚踝骨,如下图:
这样做的目的是:如下面两幅图的比较
5. 把新建的脚踝吸附到脚踝处。

如下图:
6. 删掉原来的两个踝骨,如下图:
7. 在把脚踝骨分别与腿部和脚掌的骨骼相连接上。

如下图:
8. 把腿部骨骼和脊椎根关节相连(P上)。

如下图:
9. 把腿部骨骼命名分别为:Boy_leg_L Boy_knee_L Boy_ankle_L 4.3.3.3 建立手部骨骼
1. 在侧视图中从上往下建立手部骨骼。

如下图:
2. 在正视图中调整好位置。

如下图:
动Y轴。


3. 创建手指:先在侧视图中从上往下建立一根手指的骨骼,并在各个视
图中调整好位置。

如下两图:
4. 复制骨骼链作为其他的手指骨骼。

5. 调整好每个手指骨骼的位置。

如下图:
转属性为0)
6. 相同方法再设置大拇指骨骼。

如下图:
7. 选择每根手指骨骼的根关节,再选择手掌骨骼,按P键将它们相连。

如下图:
8. 命名手指骨:
食指,中指,无名指,小拇指从上往下分别为:
Boy_finger1A_L ,Boy_finger1B_L,Boy_finger1C_L,Boy_finger1D_L Boy_finger2A_L ,Boy_finger2B_L,Boy_finger2C_L,Boy_finger1D_L Boy_finger3A_L ,Boy_finger3B_L,Boy_finger3C_L,Boy_finger3D_L Boy_finger4A_L ,Boy_finger4B_L,Boy_finger4C_L,Boy_finger4D_L 大拇指为:
Boy_ thumbA_L ,Boy_ thumbB_L,Boy_ thumbC_L,Boy_ thumbD_L
9. 设置锁骨骨骼,在各个视图中将其定位。

如下图:
10. 将手臂的骨骼与锁骨相连,再将其连接到身体的骨骼上。

如下图:
11. 把手部骨骼命名为Boy_shoulder_L,Boy_arm_L,Boy_elbow_L 和Boy_hand_L。

4.3.3. 4 镜像复制和之前的准备:
1. 检查所有骨骼的自身旋转轴是否正确,因为我们在建立骨骼的时候是使用XYZ形式创建的,那么每个关节自身旋转轴的X轴就应该都是指向下一个关节,而其他两个轴也应该保持同一个方向,如果发现不一致的地方,应该手工把它调整过来。

当确保每个关节的自身旋转轴都正确以后,才能对身体的另一半骨骼进行镜像复制。

检查方法:如下图。

发现方向反了的骨骼,然后把它们反过来。

选择反向骨骼的自身旋转坐标,然后打开脚本编辑器(Script Editor),
通过脚本编辑器的Edit>Clear All 命令把历史记录清楚掉。

如下图:
然后旋转一下自身旋转轴,现在脚本编辑器里显示出了刚才我们旋转关节自身旋转轴的历史。

我们刚才是随意旋转的一个角度,但是我们需要的是旋转180度,所以现在我们选中上面的历史记录,然后用中键把它拖到脚本编辑器的下半部分,并且把–os 后面的哪个数值改为-180。

这样这条命令的作用就是把这个坐标轴旋转180度。

现在我们再把这条
命令用中键直接拖到Shelf的Custom中作为一个快捷键来使用,如图:
现在按一下Z键,撤消刚才对坐标轴的旋转操作。

分别选择有问题的坐标轴,再点击刚刚我们创建的快捷键,让有问题的坐标轴都旋转180度。

2. 把锁骨骨骼的自身旋转坐标手动旋转成世界坐标系的样子,因为这样更方便以后我们对于锁骨进行动画设置。

如下图:
3. 选择骨骼的根关节,然后运行Modify>Freeze Transformations(冻结变形)命令。

因为在刚才创建骨骼的时候,我们对于一些骨骼做过旋转和缩放操作,但是对于骨骼来说,在绑定的时候如果旋转参数不为0的话,很容易出现一些错误,而且也不方便我们使骨骼回位。

所以在创建好骨骼以后要对它运行一下Freeze Transformations命令。

如下图:
4. 现在我们对骨骼的修改操作就完成了。

下面我们需要的是把另外一半
的骨骼镜像复制出来。

分别选择锁骨骨骼和大腿骨骼,然后运行Skeleton>Mirror Joint,并在Mirror Joint命令的设置窗口中选择以哪个轴向进行镜像,然后替换名字,如下图:
把L换成R。

5. 最后结果如下图:
6. 骨骼建立工作完成。

相关文档
最新文档