此文出自国际Maya认证教师:王之纲(我的老师),转载请注明出处以及撰写人!
本节概述
通常来讲,动画中的角色一般是指人、动物或是其他生物,而Maya中关于角色(Character)的定义非常宽泛,角色(Character)是一个集中动画属性的节点。所以在本节中所提到的角色(Character),都是节点的概念。这对于理解Maya中的角色设定会很有帮助。因为这个功能可以充分利用动画资源,大大提高制作效率,是团队协作必不可少的重要工具。
本节重点讲解角色的概念以及设定方法。
理解角色
什么是角色(Character)?
定义
角色(Character)是一个节点,它把将要同时设置动画的所有对象的属性集中到一个集合中。
角色可以是任何对象:一个人、一辆汽车、甚至可以是任何不相关的一组物体。Maya中角色的定义没有任何限制,完全根据动画的需要。在设置“角色”时是将动画对象的所有相关属性集中在一起,这样在调节动画时只需要选择这一“角色”就可以定义多个物体的多个动画属性的关键帧,而不影响物体的非动画属性。
角色的功能
在Maya 中,角色具有这样的能力:一旦创建了角色,就可使用Maya 的动画功能在角色的基础上制作动画。这能使Maya 提供了一种与典型传统动画技术紧密相关的直觉交互操作方式。使用角色,用户还可以使用Maya 的非线形角色动画功能,使用Trax Editor可更为艺术地控制和创建角色动画。在此基础上用户还可创建角色库,收集所有以通用方式设定的角色。
总之,Maya 的角色功能把所有作为动画基础的角色属性集中在一起。通过把这些属性集中在一起,用户可以更容易、更快的为动画创建角色。动画师可使用动画功能作为一个整体来角色,而不必担心使用设置角色的其他技术细节。
定义角色集(Character Set)
定义角色集包括创建角色集和编辑角色集。完成了角色集设置就等于完成了角色设置。
角色可以是传统概念上的角色,例如:一个人、一只鸟,也可以是作为一个动画整体的集合,例如:一根双节辊,一个人的五官。
在很多情况下需要为多个对象一起设置动画,可以将这些对象的一些或所有属性集合在一起,将他们定义为一个角色集。将多个对象定义为角色集为动画制作提供了很大的便利,因为可以在同一时间设定多个对象的多个属性,并且可以将某一动画功能作用于角色内的全部属性。
角色集内可以创建子角色集。子角色集允许用户保持角色各个部分之间的层级关系。一个子角色集是角色集的一个子集。例如:可以将一个人物的左臂定义为一个子角色集,在调节左臂的动画时,不影响身体其他部分。
角色集的创建与编辑
创建角色集(Create Character Set)
1 选择物体,要使用该物体的属性去动画角色。
2 选择Character > Create Character Set 命令。
一个角色被创建,角色的节点(默认名:charactern)提供了一组可设置关键帧属性,这些属性来自于所有被选择的物体。所有这些可设置关键帧属性被便利地组织在一个角色集中。用户可能并不需立即访问角色集中的全部属性,从角色集中去除一些不需要的属性可使通道栏的通道列表更短和更加便于管理。
创建子角色集(Create Subcharacter Set)
用户可在定义的角色集中创建子角色集。当用户创建子角色集时,Maya 就会把子角色集添加到当前角色集中。这个非常有用的功能可以帮助用户分离角色集的层次。
创建子角色集类似于角色集的创建:在当前角色集中选择用户想要定义子角色集的物体(比如,组成角色脸部的物体)并选择Character > Create Subcharacter Set命令。子角色集的创建选项同角色集的创建选项一样。
编辑角色集
选择角色集
选择Character > Select Character Set Nodes > charactern,其中charactern 是角色集的默认名。
角色集被选中(注意但角色集中的物体并没被选择)。
选择角色集中的物体
选择Character > Select Character Set Members > charactern,其中charactern 是角色的默认名。
此时,角色集中的物体被选中,但角色自身不被选中。
添加通道(Channels)到角色集
通道(Channels)是节点(Node)显示在通道栏(Channel Box)中的属性,用户可迅速的为当前的角色集添加任意物体的通道(Channels)。此物体可以不是角色集中的物体。
1 确定用户所添加通道的角色集是当前角色集。
2 选择用户想添加其通道到角色集的物体。
3 在通道栏中,选择用户想要添加到角色的通道。
4 选择Character > Add To Character Set 命令。
Maya 将所选择的通道添加到当前角色集中。
从角色集中去除通道(Channels)
通道(Channels)是节点(Node)显示在通道栏(Channel Box)中的属性,用户可以快速的从当前角色集中去除通道。
1 确定用户从中去除的通道的角色集为当前角色集。
2 在通道栏中,选择用户想要从角色集中去除的通道。
3 选择Character > Remove From Character Set 命令。
从当前角色集中去除所选择的通道。
编辑角色集通道
1 选择角色。便利地选择方式是从Outliner 列表中选择角色。
2 在通道栏,角色的通道被默认列出。
3 使用鼠标左键单击通道名。
4 在场景中,按住鼠标中键左右移动鼠标。通过移动鼠标,用户可交互地改变被选择通道的值。
编辑角色属性
使用属性编辑器编辑属性:
1 选择角色,在Outliner 列表中可便利地选择角色。(注意用户还可以选择Character >
Attribute Editor 访问属性编辑器)
2 打开属性编辑器选择Windows > Attribute Editor 命令(默认快捷键:Ctrl+A)。注意用户还
可以在Outliner 中在角色图标上双击打开属性编辑器。
3 在属性编辑器中列出了下列属性:Character Set Attributes、Node Behavior 和Extra Attributes。
编辑角色集
编辑角色集包括从组中添加或去除属性。默认设置是角色集包含角色中物体所有可设置关键帧属性。在一般情况下,用户可能仅使用其中的一部分属性,这取决于角色中所包含的物体的数量和复杂程度,在角色集中保持所有的属性将导致通道栏中的通道列表过长。因而,在创建角色后,可以去除角色集中一些属性,当然还可以再将它们添加回角色集。
在角色集中察看某个物体
1 选择Window > Relationship Editor > Character Sets 命令,或者如果已经打开了Relationship Editor(关系编辑器),那么选择它的Character Editing 模式选项。编辑器的左栏列出了场景中所有的角色集。
2 选择角色集,使之高亮显示。
3 在Relationship Editor 中,选择Edit > Select Character Set Members 命令。
现在角色中的物体在工作空间中全被选中,这个方法提供了选择和观看这些物体的快速方式。如果仅想检查哪些物体是某个特殊角色集的一部分,那么使用这种方式是非常有用的。
从角色集中去除属性
1 选择Window > Relationship Editor > Character Sets 命令,或者如果已经打开了Relationship Editor(关系编辑器),那么选择它的Character Editing 模式选项。编辑器的左栏列出了场景中所有的角色集。
2 选择一个角色集以使之高亮显示。
3 单击被选择角色旁边的+号图标使其列出角色集中所有的属性。
4 选择要从角色集中去除的属性,它们以灰色高亮显示。注意,用户可以使用Shift 键和鼠标左键选择相互临近的项目,按住Ctrl 键和鼠标左键可以选择互不临近的项目。
5 在Relationship Editor 中,从选择Edit > Remove Highlighted from Character Set 命令。那么被选择属性从角色集中去除。
6 如果想返回到工作空间定位或动画角色,在保持角色集仍然被选择的状态下,选择Edit > Select Highlighted 命令。在通道栏中列出了角色集中新属性集合。
为角色集添加属性
1 选择Window > Relationship Editor > Character Sets 命令,或者如果打开了Relationship Editor(关系编辑器),那么选择其Character Editing 模式选项。编辑器的左栏(角色集)列出了在场景中的所有角色集;右栏(物体)列出了在场景中的所有物体。
2 在左栏(角色集),选择要添加属性的角色集,使它高亮显示。
3 在右栏(物体),选择其属性要添加到角色集的物体。
4 伸展物体使它的属性被列出(单击物体名称旁的“+”图标)。当前被选择的角色集以灰色高亮显示。并且这些属性的名称以斜体显示。
5 在要添加到角色集中的属性名上单击。被选择属性将被添加到角色集。
6 如果要返回工作空间,并且要定位和动画角色,并且使角色集仍然被选择,那么选择Edit >Select Highlighted 命令。通道栏列出角色集中新的属性集合。
观看和编辑角色分区
在系统默认设置下,用户创建的每个角色在系统默认设置的角色分区中有它的角色集。所有的角色集在相同的分区,用户可确认在一个角色集中的属性不会在其它的角色集。为察看默认角色分区,用户可使用Relationship Editor(关系编辑器)。
用户应该避免编辑角色分区,编辑角色集容易出现问题,因为在这样做时,可能在无意中去除多个角色集中的共有属性。
1 如果在打开的Relationship Editor 中编辑角色集,那么把Character Editing 项改为Partition Editing。
2 在Relationship Editor 中,注意角色分区(默认名:character Partition)。为找到在角色分区中的角色,在+号图标上单击。为找到在角色中的所有属性,单击+号图标旁的角色的角图标。
删除角色集
1 选择角色集,快捷的选择方式是在Outliner 中选择角色集。
2 选择Edit > Delete 命令(默认快捷键:Backspace 键)。
角色集(角色节点)被删除,但是组成角色集的物体不被删除。
注意如果用户选择了角色集中的所有节点,并且要删除它们,那么角色节点也将被删除。
使用关系编辑器(Relationship Editor)删除角色集
当在Character Editing 模式下(Window > Relationship Editors > Character Sets)使用Relationship Editor 时,也可以删除角色。在Relationship Editor 中选择一个角色集,然后选择Edit > Delete Highlighted 命令。注意主菜单中的Edit > Undo 选项也应用于Relationship Editor 中的操作。
三毛的角色设定
实例教程
1 创建三毛的角色集
为了方便管理与操作,主角色集通常不包含任何物体的任何属性,仅仅作为一个管理子集合的总集合,然后将不同部分的物体属性划分到不同的子集合中。选择主菜单Animation>Character>Create Character Set>Option打开设置窗口,
Name项填入sanmao,
Include项选择All Keyable,
单击Create Character Set按钮完成创建。这时在界面底部的Range Slider右侧的Character Set中“sanmao”为当前角色集,如图4.6.1所示
图4.6.1
2 整理通道栏(Channel Box)
子角色集是角色集的子集,它是角色的不同部分的一部分或全部属性的集合,加入子角色集的属性通常是从通道栏(Channel Box)中获取的。在创建子角色集时,按照物体或关节设置动画的需要通常只选择通道栏(Channel Box)中一部分属性。为了方便设置子角色集,在创建子角色集之前需要减少通道栏(Channel Box)中的属性项目。
对于骨骼的动画,通常只对其Translate、Rotate属性和手动添加的属性设置动画,其余的属性可以从Channel Box中去掉。例如:选择RightFoot_ctrl,选择主菜单Window>General Editors>Channel Control打开设置窗口,在左侧Keyable窗口中选择scaleX、scaleY、scaleZ后按住ctrl键增加选择visibility,单击Move按钮将所选项移至右侧Non Keyable窗口,如图4.6.2所示
这时的通道栏(Channel Box)中只保存了设置动画时必须的属性,如图4.6.3所示
RightToe_ctrl设置如图4.6.4所示
RightBall_ctrl设置如图4.6.5所示
右脚控制关节同左脚控制关节设置即可,在此不再重复。
注意:其余关节的属性可以进行类似的简化,根据设置动画时的需要,仅保留其Translate、Rotate属性和手动添加的属性即可。一个精简的Channel Box会对以后的工作带来很大的方便。
对于IK的属性,RotateX/Y/Z、ScaleX/Y/Z、Visibilty等7个属性在调解动画时是没必要的,可以去掉,剩下的属性是必要的,如图4.6.6所示
对于Pole Vector约束中用到的Locater的属性,只需保留TranslateX\Y\Z属性即可,如图4.6.7所示
3 创建三毛的子角色集
a) 对于三毛这个角色,一共需要创建三个子集合,包括双腿动作部分、上身动作部分、面部表情部分。首先创建双腿子集合,确定在Range Slider右侧的角色集中“sanmao”为当前选项,如果不是则单击“No Character Set”左侧的箭头,从下拉菜单中选择sanmao。
选择RightFoot_ctrl关节,在Channel Box中选择全部属性,如图4.6.8所示
选择主菜单Animation>Character>Create Subcharacter Set>Option打开设置窗口,Name项填入“Leg”,Subcharacter Set Attributes项选择“From Channel Box”,单击Create Subcharacter Set按钮完成创建。如图4.6.9所示
这时在Channel Box的属性值都呈现黄色高亮显示,在Range Slider右侧的角色集中“Leg”为当前选项,如图4.6.10所示
在设置脚部骨骼控制时,使用RightFoot_ctrl作为驱动帧的driver控制右脚的活动,在被动属性中包括RightFoot_ctrl自身的Rotate Z属性,在调试动画过程中Roll作为Leg子角色集的成员被设置关键帧,那么RightFoot_ctrl的Rotate Z就没有必要存在于,选择RightFoot_ctrl,在Channel Box中选择Rotate Z项,选择主菜单Animation>Character>Remove from Character Set将此项从Leg子角色集中去掉。此项转为浅红色高亮显示,如图4.6.11所示
按照设置RightFoot_ctrl的步骤,设置LeftFoot_ctrl,将其Channel Box中的属性添加至Leg子角色集,并且排除不需要的Rotate Z项,完成后的Channel Box如图4.6.12所示
按照相同的步骤,根据调节动画的需要,将双腿中的相关关节与控制部分的属性添加至Leg子角色集,包括膝关节使用Pole Vector时添加的Locator属性。具体项目如下表
|
LeftFoot_ctrl.tx LeftFoot_ctrl.ty LeftFoot_ctrl.tz LeftFoot_ctrl.rx LeftFoot_ctrl.ry LeftFoot_ctrl.roll |
RightFoot_ctrl.tx RightFoot_ctrl.ty RightFoot_ctrl.tz RightFoot_ctrl.rx RightFoot_ctrl.ry RightFoot_ctrl.roll |
|
Locator_Left.tx Locator_Left.ty Locator_Left.tz |
Locator_Right.tx Locator_Right.ty Locator_Right.tz |
b) 包括上身部分的子角色集可以定义为body,这个子角色集包括上身躯干部分和上肢部分。例如:由RightShoulder关节开始,首先将Range Slider右侧的Character Set中“sanmao”设为当前角色集,这时创建的子角色集是从属于“sanmao” 角色集,而不是从属于其他的角色集,如图4.6.13所示
图4.6.13
选择RightShoulder关节,在Channel Box中选择全部属性,如图4.6.14所示
选择主菜单Animation>Character>Create Subcharacter Set>Option打开设置窗口,Name项填入“Body”、Subcharacter Set Attributes项选择From Channel Box,单击Create Subcharacter Set按钮完成创建。如图4.6.15所示
这时在Channel Box的属性值都呈现黄色高亮显示,在Range Slider右侧的角色集中出现“Body”选项,如图4.6.16所示
保持角色集选择框内是“Body”选项,继续添加其余的关节属性,包括肘关节使用Pole Vector时添加的Locator属性。十指各关节被驱动帧控制的部分可以忽略。具体项目如下表
|
CenterHead1.rx CenterHead1.ry Centerhead1.rz |
RightShoulder.rx RightShoulder.ry RightShoulder.rz |
LeftShoulder.rx LeftShoulder.ry LeftShoulder.rz |
|
CenterNeck.rx CenterNeck.ry CenterNeck.rz |
RightElbow.rx RightElbow.ry RightElbow.rz |
LeftElbow.rx LeftElbow.ry LeftElbow.rz |
|
cluster2Handle.tx cluster2Handle.ty cluster2Handle.tz |
RightHand.rx RightHand.ry RightHand.rz |
LeftHand.rx LeftHand.ry LeftHand.rz |
|
Cluster3Handle.tx Cluster3Handle.ty Cluster3Handle.tz |
IkHandle_Righthand.tx IkHandle_Righthand.ty IkHandle_Righthand.tz |
ikHandle_Lefthand.tx ikHandle_Lefthand.ty ikHandle_Lefthand.tz |
|
Cluster4Handle.tx Cluster4Handle.ty Cluster4Handle.tz |
locator_Righthand.tx locator_Righthand.ty locator_Righthand.tz |
locator_Lefthand.tx locator_Lefthand.ty locator_lefthand.tz |
|
IkHandle_Body.twi |
IkHandle_Righthand.ikb |
ikHand_Lefthand.ikb |
|
RightFinger.grasp |
LeftFinger.grasp |
c) 将面部表情的动画部分定义为Face子角色集,这个子角色集包括控制面部表情的各种控制器的相关属性。
选择locator_face,在Channel Box中选择全部属性,这里包括了Face子角色集的全部内容,如图4.6.17所示
将Range Slider右侧的角色集指定为“sanmao”,如图4.6.18所示
选择主菜单Animation>Character>Create Subcharacter Set>Option打开设置窗口,Name项填入face、Subcharacter Set Attributes项选择From Channel Box,单击Create Subcharacter Set按钮完成创建。如图4.6.19所示
这时在Channel Box的属性值都呈现黄色高亮显示,在Range Slider右侧的角色集中出现“Face”选项,如图4.6.20所示
三毛的角色集创建完毕,单击Character显示框左侧的箭头,从下拉菜单中选择Character Sets…打开Relationship Editor窗口,在这里可以清楚地看到所有角色集与子角色集的情况,如图4.6.21所示
本节工具解析
Create Character Set
创建角色集。
Animation>Character>Create Character Set>Option 如图4.6.22所示
·Name:新建角色集名称
·Include(Hierarchy Below Selected Node):勾选此项时,当前选择物体连同其层级以下的物体一同进入角色集。
·Include:进入新建角色集的属性来源
All Keyable: 所有可设置关键帧的属性
From Channel Box:在Channel Box中选择的属性
All Keyable Except:排除下列选项的全部可设置关键帧的属性
·Redirect Character:勾选时新建角色可重定向
Rotation and Translation: 旋转与位移属性
Rotation Only: 仅旋转属性
Translation Only: 仅位移属性
Create SubCharacter Set
创建子角色集。
Animation>Character>Create SubCharacter Set>Option 如图4.6.23所示
·Name:新建子角色集名称
·Subcharacter Set Attributes: 进入新建子角色集的属性来源
All Keyable: 所有可设置关键帧的属性
From Channel Box:在Channel Box中选择的属性
All Keyable Except:排除下列选项的全部可设置关键帧的属性
Channel Control
打开通道控制窗口。
Window>General Editors>Channel Control 如图4.6.24所示
·Keyable:当前Channel Box中显示的属性
·Non Keyable:当前Channel Box未显示的属性
·Change all selected objects of the same type:
Redirect
重新定向。
Animation>Character>Redirect>Option 如图4.6.25所示
此文出自国际Maya认证教师:王之纲(我的老师),转载请注明出处以及撰写人!




























