首页> 中国专利> 角色动画中基于扩展位置动力学的蒙皮技术及权重重定位的方法

角色动画中基于扩展位置动力学的蒙皮技术及权重重定位的方法

摘要

本发明涉及角色动画中基于扩展位置动力学的蒙皮技术及权重重定位的方法,针对给定的三角网格,生成对应的四面体网格,针对四面体网格初始化扩展位置动力学(PBD)的拉伸约束、体积约束、自碰撞约束和能量约束,并计算同时优化三角网格和四面体网格的顶点权重;通过线性混合蒙皮技术(LBS)实现三角网格和四面体网格的变形;通过扩展PBD对LBS的变形结果进行优化;用拉普拉斯平滑对三角网格的关节区域进行平滑;分别计算原始网格和新网格的双谐调距离场,并给定两个网格的对应点,定义预测函数;对于新网格上的每个顶点通过预测函数计算其在原始网格上的对应点,得到其权重。本发明实现了一种权重重定位的算法,具有很好的实用性。

著录项

  • 公开/公告号CN106960459A

    专利类型发明专利

  • 公开/公告日2017-07-18

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN201611221233.X

  • 发明设计人 潘俊君;陈莉娟;

    申请日2016-12-26

  • 分类号G06T13/40(20110101);

  • 代理机构11251 北京科迪生专利代理有限责任公司;

  • 代理人杨学明;顾炜

  • 地址 100191 北京市海淀区学院路37号

  • 入库时间 2023-06-19 02:52:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-26

    授权

    授权

  • 2017-08-11

    实质审查的生效 IPC(主分类):G06T13/40 申请日:20161226

    实质审查的生效

  • 2017-07-18

    公开

    公开

说明书

技术领域

本发明涉及角色动画中基于扩展位置动力学的蒙皮技术及权重重定位的方法。

背景技术

角色动画越来越成为人类生活中不可或缺的一部分。随着计算机动画的发展,人们早已不能满足于变形效果差、表现不真实的动画角色带来的体验,如何实现三维角色动画真实自然的表现效果这一话题受到了学术界及工业界的广泛关注。

角色动画的实现过程包含了给定骨骼的绑定和蒙皮这两大重要任务。随着时间的流逝,人们对角色动画的研究不断加深,相继提出了很多关于骨骼绑定、蒙皮的技术。但是没有一种技术是完美的,一种技术具有一方面的优势就会带有另一个方面的劣势。一直以来,人们尝试在角色动画的整个过程的各个阶段寻找更加优良和鲁棒的算法,以期在尽可能短的计算时间下,得到更加令人满意的视觉效果。

在此背景下,本发明在实现角色动画过程中首先对蒙皮技术中最经典的LBS进行改进。由于此技术具有一些不可忽视的“先天缺陷”,比如在变形时关节部位会出现塌陷和糖纸扭曲的现象,本发明用PBD方法对蒙皮结果进行优化,其中重点优化的内容是角色模型的关节部位。另外,在LBS中皮肤权重决定着蒙皮效果的好坏,然而权重的计算通常是一个非常耗时繁琐的过程,单次刷权重(Weight Painting)的结果往往不尽如人意,需反复修正。所以本发明的另一个重点是实现既有权重的重定位,即如何让一个已优化好权重的动画模型,以知识获取的方式提取其权重,并重新定位到新的模型上去,这样就能省去动画师大量的时间和体力劳动。本发明对实现更加真实自然的三维角色动画、减少动画实现过程中的人工操作及耗时具有重要意义。

发明内容

本发明解决的技术问题是:针对角色动画中传统的LBS方法虽然速度快但效果不够真实的问题,提供了基于扩展PBD的蒙皮方法。另外针对动画过程中人为优化网格顶点权重耗时较多的问题,提出了权重重定位的算法,该方法减少了整个动画管线的时间需求。

本发明实现了角色动画中一种利用扩展位置动力学方法对线性混合蒙皮技术进行优化的蒙皮方法,并实现一种权重重定位的算法,具有很好的实用性。

