论文部分内容阅读
计算机角色动画在游戏、电影、虚拟现实等诸多领域中广泛应用。随着计算机3D硬件处理能力不断增强,角色动画可以采用硬件加速方法实现,这样使图形显示速度和质量显著提高。本文对实时角色动画做了深入研究,给出了骨骼蒙皮动画和表情动画在可编程图形硬件上的实现。骨骼蒙皮动画在当今3D游戏如CS、魔兽、DOOM3,QUAKE4等中普遍应用,在有些游戏中,骨骼蒙皮动画是不支持硬件加速,如ID公司发布的DOOM3,QUAKE4。支持骨骼蒙皮硬件加速的游戏或游戏引擎只能对特定模型进行加速,当骨骼关节数量超过一定数量时候,硬件加速失效。本论文研究了基于CPU的骨骼蒙皮动画的算法,找出了存在的缺陷,即在确定插值时刻顶点位置时,使用顶点混合技术来计算顶点在插值时刻的位置需要大量的矩阵运算,这就极大占用了CPU的运行时间,降低了骨骼蒙皮动画的实时性。为此,研究了硬件加速算法并给出了实现,渲染速度得到提高。但可以加速的模型受到限制。由于关节的世界矩阵需要存放在GPU常数寄存器上,GPU常数寄存器数量是固定的,当关节数量过多,硬件加速不能正常运行。本论文提出了新的算法,利用单位旋转四元数和偏移向量代替变换矩阵,四元数和向量均占用1个向量常数寄存器,而矩阵需要4个常数寄存器,这样,在同等数量的寄存器上可以存放四元数和向量的个数是矩阵的2倍。这样,解决了一部分模型不能硬件加速的问题。为使模型在引擎中的效果更加真实,所做的角色动画引擎还将凹凸映射和阴影技术应用到角色动画上,并加以实现。与语音匹配的表情动画是渐变技术、网格混合技术、语音技术结合产生的技术。表情动画在当今游戏中使用较少,主要是因为计算量大,耗费内存。为使表情动画运行流畅,这里采用了硬件加速方法,将CPU计算转移到GPU上去,从而提高了运行速度。