1、设计-骨骼绑定一、骨骼设置:1、骨骼建立首先,我们从骨骼部分说起。骨骼的建立是使用我编写的一套 auto rig系统。这套系统有一万多行代码,花了很长时间编写调试,现在还只能绑定两足生物,以后会慢慢完善,会进一步加上四足生物和其他的一些常用的角色解决方案。建立的时候很简单,首先是选择需要建立的身体部位,把各个部位都分开来设置,这样可以单独建立某一个部位(譬如手臂),也为建立多个手臂或者多个腿部的角色提供了方便。选择好设置的部位以后,点击 Create Skeleton Guide(建立骨骼向导)按钮,在场景中建立一套人物的骨骼,之后调节一侧骨骼旋转和缩放匹配角色关节位置,使用Symmetriz
2、e功能镜像对称另一侧即可。匹配好位置以后,就可以进入建立控制器标签面板,这里能够完成全部骨骼系统的功能。基本上就是按照从左到右,从上倒下的顺序一次点击:Create Global Control(建立一个角色整体控制器):身体下面的那个圆圈。Create Body Controls(建立整个身体的所有控制器):所有身体的控制器都会建立出来,并设置好各个关节之间的联系,这时候的骨骼已经可以用了。然后就是设置控制器可见性,fk的时候隐藏ik控制器,反之亦然,场景会整洁一些。之后是清理场景了,该分组的就给分组,该隐藏的就给隐藏,之后就是这个样子了,怎么样干净,就怎么样来制作,整个 outliner就
3、一个 All_ctl 控制器。下面就是建立四肢的 ribbon 控制了。Ribbon可以实现四肢的一些高级控制方式,也就是常说的二级控制的任意变形,在这里也都是通过系统自动建立,选择好想要建立的四肢部分(也是可以手腿分开建立的),点击 Create Ribbon就能建立了,结果如图:Add Prefix and Controls Color(添加前缀和控制器颜色)最后一个步骤就是添加角色的名称前缀,并设置控制器颜色。到此,骨骼部分就建立完成了、蒙皮蒙皮也就是正常地刷权重就好了。但是,这时候命名的优势就体现出来了,一个好的恰当的命名,可以让制作者快速地在众多骨骼当中找到需要的那个。刷权重的时候需
4、要给控制器设置上动画,然后反复地拖动时间滑块来查看权重效果,这样能快速地得到权重反馈效果。二、变形制作1、关节变形修正权重刷好以后,就可以进行关节变形修正了,这一步比较麻烦,但是对于追求高质量绑定来说则是必须的。之所以要进行修正,是因为在关节骨骼旋转的时候会产生体积丢失的现象,如果只是刷权重的话必然会产生这种效果,所以就要通过其他的办法来弥补。弥补的方法很多,可以用blendshape来修正,也可以用influence 物体来调整,或者用其他的一些变形工具来修正。我选择使用第一种。这是正常刷权重以后的肩部旋转效果。这是blendshape修正以后的效果,这个效果会比较真实,它能够很形象地看出肌
5、肉堆积的效果。这就是还原了的原始blendshape变形目标,比较奇怪的一个形状,也就是当肩部旋转的时候要驱动这个blendshape目标。怎么能得到这个奇怪的形状呢,可以使用 Art of Rigging 教程里面提供的一个脚本工具 CGTookkit Shape Builder 来制作,教程里面也有详细的使用说明。理论上只要有关节旋转的地方都会有体积丢失,旋转越大丢失的越严重,但是如果要求不是特别高的话,只做主要的大关节就可以,像肩部、肘部、手腕、髋关节、膝关节、踝关节、腰部等等,一些小的手指关节也可以不做。这几个关节比较难处理的是万向轴关节,如肩部和髋部三个轴向都能够旋转。其次是腕和踝关
6、节是两个轴向旋转。最简单的是肘部跟膝盖,只有一个轴向旋转。修正的时候首先是要得到修正的blendshape形状,然后就是怎么驱动它的问题了,肘部跟膝盖用骨骼旋转来驱动就可以,而其他几个关节用UV驱动或者距离驱动都可以,Art of Rigging 教程也有讲驱动这种万向关节的办法。这个地方我感觉是绑定当中比较重要的环节,变形的好坏会直接影响到最终渲染结果,是呈现给观众看的,所以多花些精力来做也是值得的。(当然也要根据项目要求来做,不要求很精细也就没有必要做这么细)到此身体部分就全部完成了,下面我们就来看看表情的制作。2、表情制作表情制作也是用到了 auto rig 系统里面的表情模块,这个表情
7、系统把很多繁琐的工作都可以自动完成,大大提高的表情的制作效率,但表情的好坏还是要手动来控制,并不能直接自动的制作生动的表情。一起来看看表情模块吧。首先是选择分离好的头部模型。然后建立面部骨骼模板,并且把模板上面的骨骼捕捉到相应的位置上面。(这时候只有左侧)对齐好位置以后,点击Mirror | Bind Joints to Head按钮,可以镜像出右侧的骨骼,并且把这些骨骼自动绑定到头部上,同时也自动绑定好了眼睛部分的控制。第三步点击Duplicate Facial Target 按钮,复制出需要的所有Blendshape变形目标。原来做足球绑定的时候这些都是手动完成的,非常的费时费力。其实这个
8、功能是这个表情系统的雏形,最初只是想做个复制头部目标,并且都是命名好的这样的脚本,后来就一点一点的扩展成今天这个样子了。第四步就开始制作表情目标了,以左眼眉内部向上为例,场景独立显示这个目标,然后进入物体点级别。在第1帧对这些点设置关键帧,移动到第5帧,调节这些点的位置,使左眼眉向上运动,然后反复调节时间条来调节效果。因为Blendshape的目标是线性过度的,要想得到圆滑的过度(譬如眼皮和张嘴)就可以在中间帧再调节这些点的位置,如果感觉5个目标还不够圆滑,还可以随意的增加帧数,直到得到一个满意的效果为止。第五步,点击 Convert Animation To Blend 按钮,可以将时间条上
9、的所有动画帧转换为对应的in-between目标。第六步,选择表情目标的_blend组,点击 Duplicate and Mirror Target 按钮,就能够镜像复制出右侧脸部变形目标,组里面有多少个目标都统统一起复制,并且都是重新命名好的。之后就是漫长的手动调节所有的表情目标,需要点耐心。第七步,点击Create BlendShape for Facial 按钮,自动建立表情Blendshape,把所有的目标全部添加进表情Blehdshape,不管组里面是单独一个目标还是多个过渡目标,全部都均匀的分布在每个Blendshape权重的 0-1上面,形成圆滑的过度效果。现在已经可以通过调节B
10、lendshape滑杆来控制表情了。第八步,现在有了 blendshape,但控制界面还不够友好,需要建立一个控制面板来控制Blendshape,既直观又方便。点击 Create Facial Controls 按钮,自动建立面部控制面板。这时候的面板还只是独立的一个个控制器而已,还不能控制Blendshape表情。第九步,点击 Link Controls to BlendShape 按钮,就可以自动链接所有表情控制器到Blendshape目标,现在就实现了使用面部控制器来控制表情了。第十步,这一步需要又需要刷权重了,表第一步建立的脸部骨骼的权重要一一刷好,这些骨骼在这一步就会被转换成脸部的高
11、级控制器,用来调节脸部的特殊表情。至此整个角色就基本绑定完成。3、角色控制面板从身体到表情的一个大致流程,下一步我们来看看这套绑定的控制中心,它是一个角色控制面板,如下图(原本是想用野人的截图做身体面板的背景,但是考虑到这样一来用到其他角色身上的时候会有点别扭,所以就选了个素描用的木人来做背景)角色的绝大多数高级控制功能都是在这里实现的,面板是用 mel 编写的,按钮是用Photoshop 制作的 bmp位图。整个面板分为五个标签,body(身体)、Hands(手部)、Facial(面部)、FacialAdv(高级面部控制)、Visibility(显示)。在身体面板里面可以选择身体的各个部位控
12、制器,就像一个遥控器一样,还可以实现一些高级功能,譬如无缝fk/ik切换(带自动帧,匹配不同状态的不同长度)、fk/ik自动锁骨、无缝fk/ik跟随,这都是跟 auto rig 系统相对应的,使用auto rig 系统建立的骨骼可以直接应用这个面板来控制。Auto rig 制作的脚跟控制我自己比较喜欢,一个控制器就可以控制所有的脚部动作,控制器的好处就是比面板参数要直观,动画师都是形象思维比较强,可能会喜欢这样的控制。手部控制面板也是一个控制器选择器,在这里我把很著名的Pose管理器poseLib集成了进来,可以把poseLib 制作的手指动作库显示在下面,调节起来更方便。这个就是表情控制面板
13、了,可以在这里调节表情,也可以在场景里面调节。这个是面部的高级控制面板,都是跟高级控制器名称一一对应的,点击面板的按钮就能直接选择相应的场景中的控制器,是不出有点像中医的面部穴位,呵呵。这里是控制场景中角色的各个部位显示,头部身体四肢都可以分开显示(当然是Low Res模式)好了,到此这套野人的 rigging demo 就都讲解完毕,希望对大家能有所帮助三、最后的一点建议总的来说,绑定是一个技术性很强的工作,但是做到最后还是离开了技术。想要做好的话首先要对动画有很好的观察,对生物的肢体运动极限有所了解,知道绑定的角色需要做到什么样的动画,肌肉在什么度数会被挤压,挤压之后会变成什么样子。表情更
14、是如此,一套绑定的好坏在于变形,变形的成败则在于表情。观众的注意力绝大多数时间都是在角色的表情上面,角色的喜怒哀乐和内心世界也都是通过表情来传递给观众的,所以表情变形是绑定当中的重中之重。想要做出好的表情首先也是要对表情动画和表情解剖结构有很好的理解,这样在制作的过程当中才能够有的放矢,总之对角色动画和解剖结构的理解,会融会贯通在每一次移动点、旋转面上。还有,绑定也是个慢功夫,如果想做好的话需要先过技术关,然后才能谈到其他的,这些都需要一段时间的积累。前段时间,我把我多年来搜集的很多国外的优秀绑定演示都传到了网站上,大家有兴趣的可以去看一下,借鉴学习。优秀绑定视频展示我再给大家推荐了几套绑定教
15、程,有兴趣学习和提高绑定技术的朋友都可以去看看。tgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaU
16、wYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI9
17、2tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtg
18、KQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3Xt
19、KknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN6
20、0eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3
21、XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaG