CN101719284B - 一种基于层次模型的虚拟人皮肤物理变形方法 - Google Patents

一种基于层次模型的虚拟人皮肤物理变形方法 Download PDF

Info

Publication number
CN101719284B
CN101719284B CN2009102435327A CN200910243532A CN101719284B CN 101719284 B CN101719284 B CN 101719284B CN 2009102435327 A CN2009102435327 A CN 2009102435327A CN 200910243532 A CN200910243532 A CN 200910243532A CN 101719284 B CN101719284 B CN 101719284B
Authority
CN
China
Prior art keywords
layer model
physical
model
summit
physical layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009102435327A
Other languages
English (en)
Other versions
CN101719284A (zh
Inventor
梁晓辉
赵沁平
沈旭昆
曹远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN2009102435327A priority Critical patent/CN101719284B/zh
Publication of CN101719284A publication Critical patent/CN101719284A/zh
Application granted granted Critical
Publication of CN101719284B publication Critical patent/CN101719284B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

一种基于层次模型的虚拟人皮肤物理变形方法,步骤为:(1)构造层次模型:首先处理原始模型生成用于控制运动的骨骼层模型、用于物理变形的物理层模型和用于最终绘制的表面层模型,并建立骨骼层与物理层、物理层与表面层的映射关系;(2)物理变形:层次模型构造完成后,依据用户设定的运动方式,骨骼层产生运动趋势并带动物理层进行物理变形;(3)驱动皮肤:在物理变形过程中,按照物理层和表面层的映射关系,驱动表面层随之运动和变化,生成皮肤变形的动态效果。本发明在保留物理变形真实感优势的基础上,结合层次模型数据组织灵活的特点,分别构建了用于虚拟人皮肤绘制的精细网格和用于变形控制及物理计算的简化网格,在保证虚拟人精确变形过程与真实绘制效果的前提下,减少了计算开销。

Description

一种基于层次模型的虚拟人皮肤物理变形方法
技术领域
本发明属于计算机虚拟现实和计算机图形学技术领域,特别是涉及虚拟人体仿真、虚拟人运动模拟技术中的人体皮肤变形方法。
背景技术
随着计算机软硬件技术的不断发展,数据获取及表现的能力越来越强。尤其是虚拟人仿真与模拟,在影视娱乐、虚拟现实、远程医疗等诸多领域得到广泛应用。但如何更真实地呈现虚拟人形态并提高实时性以拓宽应用范围,仍需要深入研究以期满足不同领域的需求。其中,人体皮肤作为虚拟人最外在的表现形式,得到了更多的关注。人体皮肤变形技术一般可分为基于表面模型的皮肤变形和基于层次模型的皮肤变形。基于表面模型的皮肤变形技术计算过程简单、运算速度较快,但视觉、物理真实感比较差;基于层次模型的皮肤变形技术能够很好地和人体解剖学、弹性力学、生物力学等相关理论结合,通过加入生物模型或物理模型,可显著提高变形效果的真实感,但往往存在计算量庞大、不能满足实时要求的问题。因此,如何更好地平衡真实感和实时性,成为了人体皮肤变形重点研究的问题之一。
基于表面模型的皮肤变形技术主要采用了几何变形理论。比如:基本的刚性变形法采用局部皮肤对应局部骨骼的方式,以驱动局部骨骼的运动来产生皮肤变形效果;局部表面算子法将人体皮肤定义为多个连续函数,每个函数对应一块局部皮肤,以此保证各块局部皮肤之间的连续性;蒙皮法将皮肤网格顶点和多段骨骼相关联,每个皮肤顶点将受到多段骨骼的影响,经过一定的插值策略得到更加全面而准确的变形结果;截面轮廓线变形法将皮肤拟合成一系列椭圆形截面,通过处理数量远小于顶点的椭圆截面来快速得到变形结果。基于表面的皮肤变形技术本质上是种简化模型,忽略了人体内部组织,其主要存在问题是变形效果较差,很难准确刻画大幅度变形、关节皮肤细节变化等,虽然运行速度快但需要复杂的前期设计,并且变形过程需要一定的人为控制。
基于层次模型的皮肤变形技术即是针对人体的真实结构,参考人体解剖学理论,建立多层次模型以对应人体不同组织,并设计各层次之间的映射关系,变形过程中由里至外逐层分析、递进处理,最终驱动表面皮肤获得变形效果。基于层次模型的皮肤变形技术主要研究内容是如何构建各层次的模型结构和各层次模型之间的映射关系及驱动方法。从实施方式来看,可大致分为基于几何的方法和基于物理的方法。基于几何的方法关注于人体组织的几何形状,构建各层次几何模型并运用几何约束关系驱动皮肤变形;基于物理的方法考虑了人体组织的物理属性,使用质点弹簧、有限元等物理模型构建各层次模型,进一步提高了变形效果的真实感。基于层次模型的皮肤变形技术的难点在于模型本身的复杂度、物理属性的参数设置、计算量和运算时间的控制等。
发明内容
本发明要解决的技术问题:克服现有技术的不足,综合运用几何方法和物理方法,提供一种基于层次模型的虚拟人皮肤物理变形方法,在保留物理变形真实感优势的基础上,结合层次模型数据组织灵活的特点,分别构建了用于虚拟人皮肤绘制的精细网格和用于变形控制及物理计算的简化网格,在保证虚拟人精确变形过程与真实绘制效果的前提下,极大减少计算开销,形成了一种有效的虚拟人皮肤变形方法。
本发明采用的技术方案:一种基于层次模型的虚拟人皮肤物理变形方法,其特征在于步骤如下:
(1)构造层次模型
进行虚拟人层次模型的构造,形成用于控制运动的骨骼层模型、用于物理变形的物理层模型和用于最终绘制的表面层模型,并建立骨骼层模型与物理层模型、物理层模型与表面层模型的映射关系;
(2)物理变形
依据用户设定的运动方式,骨骼层模型产生运动趋势并带动物理层模型进行物理变形;
(3)驱动皮肤
在物理变形过程中,按照物理层模型和表面层模型的映射关系,驱动表面层模型随之运动和变化,生成变形的动态效果。
所述步骤(1)中构造层次模型的步骤如下:
(1.1)通过三维扫描仪获取并生成人体表面三维网格数据,所述网格数据即为用于绘制的表面层模型;
(1.2)确定表面层中各关节截面并获取截面中心点;两两直线连接相邻的关节截面中心点,形成的线段即为骨骼;若干相连骨骼构成骨骼层模型;
(1.3)对表面层模型采取半边折叠化简操作,得到简化网格;对简化网格每条边设置面弹簧参数;对简化网格每个顶点设置物理参数;连接顶点和该顶点在骨骼上的垂直映射点,设置体弹簧参数;中间层顶点、面弹簧、体弹簧所构成的质点弹簧模型,即为物理层模型。
所述步骤(1)中建立各层模型之间映射关系的步骤如下:
(1.1)建立骨骼层模型与物理层模型之间的映射关系:通过体弹簧建立物理映射,体弹簧的弹力作用将骨骼层模型的运动状态传递到物理层模型,驱动物理层模型的顶点发生位移;
(1.2)建立物理层模型与表面层模型之间的映射关系:物理层模型顶点的位移变化量由体弹簧和面弹簧的弹力作用共同确定;物理层模型的顶点为表面层模型顶点的一个子集,表面层模型其余顶点由临近的若干物理层模型顶点位移向量插值得到。
所述步骤(1.3)中得到简化网格的步骤如下:
(1.3.1)读入表面层模型,计算每个顶点的误差矩阵和误差值,将顶点按误差值从小到大排序;
(1.3.2)依次取出每个顶点,计算其折叠顶点,传递折叠误差到相关三角形中需要改变的顶点上,执行半边折叠操作,并保存折叠信息;
(1.3.3)判断折叠有效性,继续进行折叠操作,直到顶点序列为空或达到初始阈值。
所述步骤(2)中物理变形的步骤如下:
(2.1)接收用户设定的虚拟人运动指令;
(2.2)依据用户运动指令,骨骼层模型开始运动,并通过体弹簧向物理层模型顶点施力;
(2.3)物理层模型顶点发生位移变化,面弹簧、体弹簧发生长度变化而产生弹力,再反馈到顶点改变顶点的位置;
(2.4)在达到运动终态前,迭代步骤2.2和步骤2.3;
(2.5)达到运动终态后,弹力计算继续运行,直到物理层模型中各个顶点达到平衡的稳定状态,物理变形结束。
所述步骤(3)中驱动皮肤的步骤如下:
(3.1)表面顶点确定与之邻接的物理层模型顶点,保存距离、方向信息;
(3.2)对邻接的物理层模型中的顶点进行向量插值,得到表面层模型的顶点位移;
(3.3)更新表面层模型顶点位置,进行细节修正。
本发明与现有技术相比的有益效果在于:通过构建层次模型,将物理变形方法和几何变形方法结合起来,发挥出各自的优点,得到运行效率和处理结果的良好平衡;预处理阶段采用了模型化简技术,降低了物理计算的数据量和处理时间,达到了实时性;采用了质点弹簧模型来模拟人体运动,变形过程及结果真实感强;对变形结果进行几何处理,保证皮肤细节的正确呈现。
附图说明
图1为本发明的整体过程示意图;
图2为本发明的物理层网格化简过程示意图;
图3为本发明的半边折叠化简方法示意图;
图4为本发明的虚拟人手臂骨骼关节链模型示意图;
图5为本发明的物理层顶点到表面层顶点的向量插值示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步详细描述:
本发明实施过程包括三个主要步骤:构建层次模型,物理变形,驱动皮肤。如图1所示。
步骤一即构建层次模型,主要分成二个阶段:构建骨骼层和构建物理层。
第一个阶段:构建骨骼层
骨骼层位于表面层内部中轴线处。先通过三维模型编辑软件确定表面层中各关节截面(如肩关节截面、肘关节截面、腕关节截面)并获取截面中心点;再两两直连相邻的关节截面中心点(腕关节和肘关节的截面中心点相连、肘关节和肩关节的截面中心点相连),形成的线段序列即为用于手臂运动驱动和控制的骨骼层模型。
第二个阶段:构建物理层
本发明对表面层几何网格采用半边折叠化简算法,生成用于物理计算的简化网格。半边折叠化简算法的基本思想是:对于一个相邻顶点的有序顶点对(u,v),u被移动到v的位置,原本和u相连的顶点,改变为与v相连。该过程中(u→v)和(v→u)是两个不同的删除操作,要分别估计误差度量值,存储到候选堆中。半边折叠操作过程中,不会产生新的顶点和新的三角形,提供了一种减小模型存储量的化简途径,它适用于本发明的一个重要特点是仅对原始模型的顶点进行子集采样,生成的简化网格顶点均来自原始模型的顶点集,存储和运算开销少,便于映射到原始的精细网格,适于快速渲染。它的另一优点是度量准则仅仅用来确定折叠顺序,不影响折叠后的更新操作,所以简化算法的设计和实现更加简单。
如图3所示,对于左图中的边EF执行半边折叠,边EF折叠到它其中一个顶点F,并且丢弃另一个顶点E,原有的三角形网格就化简为右图。每折叠一条边,就可以移除一个顶点、三条边和两个三角形,从而达到简化模型的目的。
通过计算顶点的误差和边的折叠代价,来确定需折叠的边和被删除的顶点。对于一个顶点,设它所在是三角形为Ti,各自面积为Si,其平面方程为:
ax+by+cz+d=0,其中a2+b2+c2=1
再构造误差矩阵:
Q i = aa ab ac ad ab bb bc bd ac bc cc cd ad bd cd dd
则该顶点的误差矩阵为:
Figure G2009102435327D00052
(n为与顶点相关的三角形个数)
根据每个顶点vi的三维坐标,构造向量p=(x,y,z),顶点的误差矩阵为Q,则顶点误差为:
εi=min{p·(Q+Qi)·pT}
其中Qi为顶点vi某个所在三角形的误差矩阵。则边(vi,vk)的折叠代价为:
εi=vi+vk
根据面积加权的半边折叠算法流程如图2所示。其中保存折叠操作的过程信息,是为了当不合理的简化结果出现时,可实现回滚和恢复。主要的不合理化简结果是出现狭长状三角面片。在顶点替换中,部分三角形的形状会发生变化。为避免这种情况的发生,需要对简化后的三角面片进行判断,如果三角形的某一内角接近180°或0°,则不合并之前的顶点,也不进行半边折叠。狭长三角形的判定公式为:
Figure G2009102435327D00053
其中S为三角形的面积,li为各边长度。当三角形为等边三角形时,为1;当
Figure G2009102435327D00055
的值等于或接近0时,则判断为出现狭长三角形。
步骤二即物理变形,主要分为两个阶段:基于逆向运动学的骨骼层运动控制和基于质点弹簧模型的物理变形。
第一个阶段:基于逆向运动学的骨骼层运动控制
逆向运动学是指对一条拥有众多关节的运动链,计算出一组所有关节的状态值,以满足指定的末端效应器状态。逆向运动学预先知道末端效应器的位置和方向,反向推出在各个子关节空间中各连接杆的结构参数。即只需给定末端关节(如人手腕关节)的位置和方向,计算机就可自动计算出各中间关节的位置和方向,简化了虚拟人的控制问题。下面以图4所示的虚拟人体手臂骨骼关节链为例,说明本发明采用的驱动方法。
图4中S1为肩关节,F为肘关节,S2为腕关节。其中肩关节和腕关节都是三个自由度的关节,其自由度分别用角度α1,β1,γ1和α2,β2,γ2表示,肘关节为一个自由度的关节,其角度记为α3,则手臂的关节运动链可表示为:
T1ATyBT2=G
其中T1、Ty、T2为肩、肘、腕关节的旋转矩阵,G为目标矩阵,A为从F到S1的变换矩阵,B为从S2到F的变换矩阵,它们可分别表示为:
T 1 = R 1 ( α 1 , β 1 , γ 1 ) 0 0,0,0 1 , T y = R y ( α 3 ) 0 0,0,0 1 , T 2 = R 2 ( α 2 , β 2 , γ 2 ) 0 0,0,0 1
A = R a t a 0,0,0 1 , B = R b t b 0,0,0 1
G = R g t g 0,0,0 1
当用户通过鼠标指定末端效应器的新位置,即赋值给G,对上式进行简化运算可得:
T1ATyBT2[0,0,0,1]T=R1RaRytb+R1ta=tg
将上式两边分别与自身点积,根据旋转矩阵的正交特性,可得:
2ta TRaRytb=tg Ttg-ta Tta-tb Ttb
因为Ry中的项均为α3的三角函数,则上式可化解为以α3三角函数为变量的多项式形式,进而得到两个α3的解,去除其中的不合理解,就是给定末端效应器下α3的值。即用户指定了新的腕关节位置后,就能求解出对应的肘关节角度和位置。
第二个阶段:基于质点弹簧模型的物理变形
质点弹簧模型中的质点由不同的弹簧连接在一起,一般来说,质点所受的重力与空气阻力称为质点所受的外力,质点所受的各个弹簧力与弹簧阻尼力为质点所受的内力。则质点所受合力可表示为:
F(x,y,z)=Fext(x,y,z)+Fint(x,y,z)
其中F(x,y,z)是质点p(x,y,z)所受的合力,Fext(x,y,z)是质点p(x,y,z)所受的外力和,Fint(x,y,z)是质点p(x,y,z)所受的内力和。下面分别介绍这两类力的求解过程。
外力:在物理层物理计算中可考虑的外力包括重力和空气阻力。
(1)重力
本发明将每个质点视为具有相同的质量,该质量等于虚拟人体模型总质量除以物理层质点的总数。
在物理计算过程中,作用在每个质点的重力是常数。重力表达式为:
G(x,y,z)=mg
其中m为质点p(x,y,z)的质量,g为质点p(x,y,z)的重力加速度。
(2)空气阻力
根据Stocke的阻力定律,空气阻力Fair和质点速度的n次幂成正比。这个定律可近似表示为:
F air ( x , y , z ) = - mk r | | v ( x , y , z ) | | n v ^ ( x , y , z )
其中m为质点p(x,y,z)的质量,kr是定义的空气阻力常数,v(x,y,z)为质点p(x,y,z)的速度矢量,它的大小为‖v(x,y,z)‖,方向为
Figure G2009102435327D00072
在物理计算中,将指数n设为1,则空气阻力可表示为:
Fair(x,y,z)=-mkrv(x,y,z)
实际计算中,由于空气阻力常数kr非常小,空气阻力Fair对质点的影响也非常小。但考虑到模型的普适性,比如今后可能模拟在水中的人体运动,水的阻力就会对运动产生显著的影响。因此,本发明在模型中保留了该外力带来的影响。
综合考虑重力和空气阻力后,作用在质点p(x,y,z)上的外力可表示为:
Fext(x,y,z)=G(x,y,z)+Fair(x,y,z)=mg-mkrv(x,y,z)
内力:质点所受的内力主要包括弹簧力和阻尼力。
(1)弹簧力
若弹簧的两端点自由长度为l,弹簧的弹性系数为k,根据胡克定律,在三维空间中端点受到的弹力可表示为:
f s = k [ ( x 1 - x 2 ) - l x 1 - x 2 | | x 1 - x 2 | | ]
其中x1和x2是弹簧两端点的位置矢量。
对于质点p(x,y,z)来说,它所受的弹力合力应该是与它有弹簧连接关系的n个质点相互作用的面弹簧力和1个体弹簧力,可表示为:
F s = f sb + f sf = k b [ ( x 0 - x 0 ′ ) - l x 0 - x 0 ′ | | x 0 - x 0 ′ | | ] + Σ i = 1 n k f [ ( x 0 - x i ) - l x 0 - x i | | x 0 - x i | | ]
其中fsb是体弹簧力,kb为体弹簧的弹性系数,x′0为质点x0在骨骼上的映射点;fsf是面弹簧力,kf为面弹簧的弹性系数。
(2)阻尼力
在动态的质点弹簧模型中,适当的弹簧阻尼力有助于维持系统的稳定性。例如,为了防止两质点间出现不规则的振动,一个强张力必须伴随一个稳定的强阻尼力。在我们的质点弹簧模型中,阻尼力和两个相连质点的速度差成正比,可表示为:
fd=kd(v1-v2)
其中,fd为阻尼常数,v1和v2是弹簧两端点p1和p2的速度矢量。参照质点弹簧力的分析方式,同样可确定质点弹簧模型中不同位置的质点所受弹簧阻尼合力fd(x,y,z)。
综合考虑弹簧力和阻尼力,作用在质点p(x,y,z)上的内力可表示为:
Fint=Fs+Fd
当骨骼层发生运动时,促使附着在骨骼上的体弹簧发生长度变化,进而产生弹力。该弹力传递到物理层顶点后,促使物理层顶点发生位移变化。在体弹簧和面弹簧弹力、重力和空气阻力的共同作用下,物理层顶点不断更新状态,产生连续的位移变化,直到骨骼达到运动终态,体弹簧不再产生新的弹力为止。最后,当各个物理层顶点受到的合力为零时,物理变形结束。
步骤三即驱动皮肤,主要包括两个阶段:顶点位移插值和表面层细节修正。
第一个阶段:顶点位移插值
表面层模型是最终绘制显示的数据,该层的顶点分为两种类型:一类是物理层顶点,该类型顶点位移直接由物理计算得到;另一类是在化简中被丢弃的顶点,该类型顶点位移通过物理层顶点位移插值计算得到。
如图5所示,下层网格为物理层的简化网格,上层网格为表面层的精细网格。p1,p2,p3分别为物理层三个顶点的位移向量,r为该三个顶点组成的三角形中一点的位移向量,与其对应的精细网格中顶点的位移向量为v。插值计算过程如下:
(1)在发生变形之前,计算r顶点与组成它所在三角形的三个顶点的位移向量权值(w1,w2,w3):
Σ i = 1 3 p i w i = r , 且有 Σ i = 1 3 w i = 1
(2)计算并保存物理层顶点与表面层顶点的位移向量偏移值
Figure G2009102435327D00083
σ → = v - r
(3)当发生变形时,p1,p2,p3在物理计算下得到新的值p′1,p′2,p′3,则有:
r t = Σ i = 1 3 p i ′ w i
B → t = normalize ( p 3 ′ - p 1 ′ )
T → = normalize ( p 2 ′ - p 1 ′ )
N → = T → × B → t
B → = N → × T →
σ → t = ( σ → · T → , σ → · N → , σ → · B → )
v t = r t + σ → t
由此得到表面层顶点的新位移向量vt
第二个阶段:表面层细节修正
表面层的细节修正主要是针对位移插值后的顶点位移进行必要的检查和几何修正。本发明提供了以下两类细节修正操作:
(1)修正位移插值导致网格边长度小于零而出现边的反折情况。为避免其发生,需设置以边长为约束的插值判断条件。如果插值后某边长度小于零,则将其相关顶点位移限制到边长为零时的位置上,避免出现边的反折。
(2)修正物理变形或者位移插值导致的顶点穿透情况。褶皱和挤压是皮肤变形中经常出现的状态,因此在物理变形和位移插值计算中,可能会出现某个顶点穿透到其他三角面片中。可分两步修正该误差:在物理层的简化网格为每个三角面片设置穿透标志符,当物理变形中的可能发生物理层顶点穿透面片时,将该顶点的位移值限制在面片之外,并将该面片三个顶点的穿透标识符赋值;表面层的精细网格只需处理插值数据来自于穿透标识符已赋值的那些顶点,在对它们的插值过程中进行穿透检查即可。

Claims (5)

1.一种基于层次模型的虚拟人皮肤物理变形方法,其特征在于步骤如下:
(1)构造层次模型
进行虚拟人层次模型的构造,形成用于控制运动的骨骼层模型、用于物理变形的物理层模型和用于最终绘制的表面层模型,并建立骨骼层模型与物理层模型、物理层模型与表面层模型的映射关系;
(2)物理变形
依据用户设定的运动方式,骨骼层模型产生运动趋势并带动物理层模型进行物理变形;
(3)驱动皮肤
在物理变形过程中,按照物理层模型和表面层模型的映射关系,驱动表面层模型随之运动和变化,生成变形的动态效果;
其中,所述步骤(1)中建立各层模型之间映射关系的步骤如下:
(1.1)建立骨骼层模型与物理层模型之间的映射关系:通过体弹簧建立物理映射,体弹簧的弹力作用将骨骼层模型的运动状态传递到物理层模型,驱动物理层模型的顶点发生位移;
(1.2)建立物理层模型与表面层模型之间的映射关系:物理层模型顶点的位移变化量由体弹簧和面弹簧的弹力作用共同确定;物理层模型的顶点为表面层模型顶点的一个子集,表面层模型其余顶点由临近的若干物理层模型顶点位移向量插值得到。
2.根据权利要求1所述的基于层次模型的虚拟人皮肤物理变形方法,其特征在于:所述步骤(1)中构造层次模型的步骤如下:
(1.1)通过三维扫描仪获取并生成人体表面三维网格数据,所述网格数据即为用于绘制的表面层模型;
(1.2)确定表面层中各关节截面并获取截面中心点;两两直线连接相邻的关节截面中心点,形成的线段即为骨骼;若干相连骨骼构成骨骼层模型;
(1.3)对表面层模型采取半边折叠化简操作,得到简化网格;对简化网格每条边设置面弹簧参数;对简化网格每个顶点设置物理参数;连接顶点和该顶点在骨骼上的垂直映射点,设置体弹簧参数;中间层顶点、面弹簧、体弹簧所构成的质点弹簧模型,即为物理层模型。
3.根据权利要求2所述的基于层次模型的虚拟人皮肤物理变形方法,其特征在于:所述步骤(1.3)中得到简化网格的步骤如下:
(1.3.1)读入表面层模型,计算每个顶点的误差矩阵和误差值,将顶点按误差值从小到大排序;
(1.3.2)依次取出每个顶点,计算其折叠顶点,传递折叠误差到相关三角形中需要改变的顶点上,执行半边折叠操作,并保存折叠信息;
(1.3.3)判断折叠有效性,继续进行折叠操作,直到顶点序列为空或达到初始阈值。
4.根据权利要求1所述的基于层次模型的虚拟人皮肤物理变形方法,其特征在于:所述步骤(2)中物理变形的步骤如下:
(2.1)接收用户设定的虚拟人运动指令;
(2.2)依据用户运动指令,骨骼层模型开始运动,并通过体弹簧向物理层模型顶点施力;
(2.3)物理层模型顶点发生位移变化,面弹簧、体弹簧发生长度变化而产生弹力,再反馈到顶点改变顶点的位置;
(2.4)在达到运动终态前,迭代步骤2.2和步骤2.3;
(2.5)达到运动终态后,弹力计算继续运行,直到物理层模型中各个顶点达到平衡的稳定状态,物理变形结束。
5.根据权利要求1所述的基于层次模型的虚拟人皮肤物理变形方法,其特点在于:所述步骤(3)中驱动皮肤的步骤如下:
(3.1)表面顶点确定与之邻接的物理层模型顶点,保存距离、方向信息;
(3.2)对邻接的物理层模型中的顶点进行向量插值,得到表面层模型的顶点位移;
(3.3)更新表面层模型顶点位置,进行细节修正。
CN2009102435327A 2009-12-25 2009-12-25 一种基于层次模型的虚拟人皮肤物理变形方法 Expired - Fee Related CN101719284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102435327A CN101719284B (zh) 2009-12-25 2009-12-25 一种基于层次模型的虚拟人皮肤物理变形方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102435327A CN101719284B (zh) 2009-12-25 2009-12-25 一种基于层次模型的虚拟人皮肤物理变形方法

Publications (2)

Publication Number Publication Date
CN101719284A CN101719284A (zh) 2010-06-02
CN101719284B true CN101719284B (zh) 2011-08-31

Family

ID=42433853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102435327A Expired - Fee Related CN101719284B (zh) 2009-12-25 2009-12-25 一种基于层次模型的虚拟人皮肤物理变形方法

Country Status (1)

Country Link
CN (1) CN101719284B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708582B (zh) * 2012-05-08 2014-03-12 电子科技大学 一种面向异构拓扑的角色运动重定向方法
CN103679783B (zh) * 2013-10-18 2017-04-19 中国科学院自动化研究所 基于几何变形的三维动画角色模型皮肤变形方法
CN103729555B (zh) * 2013-12-20 2019-03-01 深圳先进技术研究院 一种模拟血流与血管壁作用的方法和装置
CN103824316B (zh) * 2014-03-26 2017-05-10 广州博冠信息科技有限公司 一种为对象生成动作画面的方法和设备
EP3029635B1 (en) * 2014-12-05 2019-11-13 Dassault Systèmes Computer-implemented method for designing an avatar with at least one garment
CN105528808B (zh) * 2016-02-29 2018-07-24 华中师范大学 荆楚民间故事泥塑人物数字化三维模型合成方法及系统
CN108961365B (zh) * 2017-05-19 2021-09-24 腾讯科技(深圳)有限公司 三维虚拟对象摆动方法、装置、存储介质和计算机设备
CN109544666B (zh) * 2018-10-26 2020-10-16 中国科学院计算技术研究所 一种全自动的模型变形传播方法和系统
CN111445561B (zh) * 2020-03-25 2023-11-17 北京百度网讯科技有限公司 虚拟对象的处理方法、装置、设备及存储介质
CN113808236A (zh) * 2020-06-11 2021-12-17 北京达佳互联信息技术有限公司 图像处理方法、装置、电子设备和存储介质
CN111951360B (zh) * 2020-08-14 2023-06-23 腾讯科技(深圳)有限公司 动画模型处理方法、装置、电子设备及可读存储介质
CN113703570B (zh) * 2021-08-16 2023-01-31 广东工业大学 基于vr环境的虚拟手模型构建方法及系统

Also Published As

Publication number Publication date
CN101719284A (zh) 2010-06-02

Similar Documents

Publication Publication Date Title
CN101719284B (zh) 一种基于层次模型的虚拟人皮肤物理变形方法
CN105302974B (zh) 一种基于有限元和时变模态分析的柔性物体实时切割仿真方法
CN102332180B (zh) 一种基于立体裁剪的三维服装造型与纸样设计方法
Teran et al. Adaptive physics based tetrahedral mesh generation using level sets
CN106504329B (zh) 一种基于牙体长轴的质点弹簧模型的牙龈变形仿真方法
Isaacs et al. Mixed methods for complex kinematic constraints in dynamic figure animation
Jin et al. General constrained deformations based on generalized metaballs
CN103678769B (zh) 基于人体骨架与二维形变的真实感服装创建方法
CN101071514A (zh) 一种直接传递三维模型姿态的方法
CN105354879A (zh) 基于质点弹簧结构的通用服装三维模型仿真方法及系统
Tonnesen Dynamically coupled particle systems for geometric modeling, reconstruction, and animation.
US11544423B2 (en) Computer simulation of physical fluids on a mesh in an arbitrary coordinate system
Mosegaard et al. GPU accelerated surgical simulators for complex morphology
Angelidis et al. Controlled blending in contact situations
Bender et al. Adaptive cloth simulation using corotational finite elements
CN105279788B (zh) 一种生成物体空间扫掠体的方法
Chen et al. Real-time continuum grass
He et al. Versatile cutting fracture evolution modeling for deformable object cutting simulation
CN101866494B (zh) 一种利用网格顶点对角色模型进行分割的方法
Chen et al. Hybrid Optimization-based Cutting Simulation for Soft Objects
Santhanam et al. Physiologically-based modeling and visualization of deformable lungs
Metaxas et al. Flexible multibody dynamics and adaptive finite element techniques for model synthesis and estimation
Mendoza et al. Issues in deformable virtual objects simulation with force feedback
Huang et al. Virtual surgery deformable modelling employing GPU based computation
McDonnell et al. Dynamic subdivision-based solid modeling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110831

Termination date: 20131225