第一部分:角色动画的类型
1.赛璐珞动画和精灵动画
赛璐珞动画是传统动画的一个种类。赛璐璐是透明塑料片,上面可以绘画。把一连串含动画的赛璐珞放置于静态手绘背景之上,就能产生动画,而无需不断重复地绘制静态背景。
赛璐珞动画的电子版本是称为精灵动画(sprite)的技术。精灵其实就是一张细小的位图,叠在全屏的背景之上而不会扰乱背景。
2.刚性层阶式动画
自三维图形技术来临,精灵技术开始失去其吸引力。实现三维角色动画最初的方法称为刚性层阶式动画(rigid-hierarchical animation)。角色由一堆刚性部分建模而成,这些刚性部分以层阶形式彼此约束。
刚性层阶技术最大的问题在于,在关节位置会产生明显的裂缝。
3.逐顶点动画
逐顶点动画(per-vertex animation)是一种蛮力技术。存储每个顶点的动作数据,在运行时告诉引擎如何移动顶点,是一种数据密集的技术,很少用于实时游戏。
4.变形目标动画
变形目标动画(morph target animation)常用于实时引擎。仅需要制作相对少量的固定姿势,在运行时把这些姿势线性插值混合,就能生成动画。
变形目标技术常用于面部动画(facial aniamtion),因为人脸具有非常复杂的解剖结构,由大约50组肌肉驱动。用变形目标技术能很容易地进行模拟。
CRE:Unity中的变形目标可用SkinnedMeshRenderer组件的BlendShape属性控制。
5.蒙皮动画
蒙皮动画(skinned animation)兼具了每顶点动画/变形目标的顶点控制能力以及刚性层阶动画的高效性能/低内存使用量优点。
蒙皮动画能产生相当接近真实的皮肤和衣服移动。蒙皮动画在电影和游戏都有应用,并且仍然式目前最流行的技术。
在蒙皮动画中,骨骼(skeleton)是由刚性的骨头(bone)组成的,这和刚性层阶动画一样,但是不会渲染。称为皮肤(skin)的圆滑三角形网格会绑定在骨骼上,其顶点会追逐关节(joint)的移动。
蒙皮网格上的每个顶点可以按权重绑定至多个关节,因此当关节移动时,蒙皮网格会自然拉伸。
补充:把动画方法看作数据压缩技术
权衡各种动画技术时,把它们看作压缩方法会有所帮助。需要同时权衡视觉瑕疵可接受性和效能/数据量。
(END)