论文部分内容阅读
虚拟环境是一种逼真的视、听、触觉一体化的计算机生成环境,用户可以借助必要的装备以自然的方式与虚拟环境中的物体进行交互作用、相互影响,从而获得亲临等同真实环境的感受和体验[赵96]。在虚拟环境中嵌入逼真的虚拟人,特别是具有逼真着装效果的虚拟人,可以增强虚拟环境的沉浸感和逼真性。
人体-服装冲突检测是虚拟人服装动画的研究内容之一,快速准确地检测这一冲突有助于生成逼真的人体服装动画。位置冲突(collision,也称碰撞)检测是虚拟现实领域的研究热点和难点,已经相继涌现出许多研究成果。在处理人体-服装冲突检测时,传统的人体服装动画基本上都采用了虚拟环境中冲突检测的研究结果,比如,面向刚体和大规模场景的冲突检测技术。然而,这些方法甚少考虑人体服装动画自身的特点:人体是一个链接的多刚体结构;服装是一个易于变形的柔性体;人体的运动与服装的运动具有一定的相关性等。
本文结合人体服装动画的特点研究了人体-服装的快速冲突检测,实现了一个快速逼真的虚拟人服装动画原型系统。取得的主要成果如下:
第一、提出了皮肤层次树和双层候选集两种新的层次结构,有助于剔除人体-服装间的非冲突图元,从而减小了图元级相交测试的规模。
人体服装模型往往由大量的简单图元(三角形、顶点等)组成,如果对所有的图元对进行相交测试,那将很难满足实时要求。因此,大规模地剔除已知的非冲突的图元,可以大幅提高整个冲突检测的效率。对此,提出了皮肤层次树(Skin-H)和双层候选集两种新的层次结构以加速确定可能的冲突图元。
皮肤层次树根据人体的驱动原理和皮肤变形特点,在预处理阶段将人体的皮肤面片组织成段、柱、扇形三级层次结构,人体运动时根据服装图元的当前位置即可快速检索到可能与其发生冲突的人体图元。
双层候选集是根据人体-服装的运动特点与位置关系,建立的可能发生冲突的图元集合。候选集与服装图元——对应,分为母、子两层,母层候选集(简称候选母集)在预处理阶段建立,其中包含了在整个运动序列中可能与相应服装图元发生冲突的人体图元;子层候选集(简称候选子集)根据人体服装的当前运动位置更新得到,其中包含该时刻可能与相应服装图元发生冲突的人体图元。
皮肤层次树和双层候选集分别通过检索和子集的更新快速确定可能冲突的图元,相比于传统方法,前者避免了模型运动时层次节点的更新操作;后者是一种针对运动物体事先建立的可能与其冲突的候选图元层次结构,这种层次结构不但具有较快的更新速度,而且移植性好,本文还将其应用于服装的自冲突检测并对其进行了推广以处理虚拟环境中的更一般的冲突检测问题。
第二、研究并实现了基于GPU的图元相交测试,提高了图元间相交测试的效率。
图元级的相交测试是冲突检测的核心过程,虽然在前一阶段我们利用层次结构剔除了大量不可能冲突图元,但对于精细模型而言仍然存在数万对图元需要进行几何相交测试以判断是否发生冲突,测试的耗时对整个冲突检测的效率有制约性的影响。
图元间的相交测试是独立可并行的,图形芯片(GPU)相对CPU具有并行计算优势,因此我们研究了如何把待检图元的几何信息组织为GPU可处理的流计算模式,并最终利用自定义的片段程序加速了图元间的相交测试。
第三、基于前两点的研究成果和本实验室的现有技术,实现了一个快速逼真的人体服装动画系统。
基于本文提出的冲突检测和冲突响应方法,以及本实验室已有的人体运动生成和服装物理仿真技术,设计并实现了人体服装动画系统VTryOn。利用该系统,用户可以通过输入人体服装模型和运动数据,获取虚拟人身着虚拟服装的动画效果。