我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>行业资讯>行业知识

基于角色几何碰撞体估计的实时服装仿真(2)

文章来源:第三维度 作者: 发布时间:2012年03月30日 点击数: 字号:

    来源:第三维度
    作者:孙守迁+, 徐爱国, 黄琦, 王鑫
    单位:浙江大学计算机科学与技术学院

    3 三维服装仿真

    三维仿真环境下,虚拟角色穿着服装完成连续动作序列,实现这一过程除了衣片自身的物理模拟以外,还需要两个方面的工作:一是骨架驱动的角色蒙皮动画,这里,我们选用Kavan[17]的骨骼混合算法对骨架和皮肤网格顶点进行关联,运行时的动作序列信息来源于运动捕获技术;另一个是处理角色与服装的碰撞.为了避免网格基元级别的相交测试,我们根据蒙皮动画的特性,在预处理阶段对角色模型用简单碰撞体进行几何估计.在动态仿真过程中,碰撞体保证对模型网格的体包含并代替后者完成与服装之间的碰撞处理.

    3.1 角色模型的预处理

    实现角色动画要为其网格模型生成骨架,图6(a)中的骨架是由骨骼、关节以及末端效应器构成的一个层次结构,引用文献[17]中的算法思想,我们将角色模型划分为两类不同的区域,如图6(b)所示.刚性区域(浅色)的顶点随骨骼作刚性变换,图6(c)和图6(d)分别为各骨骼段关联的刚性顶点网格以及相应计算的简化凸包碰撞体.柔性区域(灰色到黑色权重过渡)的顶点与关节关联,通过局部空间旋转权重插值产生角色动画时皮肤的光滑变形.我们以关节位置为球心计算关联顶点的膨胀包围球,最终得到一个由替代碰撞体估计的复合角色模型,如图6(e)所示,它包含14个简化凸包和14个球体.

    图6(f)为加载运动信息后碰撞体跟随骨架平移旋转变换的状态,与文献[11,12]相比,本文方法的整体拟合效果更好.在仿真过程中,碰撞体代替角色完成与衣片之间的碰撞检测和响应,有效避免了耗时的网格基元相交测试.对于简化凸包,在骨骼局部子空间可以预计算简化凸包OBB,上、下平面网格以及外围映射体,由于运行时刚性网格没有局部形变,因此,这些已有的数据结构并不需要动态更新.衣片与球体的碰撞处理更为简单,只要将质点变换到关节局部子空间,随后的碰撞检测和响应方式见第1.3节.

角色的碰撞体估计
Fig.6 Approximation of character with colliding objects
图6 角色的碰撞体估计

    3.2 质点几何约束

    角色带动服装衣片并非仅仅取决于碰撞,例如腰间的短裙,有时需要通过设定质点的几何约束来快速模拟这类特殊效果.在本文的系统中,实现这一机制非常简单,只要设置约束质点的逆质量为0,然后将其几何关联到相应的某个碰撞体即可.如图7(a)所示,短裙网格上边缘质点被定义为约束质点并与腹部碰撞球体建立几何关联.在仿真过程中,这些质点仅随碰撞体进行刚性变换.

    设置几何约束的另一个目的是提高系统碰撞处理的稳定性.为了简化计算,我们只是在角色每一帧移动后检测质点相对于碰撞体的穿透,虽然采用相对模拟可以有效消除角色骨架根节点平移的影响,但是大角度关节旋转造成的不稳定性依然存在,为此可以引入质点几何约束.在图7(b)中,短袖衫贴近角色模型肩膀和上臂的部分定义了有限几个约束质点.在模拟内力的弹簧迭代校正过程中,非约束质点受约束质点带动调整位置,而后再进行碰撞检测和响应.与文献[11]类似,人为地引入质点约束会造成物理模拟中的一些几何效应,但本文约束点的数目通常很少,而且尽量考虑与角色模型贴近的部位,因此对整体仿真效果影响不大.

