论文部分内容阅读
服装绘制已经广泛应用于游戏动画、影视娱乐、虚拟试衣等领域。流畅的虚拟试衣一直是人们的梦想,由于服装形状复杂性、柔软易发生形变,服装形态的不可预测,因此,实时有效地绘制真实服装运动效果具有很大的挑战。为了满足用户对真实感和实时性的要求,需要创建高效的服装约束模型、提高服装运动过程中碰撞检测的精确度以及碰撞响应过程中的速度。为了达到流畅的虚拟试衣效果,服装模型的绘制变得尤为重要。服装模型不同于刚体,在每帧动态模拟过程中,每个网格质点的位置和速度都会产生变化。首先,为丰富虚拟试衣中的服装种类,需要完成对不同种类服装的快速建模。使用MD(MarvelousDesigner)根据服装尺寸比例设计二维服装面片,对面片的节点进行缝制,构建三维服装模型。使用Maya对服装模型进行线性混合蒙皮操作,创建可视化蒙皮网格,以完成骨骼动画对人体和服装模型的绑定和驱动。其次,约束绘制主要作用是解决服装模型的随动和多向拉伸的问题。随动问题:添加蒙皮约束,使用约束因子限制服装质点的运动范围,防止服装质点与蒙皮位置偏离过多,保证人体运动时服装的精准随动;多向拉伸问题:引入距离约束方程,使用基于位置动力学约束投影方法计算,解决自由质点间横向过度拉伸问题,并结合LRA(Long Range Attachments)模型,解决自由质点的纵向过度拉伸问题。然后,碰撞绘制主要包含碰撞检测与响应,其作用主要在于防止服装模型的穿透和抖动,并且产生真实自然的服装褶皱。为解决服装绘制过程中多质点连续碰撞造成的穿透现象,构造脉冲函数计算服装质点缓冲速度。采用Gauss-Seidel迭代法串行计算蒙皮约束方程和距离约束方程,以生成真实自然的服装褶皱。使用Jacobi迭代法并行计算碰撞约束,解决基于位置动力学中的抖动问题。通过解算器计算约束和碰撞算法,实时地更新服装质点的位置和速度。最后,借助Unity3D开发平台,综合使用C#、C++以及JavaScript等语言,设计并完成对比实验,结果表明:本文对虚拟试衣中服装约束和碰撞实时绘制算法做出了有益的探索与改进。