本发明采用的技术方案为:角色动画中基于扩展位置动力学的蒙皮技术与权重重定位的方法,步骤如下:

步骤(1)、根据输入的三角网格,生成三角网格对应的四面体网格,针对四面体网格初始化扩展位置动力学(PBD)模型的拉伸约束、体积约束、自碰撞约束和能量约束,并根据对应的骨骼模型计算并优化三角形网格和四面体网格的顶点权重;

步骤(2)、根据步骤(1)得到的顶点权重,在骨骼运动过程中,用LBS同时计算三角网格和四面体网格顶点变换的位置,实现二者的变形;

步骤(3)、通过迭代的解定义于PBD上的约束计算四面体网格顶点变换的位置,并通过四面体网格与三角网格的映射关系更新三角网格的变形效果;

步骤(4)、对步骤(3)最后更新过变形效果的三角网格的关节区域进行拉普拉斯平滑,得到比较真实自然的三角网格变形效果;

步骤(5)、将步骤(1)中的三角网格作为原始网格,给定另一与此网格拓扑结构相似的三角网格作为新网格,分别计算原始网格和新网格的双谐调距离场,并选定原始网格和新网格二者之间的对应参考点集,将原始网格上的所有顶点重新表示为与原始网格上被选定作为参考的点相关的距离向量形式,并定义预测函数用于权重重定位的计算;

步骤(6)、根据步骤(5)中求得的双谐调距离场,针对新网格上的任意顶点,最小化预测函数求得其在原始网格上的对应点,完成顶点权重从原始网格到新网格的重定位。为减小算法的误差,本发明需要为新网格上的每一个顶点求得多个对应点,然后用插值的方法得到最终的权重,在减少计算量并保证误差尽量小的前提下,本发明拟定求得的对应点的个数为5个。

所述步骤(1)中,初始化扩展位置动力学(PBD)模型的拉伸约束、体积约束、自碰撞约束和能量约束具体为:

对于四面体网格中的每一个小的四面体单元,定义一个能量约束,设P0是四面体P1P2P3P4的重心,则计算公式为:

根据胡克定律,将能量约束定义为:

其中ki是虚拟弹簧PiP0的弹性系数,di是弹簧的静止长度;

通过增加能量约束,使得在网格出现较大程度的变形而引起体积损失过大时,能进一步提高位置动力学方法的体保持能力,从而使网格的变形效果更加真实。

所述步骤(2)中,扩展PBD优化网格变形如下:

在蒙皮阶段先通过LBS实现三角网格和四面体网格的变形,网格上顶点的位置变换的计算公式如下:

其中b是骨骼块数,wi是第i块骨骼对该顶点的影响权重,且B是常量,Wi是第i块骨骼的世界矩阵;

利用重心坐标实现三角网格与四面体网格的映射,对三角网格上的每一个顶点P,它与其对应四面体的四个顶点P1,P2,P3,P4的关系计算公式如下:

其中wi为点P对应于Pi的权重;

通过扩展PBD对LBS变形效果的优化,将网格变形引起的体积损失控制在期望范围中,并消除网格自交叉问题。

所述步骤(5)中,计算网格的双谐调距离场的流程为:

第一步,分别计算新网格M和原始网格N的双调和距离场;

第二步,给定一个对应点集(xi,yi)∈M×N,i=1,…,k,k为对应点对的对数;

第三步,对于任一点x∈M,将其表示为与已知对应点的距离向量:

相应的,对于任意一点y∈N,也将其表示为:

第四步,定义预测函数:

对于给定的x,使得预测函数取最小值的y即为x的对应点x′,为减小误差,需要为x另外找到四个使得预测函数值相对最小的点y1,y2,y3,y4,通过插值的方法求得x最终的权重:

其中w为权重向量,d(.,.)为两点之间的双调和距离。

权重重定位算法的实现给出了一种获取网格权重的新途径,避免了权重优化耗时的人工操作,将所述的步骤(1)中优化权重的这一过程省略。

本发明的原理在于:

(1)传统的LBS技术算法简单,速度快,但变形效果因其算法本身原因存在不可避免的明显缺陷,本发明针对其结果运用扩展的PBD方法进行优化,保持了在蒙皮第一阶段的速度优势,同时修正了在蒙皮第一阶段出现的缺陷,整个算法在效率和效果之间达到了比较好的平衡。

(2)位置动力学方法用于网格变形具有很好的体保持的优点,利用四面体网格与三角网格的映射关系,通过四面体网格顶点位置的更新间接实现三角网格顶点位置的更新,达到实现三角网格变形过程中的体保持的目的。同时对传统位置动力学方法的扩展进一步强化其体保持的优点。

(3)针对自动计算的网格权重,可能需要大量的人力进行微小细节的修正,不仅增加了时间的需求,而且不能保证结果的正确性。自动的权重重定位方法可以减少权重计算这一环节的时间需求,从而减少整个算法的时间需求,提高效率。

(4)权重重定位算法改变了传统的获取网格顶点权重的方法,通过网格匹配得到新网格中顶点在初始网格中的对应点,并且采用为每一个顶点寻找五个对应点再通过插值的方式得到其权重的方法,保证了权重重定位结果的正确性,具有很好的全局性和鲁棒性。

本发明与现有技术相比的优点在于:

(1)本发明提出的扩展PBD模型,在原有方法的基础上增加能量约束,能更好的实现三角网格变形中的体保持。

(2)本发明采用双谐调距离作为权重重定位方法的基础,其具有很好的全局性等优点使得权重重定位的方法具有可行性。

附图说明

图1为本发明方法的处理流程图;

图2为输入的表面网格示意图;

图3为基于表面网格生成的四面体网格示意图;

图4为能量约束示意图;

图5为基于扩展PBD的LBS过程示意图;

图6为单源点双谐调距离场示意图;

图7为权重重定位结果示意图;

图8为人体模型蒙皮效果示意图;

图9为狗模型蒙皮效果示意图;

图10为权重重定位基于玩偶模型的蒙皮效果对比示意图;

图11为权重重定位基于穿上甲模型的蒙皮效果对比示意图。

具体实施方式

图1给出了角色动画中基于扩展位置动力学的蒙皮技术与权重重定位方法的处理流程,下面结合其他附图及具体实施方式进一步说明本发明。

本发明提供一种角色动画中基于扩展位置动力学的蒙皮技术与权重重定位的方法,主要步骤介绍如下:

1、网格的初始化

该方法根据输入的三角形网格生成其对应的四面体网格,完成四面体网格中各种约束的定义以及计算三角网格与四面体网格中顶点的权重。最初的输入为三角形网格文件,以obj的格式存储,如图2所示。对于三角网格,利用软件PhysXViewer生成其对应的四面体网格,如图3所示。针对四面体网格除了为其定义常规的拉伸约束、体积约束以及碰撞约束,还为其每一个四面体单元定义一个能量约束,如图4所示,设P0是四面体P1P2P3P4的重心,则有:

其中mi为第i个顶点的质量,在本发明中为1。

根据胡克定律,将能量约束定义为:

其中ki是虚拟弹簧PiP0的弹性系数,不同的k值对实验的效果影响不同,在本发明中ki取相同值0.2。di是弹簧的静止长度。

采用距离法来计算网格顶点基于骨骼的权重。首先将网格分成分别对应于各骨骼的若干子网格,对于顶点Pi其相对于骨骼bj的权重计算公式为:

其中di,j为Pi到骨骼bj的距离,ni为顶点Pi相关联的骨骼数。

2、基于扩展PBD的LBS

网格变形的第一阶段利用LBS技术实现对三角网格和四面体网格的变形,第二阶段利用扩展的PBD方法实现对三角网格变形的优化,如图5所示,为本发明所述蒙皮技术的两个阶段。(a)为输入网格的初始状态,将左手下部沿肘部关节旋转150度利用LBS变形之后得到(b),如圆圈中部分所示,网格出现扭曲体积损失较大,接着利用扩展PBD进一步变形三角网格进行优化得到图(c)。

(1)线性混合蒙皮算法:线性混合蒙皮算法通过矩阵变换实现网格顶点位置的更新。计算公式为:

其中b是骨骼块数,wi是第i块骨骼对该顶点的影响权重,且B是骨骼的绑定矩阵,为常量,Wi是第i块骨骼的世界矩阵。

在骨骼运动过程中,同时对三角网格和四面体网格利用LBS技术更新顶点的位置。

(2)扩展PBD优化三角网格变形效果:通过迭代的解定义于四面体网格的所有约束,更新其顶点的位置,然后利用三角网格与四面体网格之间的映射关系更新三角网格顶点的位置,计算公式为:

其中wi为点P对应于Pi的权重。

为进一步完善三角网格变形结果,利用拉普拉斯平滑对网格的关节区域进行平滑,计算公式为:

其中为顶点Pi环形领域的中心点,ki为平滑强度。经过平滑之后三角网格的变形结果基本达到预期的效果,如图5中(c)所示,圆圈中部分变形真实自然,网格变形所引起的体积损失控制在肉眼不可见范围之内。

3、权重重定位

LBS的变形效果很大程度上依赖于网格顶点权重的计算结果,为了减小权重计算对时间和人力的需求,本发明给出了一种权重重定位的算法。

本发明采用双谐调距离场,计算网格上任意两点之间的双谐调距离,通过最小化预测函数实现网格匹配,完成权重重定位;具体为:

第一步,分别计算新网格M和原始网格N的双调和距离场,如图6所示为给定单一源点的双谐调距离场正面和背面示意图,其中源点为肚脐处,图中越白的点表示其距离源点越近,越黑的点表示其距离源点越远;

第二步,给定一个对应点集(xi,yi)∈M×N,i=1,…,k,k为对应点对的对数;

第三步,对于任一点x∈M,将其表示为与已知对应点的距离向量:

相应的,对于任意一点y∈N,也将其表示为:

第四步,定义预测函数:

对于给定的x,使得预测函数取最小值的y即为x的对应点x′。在本发明中,为减小误差,需要为x另外找到四个使得预测函数值相对最小的点y1,y2,y3,y4,通过插值的方法求得x最终的权重:

其中w为权重向量,中的d(.,.)与公式(5)(6)(7)中相同,均为两点之间的双调和距离。

如图7中左图所示,人体模型中小腿灰白色部分表示该块小腿骨骼的影响范围,颜色的深浅表示影响程度的大小,将该模型权重重定位到穿山甲模型中得到图7中右图中的效果,其对应小腿骨骼的影响范围及对不同顶点的影响程度与左边人体模型相似,说明了该权重转移算法的正确性。

实验使用的设备为NVIDIA GeForce GTX 630、Intel(R)Core(TM)i7-4790CPU(3.60GHz,8cores)和8GB RAM,运行在Windows 7 64位系统上。

实验模型有四种:人体,狗,玩偶,穿山甲。实验的性能如表1所示。图8、图9为蒙皮实验的效果图,对人体模型和狗模型分别应用本发明中所述的基于扩展PBD的蒙皮技术进行变形,得到五种不同姿势的变形结果,并据此可以看出该蒙皮算法能够针对不同类型的对象得到比较真实自然的变形效果,具有很好的鲁棒性。图10、图11分别为将人体模型的权重重定位到玩偶和穿山甲模型,然后将重定位得到的权重用于基于扩展PBD的LBS变形得到的效果图。对于每一幅图中,上面的变形效果所用的权重来源于距离法计算所得到,下面的变形效果所用的权重来源于人体模型重定位得到,针对同一种姿势二者的效果相当。

表1不同模型的性能表现

表1中,运行时间为从模型输入到变形结果输出整个过程程序所运行的时间。从表中可以看出,模型顶点数越多,其对应四面体网格的四面体单元越多,在PBD迭代过程需要解的约束越多,导致整个过程运行时间越多。

总之,本发明实现了一种利用扩展位置动力学方法对线性混合蒙皮技术进行优化的蒙皮方法,并实现一种权重重定位的算法,具有很好的实用性。

本发明未详细阐述的技术内容属于本领域技术人员的公知技术。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号