基于角色几何碰撞体估计的实时服装仿真(2)
Fig.7 Geometrical constraints of mass point
图7 质点几何约束

    3.3 实时仿真流程

    为了实现服装仿真,需要完成衣片二维设计、平面网格三角化以及三维静态碰撞缝合等一系列准备工作.本文主要侧重于讨论碰撞处理问题,这里只结合角色动画给出实时仿真部分一个模拟步骤的流程描述:

    (1) 计算角色动画.忽略骨架根节点平移,仅由关节和骨骼旋转量更新皮肤网格顶点以及碰撞体的位置和朝向,如果存在几何约束质点则随关联碰撞体进行刚性变换.

    (2) 服装的物理模拟.计算每个衣片质点的外力FExternal,用Verlet积分更新位置,再以当前系统状态执行弹簧迭代校正过程3次来模拟内力效应.

    (3) 碰撞检测与响应.将衣片质点的当前位置变换到椭球或简化凸包定义的局部坐标空间进行穿透测试,如果发生穿透则计算碰撞响应点,并将其作为绝对约束再次更新质点位置.

    (4) 对角色模型和服装同时施加骨架根节点的平移变换,完成单步模拟并绘制动画.

    4 实验结果与分析

    我们用VC++和OpenGL在Windows2000下编程实现了本文的仿真系统.下面是验证碰撞体估计方法有效性的一些例子,其中,服装仿真的测试环境为2.4G的Pentium 4 PC,512M内存,128M Geforce7300 GT显示卡.

    图8是以一块方形布料对静止模型实例进行测试的结果.图8(a)原始模型包含508个三角形,网格平均边长为0.084.图8(b)是以QuickHull算法生成的凸包,有224个面,采用本文的约束简化方法得到的膨胀简化凸包如图8(c)所示,三角形数目减少到116个,厚度阈值取0.005.预计算外围映射圆柱的可视化结果如图8(d)所示,角度参数θ=π/6,轴向间隔数为8,共得到96个映射单元,对应相关三角形链表的最大长度为8,平均长度为3.图8(e)和图8(f)分别为一块布料悬垂碰撞测试的网格和面绘制效果,其中,布料网格包含2 500个粒子,5 000个三角形.系统可以达到68帧/秒的仿真速率,其中碰撞处理占总模拟时间的17%.

例子模型的凸包计算与碰撞测试
(a)                                    (b)                                     (c)

例子模型的凸包计算与碰撞测试
(d)                                     (e)                                      (f)
Fig.8 Computing convex hull of the example model and colliding test
图8 例子模型的凸包计算与碰撞测试

    图9中角色模型、短袖衫以及短裙的网格三角形数目分别为2 840,2 908和3 264,顶点数目分别为 1 425,1 503和1 687.图9(a)~图9(c)展示了从衣片放置到微重力下碰撞缝合再到自然状态下服装悬垂的过程,碰撞体代替角色模型完成与衣片网格之间的碰撞处理如图9(d)所示.图9(e)和图9(f)分别为动态仿真中截取的两个关键帧画面,模拟时间步长取0.033s,与角色动画数据保持同步,系统稳定帧速率达到33FPS.

角色穿着短袖衫和短裙的仿真结果
(a)                             (b)                                     (c)

角色穿着短袖衫和短裙的仿真结果
(d)                                      (e)                                     (f)
Fig.9 Simulation results of character dressed in T-shirt and short skirt
图9 角色穿着短袖衫和短裙的仿真结果

    图10中长裙的网格三角形数目为4 338,顶点数目为2 235,图10(a)~图10(c)是同一角色动画姿态下衣片网格、估计碰撞体(深色网格为简化凸包)以及衣片面的绘制效果,图10(d)~图10(f)为动态仿真中截取的3个关键帧画面,模拟时间步长取0.33s,帧速率接近45FPS.

角色穿着长裙的实时仿真动画
(a)                             (b)                                     (c)

