【导言】
很多吧友都着急了,询问什么时间研究骨骼系统?
我想问你的建模功夫过关了吗?你的“动画曲线”调整完全掌握了吗?
着急学这个,也非常值得理解,对于一个自学者,总想在很短的时间掌握简单地基础知识,在头脑中拼凑整个体系构架之后,然后在倒回去“细致”地去研究各个模块。这可能也是一个好的自学方法。
一直拖着没有编写的原因:一方面用图文研究骨骼系统,有点难度啊!另一方面涉及的知识广、建模、骨骼调整、权重调整、装配等等,截图工作量也大啊!
前面谈了约束,又研究XPRESSO这些都是为了最后研究骨骼动画做准备,本来还想先研究“时间轴”和“角色建模”,最后再研究“骨骼系统“会更好一些,但为了应付吧友,试写一篇基础知识,看看反应如何?
【研究】
我感觉C4D的骨骼系统基于MAYA,有很多相似的地方,但又比其简单而强大(个人思想)。C4D提供的角色工具,允许你自己随意定制骨骼,而且骨骼系统还支持动力学哟。
同时,又给你提供一个“角色模块”,让你利用模板快速建立一套骨骼,再配合“CMOTION模块”,无缝配合就能简单而快速地制作角色动画了。这就是说,只要你建立好“角色”模型,你就可以立即为它套上骨骼模板制作‘走、跑等’动画了。太方便了。
一、计算机的骨骼系统
动物的骨骼起着对动物的支撑和保护作用。如人体的外形由骨骼、肌肉、皮肤决定,人的骨骼自身不同运动,是由肌肉带动骨骼运动的。
而计算机图形的骨骼系统可不是干这个用的,它的根源来自父子关系,对模型起着变形运动影响作用。模型的外形表面就是模型的“皮肤”,骨骼起着联系和影响模型表面各个部分的作用。(可没有支持和保护模型的作用哦)
三维软件中的肌肉控制器,主要也是为了使角色模型在变形运动中更加逼真,控制模型表面起伏。比如制作下列的恐龙大腿,添加两块肌肉控制器,当骨骼带动模型变化时,模型表面就会按照需要突出或凹下跟着变化。
二、骨骼动画?
当你制作完成一个站立的角色模型,如果你想调整它的模型姿态,或者你想让他“动”起来,如何处理?
三维软件动画分类有好多,但基本上默认是两种模型动画的方式:顶点动画和骨骼动画。
1、 顶点动画中,每帧动画其实就是模型特定姿态的一个“快照”,然后通过在帧之间插值的方法,得到平滑的动画效果。
在早期的游戏中,实现三维动画演示是通过二维图片巧妙的组织和旋转进行处理的, 早期的三维游戏利用较少的系统资源就实现了相当逼真三维动画效果。随着电脑能力的迅速增强和玩家对游戏越来越高的要求,三维动画阵容空前强大,新出现的游戏开始采用真正的三维动画模型。一个著名的例子是idSoftware的MD2 动画模型. MD2 动画模型被应用在Quake2中,MD2 文件保存了角色动画关键帧的顶点信息,游戏运行时,对两个关键帧 (Keyframe) 的信息进行插值计算以得到对应时间的动画数据.。这种动画通常被称为顶点动画 (vertex animation),它的优点是实现简单, 所需的计算量也很少. 但它同宣传片具有一些问题. 象是需要大量的内存, 插值计算时动画容易产生变形, 以及不能实现游戏角色与游戏环境的交互。
2、骨骼动画中,模型具有互相连接的“骨骼”组成的有机结构,通过改变骨骼的朝向和位置来为模型生成动画。骨骼动画比关键帧动画要求更高的处理器性能,但同时它也具有更多的优点,骨骼动画可以更容易、更快捷地创建。
由于顶点动画的种种问题, 研究人员又研究出了新的方法: 骨胳动画 (Skeletal Animation)。骨胳动画是一种计算机动画技术, 它特别适合于人物和其他的脊椎动物的动画模拟。一般来说, 被模拟的角色由两个部分来表示. 一个部分是形成层次的一系列骨胳, 我们通常称它为骨架(skeleton)。 另一个部分是蒙在骨架上的皮肤(skin),通过对骨架进行动画模拟, 再利用骨胳控制皮肤变形就达到了角色动画模拟的目的.。骨胳动画带来了许多好处: 较少的内存需求, 与游戏环境更好地交互等等。与顶点动画相比, 骨胳动画的复杂性大大地提升了. 它虽然提供了与环境交互的途径, 但这是通过复杂的运算实现的。为了使游戏尽可能的真实,使动画更丰富多彩,制作动画能在成本能降低,在时间提高效率 , 游戏业者引进了运动捕捉 (Motion Capture) 的技术,运动捕捉技术最早应该是应用在电影业里,,但到现在可能没有任何其它行业比游戏业应用这项技术更为普遍了。
三、骨骼系统可以有效解决哪些动画?
在学习动力学的时候,我们知道可以把模型设为刚体和柔体。实际上在研究模型动画时,按照模型的结构也应该分为刚体动画、柔体动画、复合体动画三个部分。
1、刚体动画。刚体不变形,模型上不同部分运动都是以刚体的质心为基础,进行平移和旋转运动的叠加。制作可以用动力学仿真、关键帧动画直接K帧、XPRESSO、各种标签控制等方法制作。比如说钢球运动、飞机飞行等等。
2、柔体动画。物体本身变形,不是以质心为中心的各种运动的叠加,而是不同部分的运动是不同的,但运动又是相互影响和关联的。比如人体的运动,身体与手臂和腿的运动是不同的,身体带动四肢运动,运动又不同;再如鱼的游动,身体每个部分运动也是不同的。
3、复合体动画(物体由几个相互关联的刚体或几个柔体组成)。模型不同的部位的运动即不相同又相互联系,如下图的机械手:(机械手是由几个刚体构成)
小结:上诉三类动画:刚体不涉及到变形,非常适合用关键帧制作动画;柔体涉及到变形,非常适合用变形控制器和骨骼系统制作动画;复合体动画(各个部分可变性或部分变形)可以利用父子关系、约束、XPRESSO、骨骼系统来控制彼此联系又不同的运动。
所以说骨骼系统对模型变形运动是一个好的动画解决方案。重点用来节解决柔体变形运动和复合物体运动。
拓展:你不要认为骨骼系统是3D动画的专属工具,在2D动画也广泛使用,如Anime studio 、FLASH等都有应用,控制图形(是shape,非mesh)变形运动。
四、IK和FK是什么意思?
对于骨骼动画来说,有两种设置关键帧方式:(用哪一种取决于你的工作需要和个人爱好)
FK正向动力学。(Forward Kinematics)调整一个姿势,需要从根关节开始,然后顺着骨骼层级依次旋转子骨骼,每个部位的动作都需要一定的弧度,操作起来符合人体工学。
1、点击角色--关节工具,按CTRL建立四个关节。
2、如果要把骨骼变弯曲,从关节开始,然后关节.1 ,关节.2,关节.3,逐个旋转调整。
比如玩芭比娃娃,如果摆个造型,你必须用手去掰玩具的各个关节。芭比娃娃是靠活动各个关节来带动下个关节的运动,比如你想调整一个手的位置,你必须依次旋转肩膀,再转动胳膊,最后调整手。
IK反向动力学。(Inverse Kinematisc)
调整骨骼,只需调整最后节点,其他的关节会逆着层次依次跟进。
1、还是上述的骨骼,点击关节,右键浮动菜单--角色标签--IK标签。然后,把最末"关节.3"拖进结束栏目中。再点击右侧的添加目标按钮,添加一个控制点(实际它是一个空物体。你在场景中,总不能点击关节进行调整吧?)
2、点击这个新建立的空物体---关节.3.目标,设置如下,让它突出一些,便于操作和控制。
3、在场景中,用鼠标点击正方体,移动它,其他的关节依次跟随。
比如提线木偶。提线木偶是靠末关节的运动,带动上面关节跟着运动,比如说你拉一下提线木偶的手部关节,会带动胳膊和肩膀一起运动
小结:没有什么时候用IK,什么时候用FK这么一说,因为人的运动一直都是FK和IK一起的作用。只要适合的场合用适合的动作就OK。再举例,比如交警指挥马路,就是FK的作用;比如用手推箱子,就是IK的作用。在骨骼动画制作中,可以方便进行转换FK和IK 。
五、什么是绑定和蒙皮?
三维软件中,在创建的模型基础上,为模型添加了骨骼。由于骨骼系统与模型是相互独立的,为了让骨骼能驱动模型产生合理的变形运动。把模型与骨骼进行关联,发生关系叫绑定。骨骼以蒙皮控制器为中介,来控制模型的各个面。每个关节对模型的影响范围通过权重来控制和调节。你想要改变每个关节的影响模型表面的范围,那么你就必须“刷权重”。
蒙皮简单地说就是:把模型上的点,匹配到骨骼上,然后用骨骼的运动带动模型运动。
具体操作步骤:
下面举个简单例子:
1、在场景中建立一个圆柱,细分多一些,转化为多边形,删除上下两个面。然后菜单角色--关节工具。在正视图模型上,按住CTRL建立三个关节点。
2、点击“根对象”,你可以移走骨骼,模型和骨骼彼此是独立的,互不影响。
3、点击关节.1,旋转它,骨骼是以父子关系为基础的,关节.2跟着旋转,模型没有反应。(因为现在还没有联系)
4、选中所有关节点和圆柱模型,点击菜单角色--命令--绑定。在圆柱下面出现一个“蒙皮”变形器,一个"权重“标签。骨骼和模型建立了联系。
5、点击关节.1,旋转它,发现模型也发生了变形,产生了效果。
6、双击”权重“标签。蒙皮是骨骼(关节组成)与模型之间的联系桥梁,骨骼中的每一个关节对模型表面的影响程度是由权重决定的。你可以通过权重工具对影响范围和程度进行更改。
7、点击关节,你会发现它的控制范围。
8、点击关节.1 ,这是它的控制范围。
9、重新刷关节权重。
10、重新刷关节.1权重。
11、在旋转关节.1,发现转折过度自然了。
以上为了说明问题,有点“粗”。
以下还必须写:
六、什么是簇?
..................
七、什么是装配 RIG?
...............................
【感悟】
1、记得小学的时候,有很多数学难题,用小学的思维真是非常难做。等到了中学用二元一次方程很容易解决这些问题;高中有些很难的数学题,用大学的微积分也非常容易解决。不是时间问题,而是换了一种数学解决的方法而已。
在三维软件中,对于即变形又运动的模型动画,如果用常规的动画制作方法,真的很难。比如鱼的游动。鱼模型每个部分运动不一样 ,身体还发生扭曲变形;再比如植物的摆动,翻动的书页等。这类动画难度虽然很大,但利用骨骼系统很容易解决。
2、学习建议:最好是在“角色”建模过关以后,再学习完“动画曲线”,掌握动画运动规律,再去研究骨骼系统及其动画制作。否则你学完之后,只能用这套系统处理正方形和球组成的模型,有什么意思?不掌握物体的动画运动规律,你用骨骼系统制作的动画,运动起来一定很“独特”,怪怪的感觉。所以,建议大家初步掌握骨骼系统,一定翻回去筑牢建模功夫。再认真学习动画规律,多多观察生活中的物体运动特点,做到心中有数。
推荐几本书吧:
声明:
1、 以上不是教科书的知识,是我自己学习之后的总结。看不看、信不信由你,以免误导。
2、为了快速编写,在网上搜索许多相关图片,使图文并茂而生动、学习研究,没有商业用途。