骨骼动画的基本概念与分类
骨骼动画是3D动画中主要的动画方式,与其他3D动画方式比较,骨骼动画的优势明显,它制作简单而科学,特别是在制作游戏动画时,能使引擎得到平滑的动作效果。
骨骼动画概述
1.骨骼动画的概念
通常我们所说的3D动画主要指两种动画方式:顶点动画和骨骼动画。这两种动画方式都是针对模型的动画,在顶点动画中,每帧动画其实就是模型特定姿态的一个“快照”。通过在帧之间插值的方法,可以使引擎得到平滑的动画效果。而骨骼动画是使用“骨头”来带动模型,而不是通过手动编辑和移动每个模型顶点来实现的动画。骨骼动画中,每个模型的顶点会被附着到一根骨头(或多根骨头),当骨头运动时,每个附着在骨头的顶点也跟着运动,如图2-1所示,而且骨头自身的运动也会导致其他骨头的运动,这与真实生活中的身体运动原理相似,从而使模型运动起来比较适当合理。
图2-1 模型顶点附着在骨头上
2.骨骼动画的重要性
骨骼动画比传统的顶点动画有很多优点,它在游戏动画中作用重要而明显。
首先,玩家对游戏的最基本要求是直观和真实。而基于骨骼运动的角色在这方面无疑更具优势,在传统的关键帧角色动画中,引擎会在两个位置中间进行线性插值来完成角色的动作。然而在这种情况下,关节实际上并没有旋转,这会使角色旋转运动看起来不太自然。同时对程序员来说,动画过程是否占用较少的存储空间是非常重要的。定点动画需要为每帧动画都存储一组新的顶点运动信息,而骨骼动画存储的只是骨头的旋转和平移信息,以及顶点附着在骨头的信息。这可以节省巨大的存储空间,用来改善游戏的其他地方,比如添加更多的游戏细节,改进游戏的AI来制作出一个更刺激的游戏。
其次,骨骼动画对于那些创建3D游戏动画的设计师来说,也更加轻松。一个好的骨骼动画系统将缩减动画设计师做模型动画的时间,几乎每一个好的动画程序都已使用骨骼动画来确保模型运动的过程。同时,骨骼动画在模型被导入游戏编辑器的使用格式时,动画或特征的失真情况也发生得比较少。
最后,因为骨骼的自由性使得程序员可以随心所欲地实时定位它们,也可以实现在运行时创建动画。凭借这点,能够实现在游戏中控制当身体碰到一个物体时的动作,或从一个斜坡上滑下来。这使角色和模型在游戏环境里面真实交互,极大地提高了游戏的观赏性和趣味性。