角色穿着长裙的实时仿真动画
(d)                                      (e)                                     (f)
Fig.10 Real-Time simulation animations of character dressed in a long skirt
图10 角色穿着长裙的实时仿真动画

    由以上实验结果可以看出,凸包对原始模型具有良好的拟合特性.凸包约束简化减少了测试基元数目,而映射球和映射圆柱则侧重于空间局部性开发,两者共同作用降低了碰撞处理的计算复杂度.结合骨架驱动的皮肤网格动画,本文的碰撞体估计方法有效地避免了衣片与角色模型之间的相互穿透,并且系统保持了较高的模拟帧速率.

    5 结论与展望

    针对三维服装物理仿真中的碰撞处理问题,本文提出了一种基于角色模型碰撞体估计的新方法.首先,碰撞体的计算充分考虑了蒙皮动画技术的特性,与已有方法相比,其拟合能力更强.其次,为了快速判断质点穿透和求解碰撞响应信息,该方法引入约束凸包简化和预计算外围映射体,有效降低了运行时包含和求交测试的计算复杂度.最后,质点几何约束在实现特定服饰模拟效果的同时提高了碰撞处理的稳定性,结合Verlet数值积分器,系统可以选取较大的模拟时间步长并获得较高的实时仿真速率.

    本文给出的方法适用于一些交互性要求较高的模拟环境,例如,三维服装CAD中的虚拟模特动态着装展示以及视频游戏动画等等,但对于影视特效制作,前面提到的精确碰撞方法是更为合适的选择.本文的后续研究工作可以考虑在如下两个方面展开:(1) 进一步开发仿真系统内在的空间局部性和时间连贯性,提高相关部分的算法效率;(2) 实现衣片的快速自碰撞处理,为此,可以借鉴文献[18]中的策略,将任意两个衣片质点之间的最短距离作为一个相对约束条件加入到现有系统中.

    参考文献:

    [1] Volino P, Magnenat-Thalmann N. Implementing fast cloth simulation with collision response. In: Thalmann NM, ed. Proc. of the Int’l Conf. on Computer Graphics. Los Alamitos: IEEE Computer Society Press, 2000. 257-266.

    [2] Mezger J, Kimmerle S, Etzmuβ O. Hierarchical techniques in cloth detection for cloth animation. Journal of WSCG, 2003,11(1): 322-329.

    [3] Bridson R, Fedkiw R, Anderson J. Robust treatment for collisions, contact and friction for cloth animation. ACM Trans. on Graphics, 2002,21(3):594-603.

    [4] Gu ED, Xu DQ, Wang JB, Chen C. Dynamic cloth motion simulation with a novel fast collision detection. Journal of Computer-Aided Design & Computer Graphics, 2002,14(11):1036-1040 (in Chinese with English abstract).

    [5] Chen W, Xu NP. Detection and amend of collision between cloth and rigid body in realistic cloth simulation. Journal of Software, 2001,12(12):1874-1880 (in Chinese with English abstract).

    [6] Zhang DL, Yuen MMF. Collision detection for clothed human animation. In: Barsky B, Shinagawa Y, Wang W, eds. Proc. of the Pacific Graphics. Hong Kong: IEEE Computer Society Press, 2000. 328-337.

    [7] Choi K, Ko H. Stable but responsive cloth. ACM Trans. on Graphics, 2002,21(3):604-611.

    [8] Teschner M, Heidelberger B, Mueller M, Pomeranets D, Gross M. Optimized spatial hashing for collision detection of deformable objects. In: Ertl T, ed. Proc. of the VMV 2003. München: Aka GmbH, 2003. 47-54.

    [9] Vassilev T, Spanlang B, Chrysanthou Y. Fast cloth animation on walking avatars. Computer Graphics Forum, 2001,20(3):260-267.

    [10] Heidelberger B, Teschner M, Gross M. Detection of collisions and self-collisions using image-space techniques. Journal of WSCG, 2004,12(3):145-152.

    [11] Rudomin I, Castillo J. Real-Time clothing: Geometry and physics. In: Proc. of the WSCG (Posters). 2002. 45-48.

    [12] Oh SW, Kim HS, Wohn KY. Collision handling for interactive garment simulation. In: Proc. of the 8th Int’l Conf. on Virtual Systems & Multimedia (VSMM 2002). 2002. 239-251.

    [13] Provot X. Deformation constraints in a mass-spring model to describe rigid cloth behavior. In: Wayne A, ed. Proc. of the Graphics Interface Conf. 1995. Vancouver: Canadian Human-Computer Communications Society, 1995. 147-154.

    [14] Barber CB, Dobkin DP, Huhdanpaa HT. The quickhull algorithm for convex hulls. ACM Trans. on Mathematical Software, 1996, 22(4):469-483.

    [15] Gottschalk S, Lin MC, Manocha D. OBBTree: A hierarchical structure for rapid interference detection. In: Rushmeier H, ed. Proc. of the SIGGRAPH’96. New Orleans: ACM SIGGRAPH, 1996. 171-180.

    [16] Kirkpatrick D. Optimal search in planar subdiVisions. SIAM Journal on Computing, 1983,12(1):28-35.

    [17] Kavan L, ?ára J. Real time skin deformation with bones blending. In: Proc. of the WSCG (Short Papers). Pilsen: University of West Bohemia, 2003. 69-74.

    [18] Fuhrmann A, Gross C, Luckas V. Interactive animation of cloth including self collision detection. Journal of WSCG, 2003,11(1): 141-148.

    附中文参考文献:

    [4] 顾尔丹,许端清,王靖滨,陈纯.结合一种面-面碰撞检测算法的服装动态模拟.计算机辅助设计与图形学学报,2002,14(11): 1036-1040.

    [5] 陈旿,徐乃平.真实感布仿真中布与刚体的碰撞检测及修正.软件学报,2001,12(12):1874-1880.

    作者简介

    孙守迁(1963-),男,浙江温州人,博士,教授,CCF高级会员,主要研究领域为计算机辅助工业设计与概念设计,网络化媒体设计,虚拟人技术.

    黄琦(1979-),男,博士,讲师,主要研究领域为计算机辅助工业设计,模式识别,人工智能.

    徐爱国(1975-),男,博士,主要研究领域为计算机图形学,计算机动画,虚拟人技术.

    王鑫(1984-),男,博士生,主要研究领域为计算机图形学,虚拟现实技术.

  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料