论文部分内容阅读
以布料仿真为基础的3D虚拟衣服动画技术,可通过计算机真实再现衣服的动态视觉效果,在纺织、动画、电子商务等方面都有巨大的应用前景,30多年来得到了越来越多研究者的关注。特别的,把3D虚拟衣服动画技术运用到网络服装试衣系统中,顾客就可以通过电脑准确地判断衣服尺寸是否合身,这将彻底革新现有的服装销售模式。近年来,研究者根据动力学原理逐渐采用物理模型进行衣服动画的仿真,可产生更加逼真的服装动态效果,但计算复杂高,目前主流PC机依然很难满足实时性要求,导致3D虚拟衣服动画还没得到广泛实际应用。本文对3D虚拟衣服动画系统的背景和发展现状做了较为详细的阐述,之后对其中的衣服建模方法、动力学方程数值求解算法、碰撞检测、自碰撞检测与响应、实用性动画方案、动力学仿真架构设计、GPU并行化改造等7大关键技术进行深入分析和研究,并提出了相应的8个改进算法和解决方案,有效地加速了系统性能,为3D虚拟衣服动画技术应用到网络服装销售平台做一些探索性工作。具体如下:(1)在衣服建模方面,本文重点研究了如何将Provot质点-弹簧模型用于衣服动画系统中的衣服建模,并提出了自适应的衣服质点更新方式,更加有效地解决了衣服仿真中的过度拉伸现象,使得系统的性能显著提高。(2)在动力学方程求解方面,通过将Verlet数值方法用于在隐式梯形积分法中进行初值预测,本文提出了更加高效的数值求解算法,误差更小、收敛速度更快,可显著提高衣服动画的整体性能。(3)在衣服和人体模特间的碰撞检测方面,针对衣服跟随人体走路过程中产生的大面积碰撞现象,本文提出了局部碰撞影响域(Local Collision Impact Region, LCIR)的概念,可有效地加速碰撞检测的性能。(4)在基于目前主流的层次包围盒树(Bounding Volume Hierarchy, BVH)技术进行碰撞检测方面,本文还提出了关联碰撞检测算法,可有效避免BVH中上层的冗余检测,进一步有效地加速了衣服和人体间的相互碰撞检测过程。(5)在布料、衣服等可变形体的自碰撞检测问题方面,通过将布料、衣服假设成由大量具有一定半径的球体组成,就可基于空间划分法的思想来处理织物的自碰撞检测问题。本文在此基础上提出了二次空间划分算法,可在不损失检测精度的前提下,成倍减少需要检测的潜在碰撞对,大大加速了织物的自碰撞检测过程。(6)在系统的可应用性方面,本文摒弃了传统的虚拟缝合线穿衣方式,结合衣服和人体在位置上的邻近特性,通过调整衣服位置以适应人体姿势,提出了更加易于普通消费者操作的自动穿衣方式,可方便地应用到网络服装销售平台。(7)在系统的设计实现方面,本文基于以上改进算法开发了3D虚拟衣服动画系统,每秒钟可生成10个关键帧动画。我们对不同种类的3D对象和层次包围盒树分别提出了相应的抽象层次模型,使得系统各个功能模块具有更好的可扩展性、可复用性,能够方便地用于仿真更多的其他物体对象、测试新算法。该系统采用C++语言和面向对象技术开发,除了引入OpenGL图形库用于模型渲染外,再没借助其他任何第三方开发包,可方便地移植到Windows、Linux等多种平台。所有的功能模块均由本人独立自行设计并编程,有效代码量(不计注释、空行)超过1万5千行。(8)在GPU硬件加速方面,为了进一步提高衣服动画的实时性能,我们还基于CUDA3.1等GPU硬件并行加速技术提出一种CPU-GPU混合编程架构,充分发挥和利用了CPU、GPU各自的优势,每秒钟可生成100个关键帧动画。通过以上工作,本文的3D虚拟衣服动画技术在仿真实时性、实用性等方面比目前国内外可查阅到的衣服动画技术向前迈进了一步,为衣服仿真等虚拟现实技术应用到更加广泛的领域奠定了基础。本文工作的另一优势是,从衣服模型获取、到穿衣方式,我们自行设计出和实际应用更加接轨的解决方案,为将来3D网络虚拟试衣间的推广普及进一步提高了可行性。随着本文工作的继续深入,相信在不久的将来,我们将能够在网络服装电子商务平台中体验到3D虚拟试衣系统带来的震撼效果。