论文部分内容阅读
布料动画的模拟最初是从可形变体模拟问题中衍生而来,该技术的研究已有二十多年的历史。随着数字娱乐需求的裂变式增长,布料模拟相关技术,尤其是角色服装动画模拟技术正被世界各地的学者作为重点研究的课题。该技术的应用不仅仅局限于数字娱乐领域,还包括国防、医学等领域。角色服装模拟的主要内容是:使用具有物理特性的弹簧计算布料运动,渲染出具有高真实感的服装动画。在这一过程中,不仅需要使用高效的物理方程进行布料模拟,还需要处理服装与人体的碰撞,保证布料与人体不会穿透,最后还要对大规模数据进行渲染。随着应用对效果与效率要求的不断提升,驱动人们对这一问题进行研究。本文的目的是在保证服装模拟效果的前提下,提高整个动画模拟的效率。本文重点研究了提升效率的三个关键技术,主要做了以下工作:第一,设计并改进布料模拟算法。在布料进行物理模拟前,增加了几何预处理阶段。使用以图为数据结构的拓扑型减少弹簧的数量,大幅度提升动画在布料模拟阶段的效率。物理模拟阶段使用Verlet积分,提高模拟的效率与精度。最终实现的角色服装动画获得了较理想的测试帧率,证明了这一阶段算法改进的有效性与合理性。第二,改进碰撞检测算法,提高动画整体效果。针对人体各个部位不同的运动特性,使用分层次的碰撞检测算法,对运动较平缓的部位采用AABB碰撞检测算法,对快速运动的部位采用简单几何体算法。分层次的碰撞检测与碰撞反应能很好适应不同服装和不同人体的快速匹配。在保证效率的情况下,提供优秀的检测结果。第三,改进物理计算与动画渲染,优化算法结构。对碰撞检测采用SIMD并行技术提高算法效率,为大规模布料碰撞检测提供技术空间。针对渲染数据的特殊性,重新构造适于GPU渲染的模型数据结构,并使用GPU对模拟结果与测试结果进行加速渲染。最终实现的角色服装算法能够保证动画达到实时效果,并具有高度的真实感。优化过的数据结构和精简的算法流程,保证了算法整体的一致性与完整性,为后续研究打下基础。