论文部分内容阅读
由于以关键帧形式手动编辑计算机角色运动要求对真实人体运动特征有深入的理解,并且编辑过程过于繁琐,而基于物理力学的计算机角色运动合成方法生成的运动数据真实性较低,再加上运动捕捉技术的出现,基于运动捕获的角色运动合成成为计算机角色动画研究领域的一个新的研究方向。又由于运动捕获过程成本高昂,那么对运动捕获数据的编辑问题就成为了一个研究重点。首先介绍了目前常用角色动画制作技术的研究与发展,详细分析了基于运动捕获数据的角色运动合成相关背景知识,主要有虚拟人骨骼模型、运动捕获数据格式以及反向运动学理论。然后从三个方面对运动数据编辑相关问题进行了深入研究与求解,它们分别是:(1)对角色运动编辑中的运动序列连接问题进行了深入分析,采用线性插值及四元数插值两种方法来完成多个运动序列的连接处理。对于人体运动空间位置变化采用线性插值方法处理,而对人体运动姿势的变化的处理则先将运动捕获数据中关节旋转角度变化转换成四元数的形式,然后采用四元数插值算法来实现人体运动姿势的平滑过渡。并且按照待连接两段运动的运动形式分别采用重叠插值和平滑过渡插值方式来完成两段运动数据平滑连接。(2)运动捕获数据的末端关节约束处理,采用一种简化的反向运动学方法来求解决该类问题。在固定人体运动数据中踝关节的运动位置的情况下,成功的求解得到了膝关节的运动空间位置及旋转四元数和腿关节的旋转四元数,从而完成了对一段运动捕获数据中需要进行末端关节约束的关键帧数据的处理,最后采用四元数插值方法在处理了的关键帧数据与其相邻关键帧数据之间进行插值操作,实现了这些关键帧数据之间的平滑过渡。(3)在低维自由度空间中求解基于时空约束的运动编辑问题,以将一段正常的行走运动数据编辑成一段人体低头行走通过障碍为背景,对问题中时空约束进行了合理的量化以及建立了合理的目标函数数学模型,采用自由度空间优化方法成功将约束条件及目标函数进行了降维处理,大大降低了最后优化求解的复杂性。最后求解得到了一段满足约束条件的目标运动数据。最后,基于角色运动合成理论,使用C++、OpenGL、FLTK以及QT开发工具完成了Anima角色动画合成系统的设计与开发,该系统实现了多种方式的角色运动合成。