CN103366402A - 三维虚拟服饰的快速姿态同步方法 - Google Patents
三维虚拟服饰的快速姿态同步方法 Download PDFInfo
- Publication number
- CN103366402A CN103366402A CN2013103392838A CN201310339283A CN103366402A CN 103366402 A CN103366402 A CN 103366402A CN 2013103392838 A CN2013103392838 A CN 2013103392838A CN 201310339283 A CN201310339283 A CN 201310339283A CN 103366402 A CN103366402 A CN 103366402A
- Authority
- CN
- China
- Prior art keywords
- grid
- dimensional
- dress ornament
- manikin
- summit
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 36
- 230000001360 synchronised effect Effects 0.000 claims abstract description 22
- 230000000694 effects Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 13
- 230000000007 visual effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- HUTDUHSNJYTCAR-UHFFFAOYSA-N ancymidol Chemical compound C1=CC(OC)=CC=C1C(O)(C=1C=NC=NC=1)C1CC1 HUTDUHSNJYTCAR-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种三维虚拟服饰的快速姿态同步方法,通过在按照预定算法寻找网格虚拟服饰模型的顶点在与其相邻的体素中的三维人体模型的网格顶点的相邻网格面片上的距离最近点的过程中,采用与网格三维人体模型的顶点相邻的网格生成的顶点一阶邻域表、网格三维人体模型的顶点的体素化第一哈希表以及网格虚拟服饰模型的顶点的体素化第二哈希表提高运算速度;将寻找到的距离最近点作为最终的对应点,再根据预设规则计算最终对应点的骨骼权重,根据网格虚拟服饰模型的顶点、最终对应点、最终对应点的骨骼权重进行蒙皮,使网格虚拟服饰模型与网格三维人体模型的姿态同步。这一蒙皮过程速度高且效果优化,虚拟网格服饰模型的变形较小。
Description
技术邻域
本发明涉及计算机三维设计领域,具体而言,涉及一种三维虚拟服饰的快速姿态同步方法。
背景技术
在实际应用中,例如电子商务中的虚拟服饰展示之类,通常三维虚拟模特需要摆出不同姿态来显示服装,所以网格三维人体模型是含有动画信息的,具体表现为包含骨骼信息,蒙皮信息及动作序列信息。
相关技术中三维虚拟服饰快速姿态同步的方法,提出在已建立网格三维人体模型和虚拟衣服模型的基础上,通过寻找服装模型和人体模型的顶点之间的最近邻性,使服装模型和人体模型构建关联关系,通过一定准则,让人体的运动变化“传递”到网格虚拟服饰模型上,达到三维虚拟服饰的快速姿态同步的目的。在移动平台应用中,考虑到用户的通信流量,采用三角形密度降至3000~4000个/人的网格三维人体模型及3000~4000个/件的网格虚拟服饰模型,两个模型的大小均控制在2Mb左右。
随着模型网格密度的降低,有些网格虚拟服饰模型上的顶点可能产生“多对一”的结果,即服装网格中多个顶点与人体模型网格的一个顶点进行了“关联”;还有些三角形变大,服饰模型顶点与人体模型的距离变大,造成相同旋转角度情况下,远端位移较大,具体表现如图1所示,是产生问题的虚拟服装的效果示意图,与正常的虚拟服装的效果示意图图2相比,视觉上局部顶点变化剧烈,如A点及B点所示,服装的线条出现了明显的锯齿状痕迹,使得网格虚拟服饰模型的视觉效果变形剧烈,服饰与人体模型快速姿态同步时,其样式与原始服饰的样式产生偏差。
发明内容
本发明的目的在于提供一种三维虚拟服饰的快速姿态同步方法,以解决上述的问题。
在本发明的实施例中提供了一种三维虚拟服饰的快速姿态同步方法,包括:
创建网格三维人体模型;
根据所述网格三维人体模型,创建网格虚拟服饰模型;
根据所述网格三维人体模型的网格的顶点数据组及网格的集合的数据组,生成与所述网格三维人体模型的网格的顶点数据组相邻的网格的一阶邻域表;
根据所述网格三维人体模型的网格的顶点数据组生成所述网格三维人体模型的体素散列化结果的第一Hash表;
根据所述网格虚拟服饰模型的网格的顶点数据组生成所述网格虚拟服饰模型的体素散列化结果的第二Hash表;
根据所述网格虚拟服饰模型的网格的顶点数据组及预定规则生成Hash值的集合,将生成的Hash值的集合与所述第一Hash表进行比较,当Hash值的集合中的一个或多个Hash值与所述第一Hash表中的值相等时得到所述网格三维人体模型对应所述网格虚拟服饰模型的网格的顶点数据组的一个或多个近邻体素;
根据所述近邻体素及所述第一Hash表获取所述近邻体素中包含的网格三维人体模型的网格的顶点作为待选网格顶点;
在待选网格顶点中选取与所述网格虚拟服饰模型的网格的顶点数据组距离最近的所述网格三维人体模型的网格的顶点作为预选顶点;
根据所述预选顶点及所述网格三维人体模型的网格的顶点数据组的一阶邻域表获取与所述预选顶点相邻的网格的数据组;
根据预定算法获取与所述预选顶点相邻的网格的平面上与所述网格虚拟服饰模型的网格的顶点数据组距离最近的点的集合为最终的对应点的集合;
根据预设的所述网格三维人体模型的网格的顶点数据组对应的骨骼权重及预设规则计算所述最终的对应点的集合的骨骼权重;
根据第二Hash表、所述最终的对应点的集合、所述最终的对应点的集合的骨骼权重及所述网格虚拟服饰模型的网格的顶点数据组进行蒙皮,使得所述网格虚拟服饰模型与所述网格三维人体模型的姿态同步。
本发明上述实施例的一种三维虚拟服饰的快速姿态同步方法,通过将网格三维人体模型的顶点的集合生成体素的第一Hash表,将网格虚拟服饰模型的顶点的集合生成体素的第二Hash表,再将网格虚拟服饰模型的顶点通过预定规则处理生成Hash值,获取第一Hash表中与Hash值相等的近邻体素,通过Hash表的使用将多个点对点的运算减少至网格对点或点对网格的数量,显著减少了数据量的运算;再在第一Hash表中的近邻体素中选取与网格虚拟服饰模型的顶点距离最近的三角形的顶点,将最近的三角形的顶点根据预定算法得到网格虚拟服饰模型的顶点的最终对应点,获得网格三维人体模型的网格中与虚拟服饰的模型的顶点距离最近的最终对应点,减少了网格虚拟服饰模型的顶点相对网格三维人体模型网格的顶点的变形量;再根据预设规则获取最终对应点的骨骼权重,遍历网格虚拟服饰模型的顶点的集合获取最终对应点的集合及最终对应点的骨骼权重的集合,根据第二Hash表、所述最终的对应点的集合、所述最终的对应点的集合的骨骼权重及所述网格虚拟服饰模型的网格的顶点数据组进行蒙皮,通过使用第二Hash表又一次减少运算的数据量,并使得所述网格虚拟服饰模型与所述网格三维人体模型的姿态同步,网格虚拟服饰模型的顶点与网格三维人体模型上距离网格虚拟服饰模型的顶点最近的最终的对应点相关联,使得网格虚拟服饰模型与网格三维人体模型的关联的视觉效果更为优化,减弱了虚拟服饰局部顶点的变化,效果如图2所示,是正常的虚拟服装的效果示意图,对比产生问题的虚拟服装的效果示意图图1,在A点及B点,服装的线条圆滑,锯齿状痕迹消失,服饰与人体模型快速姿态同步时,其样式与原始服饰的样式产生的偏差减小。
附图说明
图1示出了相关技术中产生问题的虚拟服装的效果示意图;
图2示出了本发明提供的正常的虚拟服装的效果示意图;
图3示出了本发明提供的三维虚拟服饰的快速姿态同步方法的一种实施例的示意图;
图4示出了本发明提供的三维虚拟服饰的网格顶点投影在人体模型网格的三角形内部的示意图;
图5示出了本发明提供的三维虚拟服饰的网格顶点投影在人体模型网格的三角形外部且投影点对距离最近的三角形的边进行投影后投影点在三角形的边上的示意图;
图6示出了本发明提供的三维虚拟服饰的网格顶点投影在人体模型网格的三角形外部且投影点对距离最近的三角形的边进行投影后投影点在三角形的边的延长线上的示意图;
图7示出了本发明提供的与网格虚拟服饰模型的网格的顶点距离最近的网格三维人体模型的网格上的点的示意图。
具体实施方式
下面通过具体的实施例子并结合附图对本发明做进一步的详细描述。
一种三维虚拟服饰的快速姿态同步方法,如图3所示,包括:
S101:创建网格三维人体模型;
S102:根据网格三维人体模型,创建网格虚拟服饰模型;
S103:根据网格三维人体模型的网格的顶点数据组及网格的集合的数据组,生成与网格三维人体模型的网格的顶点数据组相邻的网格的一阶邻域表;
S104:根据网格三维人体模型的网格的顶点数据组生成网格三维人体模型的体素散列化结果的第一Hash表;
S105:根据网格虚拟服饰模型的网格的顶点数据组生成网格虚拟服饰模型的体素散列化结果的第二Hash表;
S106:根据网格虚拟服饰模型的网格的顶点数据组及预定规则生成Hash值的集合,将生成的Hash值的集合与第一Hash表进行比较,当Hash值的集合中的一个或多个Hash值与第一Hash表中的值相等时得到网格三维人体模型对应网格虚拟服饰模型的网格的顶点数据组的一个或多个近邻体素;
S107:根据近邻体素及第一Hash表获取近邻体素中包含的网格三维人体模型的网格的顶点作为待选网格顶点;
S108:在待选网格顶点中选取与网格虚拟服饰模型的网格的顶点数据组距离最近的网格三维人体模型的网格的顶点作为预选顶点;
S109:根据预选顶点及网格三维人体模型的网格的顶点数据组的一阶邻域表获取相关的与预选顶点相邻的网格的数据组;
S110:根据预定算法获取与预选顶点相邻的网格的平面上与网格虚拟服饰模型的网格的顶点数据组距离最近的点的集合为最终的对应点的集合;
S111:根据预设的网格三维人体模型的网格的顶点数据组对应的骨骼权重及预设规则计算最终的对应点的集合的骨骼权重;
S112:根据第二Hash表、最终的对应点的集合、最终的对应点的集合的骨骼权重及网格虚拟服饰模型的网格的顶点数据组进行蒙皮,使得网格虚拟服饰模型与网格三维人体模型的姿态同步。
其中,网格三维人体模型及网格虚拟服饰模型的表示由顶点信息和面信息构成,其表示方式多种,最常用的是三角形、四边形或者其它的简单凸多边形网格表示法。
本发明上述实施例的一种三维虚拟服饰的快速姿态同步方法,通过将网格三维人体模型的顶点的集合生成体素的第一Hash表,将网格虚拟服饰模型的顶点的集合生成体素的第二Hash表,再将网格虚拟服饰模型的顶点通过预定规则处理生成Hash值,获取第一Hash表中与Hash值相等的近邻体素,通过Hash表的使用将多个点对点的运算减少至网格对点或点对网格的数量,显著减少了数据量的运算;再在第一Hash表中的近邻体素中选取与网格虚拟服饰模型的顶点距离最近的三角形的顶点,将最近的三角形的顶点根据预定算法得到网格虚拟服饰模型的顶点的最终对应点,获得网格三维人体模型的网格中与虚拟服饰的模型的顶点距离最近的最终对应点,减少了网格虚拟服饰模型的顶点相对网格三维人体模型网格的顶点的变形量;再根据预设规则获取最终对应点的骨骼权重,遍历网格虚拟服饰模型的顶点的集合获取最终对应点的集合及最终对应点的骨骼权重的集合,根据第二Hash表、所述最终的对应点的集合、所述最终的对应点的集合的骨骼权重及所述网格虚拟服饰模型的网格的顶点数据组进行蒙皮,通过使用第二Hash表又一次减少运算的数据量,并使得所述网格虚拟服饰模型与所述网格三维人体模型的姿态同步,网格虚拟服饰模型的顶点与网格三维人体模型上距离网格虚拟服饰模型的顶点最近的最终的对应点相关联,使得网格虚拟服饰模型与网格三维人体模型的关联的视觉效果更为优化,减弱了虚拟服饰局部顶点的变化,效果如图2所示,是正常的虚拟服装的效果示意图,对比产生问题的虚拟服装的效果示意图图1,在A点及B点,服装的线条圆滑,锯齿状痕迹消失,服饰与人体模型快速姿态同步时,其样式与原始服饰的样式产生的偏差减小。
优选的,在上述的三维虚拟服饰的快速姿态同步方法中,创建网格三维人体模型,包括:创建由三角形集合构成的网格三维人体模型,其中每个三角形由三个顶点组成;获取网格三维人体模型的网格的顶点数据组其中网格三维人体模型的顶点 及分别为所述网格三维人体模型的顶点的空间坐标,获取三角形的集合的数据组根据网格三维人体模型,创建网格虚拟服饰模型包括:根据由三角形集合构成的网格三维人体模型,创建由三角形集合构成的网格虚拟服饰模型,其中每个三角形由三个顶点组成;获取网格虚拟服饰模型的顶点数据组:其中网格虚拟服饰模型的顶点 及分别为所述网格虚拟服饰模型的顶点的空间坐标。。
其中的坐标体系的坐标原点在人体模型双足之间的下方,X轴方向为人体从左至右的方向,Y轴方向是人体从足底到头顶(身高方向),Z轴方向是人体背部到胸部的方向。采用的三角形网格表示法,它由顶点数据组{v}和三角形数据组{t}两部分构成;其中{v}={vi|i=0,1,2,…,m-1},是m个三维顶点的数据组,每个顶点vi={xi,yi,zi}。
{t}={ti|i=0,1,2,…,n-1},是n个int型的数据组,且每个ti指示顶点数据组{v}中的index。因为三角形表示法,所以{t}每三个一组表示一个三角形(即n必定是3的倍数)。
例如{t}={1,2,99,1,10,21,…},说明{v}数据组中的第1个顶点,第2个顶点,第99个顶点构成网格的第0个三角形的面片(三角形的面片的数据组index也从0开始),{v}数据组的第1个顶点,第10个顶点,第21个顶点构成网格的第1个三角形的面片,以此类推,网格共有n/3个三角形的面片。网格的第k个三角形的面片是由{t}数据组的第3*k,3*k+1,3*k+2三个数值为index的顶点构成。
通过明确网格三维人体模型及网格虚拟服饰模型的网格由三角形构成以及明确各三角形及个三角形的顶点的表示方式,使得网格三维人体模型与网格虚拟服饰模型的建模更为简单明确,减少了运算量,使得网格三维人体模型的顶点的集合生成体素的第一Hash表,将网格虚拟服饰模型的顶点的集合生成体素的第二Hash表,再将网格虚拟服饰模型的顶点通过预定规则处理生成Hash值,获取第一Hash表中与Hash值相等的近邻体素,再在第一Hash表中的近邻体素中选取与网格虚拟服饰模型的顶点距离最近的三角形的顶点,将最近的三角形的顶点根据预定算法得到网格虚拟服饰模型的顶点的最终对应点,从而根据预设规则获取最终对应点的骨骼权重,遍历网格虚拟服饰模型的顶点的集合获取最终对应点的集合及最终对应点的骨骼权重的集合,根据第二Hash表、所述最终的对应点的集合、所述最终的对应点的集合的骨骼权重及所述网格虚拟服饰模型的网格的顶点数据组进行蒙皮,使得所述网格虚拟服饰模型与所述网格三维人体模型的姿态同步,网格虚拟服饰模型的顶点与网格上距离网格虚拟服饰模型的顶点最近的最终的对应点相关联,使得虚拟服饰局部顶点的变化减弱,服饰与人体模型姿态同步时,其样式与原始服饰的样式产生的偏差减小。
优选的,在上述的三维虚拟服饰的快速姿态同步方法中,根据网格三维人体模型的网格的顶点数据组及网格的集合的数据组,生成与网格三维人体模型的网格的顶点数据组相邻的网格的一阶邻域表包括:根据及三角形的集合的数据组生成与网格三维人体模型的三角形的顶点数据组相邻的三角形的一阶领域表其中 Tix为与 相邻的第x个三角形的索引index。
其中,从三维模型的表示方法可以容易知晓:{v}记录网格的顶点空间信息,{t}记录网格顶点之间的拓扑连接关系。由于在以后的计算中,经常碰到两类查询:1)哪些顶点是和指定的顶点有连接关系;2)指定顶点附近的三角形的面片有哪些。理论上,遍历{t}可以获得查询答案,但会造成性能很差。所以本发明采用“空间换时间”策略,遍历一遍{t}可以获得顶点一阶领域表{N}。即对于任意顶点vi,可以直接查询获得Ni={Ti1,Ti2,…},其中Ti1、Ti2是指三角形的面片的index,通过查询{t}的第3*Ti1,3*Ti1+1,3*Ti1+2,即得到相邻顶点。
例如,对{v}中的第1个顶点v1,由{t}={1,2,99,1,10,21,…}可以得到N1={0,1,…}。即过顶点v1的邻近三角形的面片有网格的第0个三角形的面片,第1个三角形的面片等等。由上节所述,第0个三角形的面片的顶点是{t}中的第0,1,2三位,即{v}中index分别为{1,2,99}个顶点。第1个三角形的面片顶点是{t}中的第3,4,5三位,即{v}中index分别为{1,10,21}三个顶点。
因此,通过建立与网格三维人体模型的三角形的顶点数据组相邻的三角形的一阶领域表,使得三维虚拟服饰的快速姿态同步方法中对于网格三维人体模型的三角形的面片的定位及寻找更为简单方便,提高了本方法的运算速度。
优选的,在上述的三维虚拟服饰的快速姿态同步方法中,根据网格三维人体模型的网格的顶点数据组及网格的集合生成网格三维人体模型的体素散列化结果的第一Hash表包括:根据{vm}生成体素的Hash表{Hm},将网格三维人体模型的单个顶点体素化:
其中,由于本发明对于性能的要求较高,所以需要对算法进行提速,本发明采用了体素化的方法,聚簇的思路来减少不必要的运算量,从而达到提速的目的。
本发明中采用voxelsize=5,将三维空间剖分为边长为5的体素(voxel)群空间。(备注:体素可以认为就是一个小立方体,本文中是采用正立方体)。
对于三维顶点v={x,y,z},容易得到
Xid=floor(x/voxelsize)
Yid=floor(y/voxelsize)
Zid=floor(z/voxelsize)
即顶点v落在坐标为{Xid,Yid,Zid}的体素内。便于后期检索,需对其Hash化,简单的采用int型数据的低三位byte来记录。
由于三维人体模特的网格数据分布(以男性模特来算)坐标Y:0~185,X:-55~55,Z:-15~15,Xid,Zid存在负数的情况。为了避免符号位的问题,对其做一定偏移保证其值均为正数。故
Xid=128+floor(x/voxelsize)
Yid=128+floor(y/voxelsize)
Zid=128+floor(z/voxelsize)
Hash化公式为
Hash=((128+floor(y/voxelsize))<<16)|((128+floor(x/voxelsize))<<8)|(128+floor(z/voxelsize))利用上述公式,对网格三维人体模型及网格虚拟服饰模型的网格中的每个顶点,可以计算得到它所对应的Hash值。容易知晓:落在同一体素中的顶点具有相同的Hash值。
通过将网格的顶点按体素做了聚簇,用Hash值来散列化顶点。从原理上来说,减少了运算量,提高了三维虚拟服饰的快速姿态同步的速度。
优选的,在上述的三维虚拟服饰的快速姿态同步方法中,根据网格虚拟服饰模型的网格的顶点数据组及预定规则生成Hash值的集合,将生成的Hash值的集合与第一Hash表进行比较,当Hash值的集合中的一个或多个Hash值与第一Hash表中的值相等时得到网格三维人体模型的一个或多个近邻体素包括:根据网格虚拟服饰模型的单个顶点及预定规则生成{Hash}值,将生成的{Hash}值与网格三维人体模型的体素散列化结果的第一Hash表{Hm}进行比较,当{Hash}中的一个或多个Hash值与网格三维人体模型的体素散列化结果的第一Hash表{Hm}中的值相等时得到网格三维人体模型对应网格虚拟服饰模型的三角形的顶点数据组的一个或多个近邻体素;根据近邻体素及第一Hash表获取近邻体素中包含的网格三维人体模型的网格的顶点作为待选网格顶点;在待选网格顶点中选取与网格虚拟服饰模型的网格的顶点数据组距离最近的网格三维人体模型的网格的顶点作为预选顶点包括:根据近邻体素及网格三维人体模型的体素散列化结果的第一Hash表{Hm}得到近邻体素中包含的网格三维人体模型的三角形的顶点,选取与网格虚拟服饰模型的单个顶点距离最近的三角形的顶点作为预选顶点。
其中,在{Hm}中查询是否存在上述所求的Hash值(不需8个hash值全部包含,包含一个或者以上即可),即以体素为单位,求model网格体素和cloth上该点的近邻体素。
通过寻找近邻体素来确定相近的顶点,提高了三维虚拟服饰的快速姿态同步的速度。
优选的,在上述的三维虚拟服饰的快速姿态同步方法中,根据预选顶点及网格三维人体模型的网格的顶点数据组的一阶邻域表获取与预选顶点相邻的网格的数据组;根据预定算法获取与预选顶点相邻的网格的平面上与网格虚拟服饰模型的网格的顶点数据组距离最近的点的集合为最终的对应点的集合包括:根据预选顶点及网格三维人体模型的三角形的顶点数据组相邻的三角形的一阶领域表{Nm}获取与预选顶点相邻的三角形的数据组,根据预定算法获取与预选顶点相邻的三角形的平面上与网格虚拟服饰模型的单个顶点距离最近的点为最终的对应点;根据网格虚拟服饰模型体素的散列化结果的第二Hash表遍历网格虚拟服饰模型的顶点数据组获取网格虚拟服饰模型的顶点数据组的最终对应点的集合
其中,对于已经找出的近邻体素,由hash表{Hm}可以获得,在这些近邻体素中包含的Model网格顶点。计算这些候选的model网格顶点与{vc}的距离。以距离由小到大排序,取距离最近的若干个model网格顶点。将所得的model网格顶点,从{Nm}中可以获得这些顶点附近的三角形面片,然后再这些候选三角形面片中,计算{vc}与这些三角形面片中的最近距离和对应的最近点。取其中距离最近的三角形的面片作为对应的三角形的面片,此面片上对应的点,作为cloth网格顶点{vc}的最终的对应点。
通过在网格三维人体模型上获取与预选顶点相邻的最近的网格并在网格上确定网格虚拟服饰模型的顶点的最终的对应点,使得网格虚拟服饰模型与网格三维人体模型的关联更为优化,减弱了虚拟服饰局部顶点的变化,使服饰与人体模型姿态同步时,其样式与原始服饰的样式产生的偏差减小。
优选的,在上述的三维虚拟服饰的快速姿态同步方法中,根据预设的网格三维人体模型的网格的顶点数据组对应的骨骼权重及预设规则计算最终的对应点的集合的骨骼权重;根据第二Hash表、最终的对应点的集合、最终的对应点的集合的骨骼权重及网格虚拟服饰模型的网格的顶点数据组进行蒙皮,使得网格虚拟服饰模型与网格三维人体模型的姿态同步包括:根据预设的网格三维人体模型的三角形的顶点数据组{vm}中单个顶点对应的骨骼权重为预设规则计算最终的对应点的的骨骼权重遍历网格虚拟服饰模型的顶点数据组的最终对应点的集合获取最终的对应点的集合的骨骼权重根据网格虚拟服饰模型体素的散列化结果的第二Hash表网格虚拟服饰模型的顶点数据组的最终对应点的集合最终的对应点的集合的骨骼权重及网格虚拟服饰模型的顶点数据组进行蒙皮,使得网格虚拟服饰模型与网格三维人体模型的姿态同步。
通过计算最终的对应点的集合的骨骼权重,为最后一步蒙皮打好基础,快速实现三维虚拟服饰的快速姿态同步。
在八个空间顶点的Hash值确定的Hash值区间{Hm}内,查询是否存在一个或多个Hash值;若{Hm}不包含hash值,则将八个空间顶点的步长由voxelsize/2按照预设规则扩大区间直至在{Hm}中查询到一个或多个落入区间内的Hash值,得到近邻体素。
以这些Hash值(一个或者多个)对应的体素作为近邻体素。
通过预定规则得到上述八个Hash值并在{Hm}中查询是否存在一个或多个Hash值,在保证对应精确度的基础上减少了运算量,提高了三维虚拟服饰的快速姿态同步的速度。
优选的,在上述的三维虚拟服饰的快速姿态同步方法中,预定算法包括:如图4所示,对预选顶点相邻的三角形的平面做垂直投影,若投影点在预选顶点相邻的三角形的内部,与网格虚拟服饰模型的单个顶点距离最近的点为最终的对应点若投影点c不在预选顶点相邻的三角形的内部,获取与投影点距离最近的预选顶点相邻的三角形的边:如图5所示,以投影点对该边做投影得到投影点若在预选顶点相邻的三角形的边上,则为最终的对应点如图6所示,若在所述预选顶点相邻的三角形的边的延长线上,则所述预选顶点相邻的三角形靠近的顶点为最终的对应点
通过明确预定算法得到最终的对应点,在提高运算速度的基础上提高了三维虚拟服饰的快速姿态同步的显示效果。
优选的,在上述的三维虚拟服饰的快速姿态同步方法中,如图7所示,预设规则包括:网格虚拟服饰模型的单个顶点距离最近的点其中s=S1/S△,t=S2/S△,0≤s≤1,0≤t≤1,0≤s+t≤1,S△是三角形面积,S1是三角形面积,S2是三角形面积。
其中,由于对应点均在三角形内部(有可能是顶点,或者边上),可以用局部表达式表示,通过线性插值来完成。
通过明确预设规则通过线性插值的局部表达式来完成,简化后续运算,提高了三维虚拟服饰的快速姿态同步的速度。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本邻域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种三维虚拟服饰的快速姿态同步方法,其特征在于,包括:
创建网格三维人体模型;
根据所述网格三维人体模型,创建网格虚拟服饰模型;
根据所述网格三维人体模型的网格的顶点数据组及网格的集合的数据组,生成与所述网格三维人体模型的网格的顶点数据组相邻的网格的一阶邻域表;
根据所述网格三维人体模型的网格的顶点数据组生成所述网格三维人体模型的体素散列化结果的第一哈希Hash表;
根据所述网格虚拟服饰模型的网格的顶点数据组生成所述网格虚拟服饰模型的体素散列化结果的第二Hash表;
根据所述网格虚拟服饰模型的网格的顶点数据组及预定规则生成Hash值的集合,将生成的Hash值的集合与所述第一Hash表进行比较,当Hash值的集合中的一个或多个Hash值与所述第一Hash表中的值相等时得到所述网格三维人体模型对应所述网格虚拟服饰模型的网格的顶点数据组的一个或多个近邻体素;
根据所述近邻体素及所述第一Hash表获取所述近邻体素中包含的网格三维人体模型的网格的顶点作为待选网格顶点;
在待选网格顶点中选取与所述网格虚拟服饰模型的网格的顶点数据组距离最近的所述网格三维人体模型的网格的顶点作为预选顶点;
根据所述预选顶点及所述网格三维人体模型的网格的顶点数据组的一阶邻域表获取与所述预选顶点相邻的网格的数据组;
根据预定算法获取与所述预选顶点相邻的网格的平面上与所述网格虚拟服饰模型的网格的顶点数据组距离最近的点的集合为最终的对应点的集合;
根据预设的所述网格三维人体模型的网格的顶点数据组对应的骨骼权重及预设规则计算所述最终的对应点的集合的骨骼权重;
根据第二Hash表、所述最终的对应点的集合、所述最终的对应点的集合的骨骼权重及所述网格虚拟服饰模型的网格的顶点数据组进行蒙皮,使得所述网格虚拟服饰模型与所述网格三维人体模型的姿态同步。
2.根据权利要求1所述的三维虚拟服饰的快速姿态同步方法,其特征在于,所述创建网格三维人体模型,包括:
创建由三角形集合构成的网格三维人体模型,其中每个三角形由三个顶点组成;获取所述网格三维人体模型的网格的顶点数据组其中所述网格三维人体模型的顶点 及分别为所述网格三维人体模型的顶点的空间坐标,获取三角形的集合的数据组
4.根据权利要求1所述的三维虚拟服饰的快速姿态同步方法,其特征在于,所述根据所述网格三维人体模型的网格的顶点数据组生成所述网格三维人体模型的体素散列化结果的第一Hash表包括:
所述根据所述网格虚拟服饰模型的网格的顶点数据组生成所述网格虚拟服饰模型的体素散列化结果的第二Hash表包括:
根据所述网格虚拟服饰模型的顶点数据组{vc}生成体素的Hash表{Hc}:将所述网格虚拟服饰模型的单个顶点 体素化, ,生成所述网格虚拟服饰模型体素的散列化结果的第二Hash表
5.根据权利要求1所述的三维虚拟服饰的快速姿态同步方法,其特征在于,根据所述网格虚拟服饰模型的网格的顶点数据组及预定规则生成Hash值的集合,将生成的Hash值的集合与所述第一Hash表进行比较,当Hash值的集合中的一个或多个Hash值与所述第一Hash表中的值相等时得到所述网格三维人体模型的一个或多个近邻体素包括:
根据所述网格虚拟服饰模型的单个顶点及预定规则生成{Hash}值,将生成的{Hash}值与所述网格三维人体模型的体素散列化结果的第一Hash表{Hm}进行比较,当{Hash}中的一个或多个Hash值与所述网格三维人体模型的体素散列化结果的第一Hash表{Hm}中的值相等时得到所述网格三维人体模型对应所述网格虚拟服饰模型的三角形的顶点数据组的一个或多个近邻体素;
根据所述近邻体素及所述第一Hash表获取所述近邻体素中包含的网格三维人体模型的网格的顶点作为待选网格顶点;在待选网格顶点中选取与所述网格虚拟服饰模型的网格的顶点数据组距离最近的所述网格三维人体模型的网格的顶点作为预选顶点包括:
根据所述近邻体素及所述网格三维人体模型的体素散列化结果的第一Hash表{Hm}得到所述近邻体素中包含的网格三维人体模型的三角形的顶点,选取与所述网格虚拟服饰模型的单个顶点距离最近的三角形的顶点作为预选顶点。
6.根据权利要求1所述的三维虚拟服饰的快速姿态同步方法,其特征在于,所述根据所述预选顶点及所述网格三维人体模型的网格的顶点数据组的一阶邻域表获取与所述预选顶点相邻的网格的数据组;根据预定算法获取所述与预选顶点相邻的网格的平面上与所述网格虚拟服饰模型的网格的顶点数据组距离最近的点的集合为最终的对应点的集合包括:
7.根据权利要求1所述的三维虚拟服饰的快速姿态同步方法,其特征在于,根据预设的所述网格三维人体模型的网格的顶点数据组对应的骨骼权重及预设规则计算所述最终的对应点的集合的骨骼权重;根据所述第二Hash表、所述最终的对应点的集合、所述最终的对应点的集合的骨骼权重及所述网格虚拟服饰模型的网格的顶点数据组进行蒙皮,使得所述网格虚拟服饰模型与所述网格三维人体模型的姿态同步包括:
8.根据权利要求1或5所述的三维虚拟服饰的快速姿态同步方法,其特征在于,所述预定规则包括:查找近邻体素:根据 中的每个顶点 计算以下八个空间顶点的Hash值:
在八个空间顶点的Hash值确定的Hash值区间{Hm}内,查询是否存在一个或多个Hash值;
若{Hm}不包含所述hash值,则将八个空间顶点的步长由voxelsize/2按照预设规则扩大区间直至在{Hm}中查询到一个或多个落入区间内的Hash值,得到近邻体素。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310339283.8A CN103366402B (zh) | 2013-08-05 | 2013-08-05 | 三维虚拟服饰的快速姿态同步方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310339283.8A CN103366402B (zh) | 2013-08-05 | 2013-08-05 | 三维虚拟服饰的快速姿态同步方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN103366402A true CN103366402A (zh) | 2013-10-23 |
| CN103366402B CN103366402B (zh) | 2015-12-09 |
Family
ID=49367667
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310339283.8A Active CN103366402B (zh) | 2013-08-05 | 2013-08-05 | 三维虚拟服饰的快速姿态同步方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN103366402B (zh) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104008557A (zh) * | 2014-06-23 | 2014-08-27 | 中国科学院自动化研究所 | 一种服装与人体模型的三维匹配方法 |
| CN111563946A (zh) * | 2020-05-22 | 2020-08-21 | 网易(杭州)网络有限公司 | 一种对虚拟模型蒙皮的方法及装置、存储介质及电子设备 |
| CN112241992A (zh) * | 2020-11-10 | 2021-01-19 | 北京中科深智科技有限公司 | 一种全自动的服装动画生成方法和系统 |
| CN112288890A (zh) * | 2020-11-20 | 2021-01-29 | 深圳羽迹科技有限公司 | 一种模型的编辑方法及系统 |
| CN112508993A (zh) * | 2020-11-18 | 2021-03-16 | 奇幻熊(厦门)信息技术有限公司 | 一种衣服运动模拟方法、终端设备及存储介质 |
| CN114969913A (zh) * | 2022-05-24 | 2022-08-30 | 国网北京市电力公司 | 一种三维模型构件实例化方法、系统、设备及介质 |
| CN115004240A (zh) * | 2020-07-27 | 2022-09-02 | 株式会社威亚视 | 3d资料系统及3d资料生成方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1811410A1 (en) * | 2004-10-12 | 2007-07-25 | Digital Fashion Ltd. | Virtual paper pattern forming program, virtual paper pattern forming device, and virtual paper pattern forming method |
| CN102156810A (zh) * | 2011-03-30 | 2011-08-17 | 北京触角科技有限公司 | 增强现实实时虚拟试衣系统及方法 |
| US20110298897A1 (en) * | 2010-06-08 | 2011-12-08 | Iva Sareen | System and method for 3d virtual try-on of apparel on an avatar |
| CN102298797A (zh) * | 2011-08-31 | 2011-12-28 | 深圳市美丽同盟科技有限公司 | 三维虚拟试衣的方法、装置及系统 |
| CN102509349A (zh) * | 2011-09-27 | 2012-06-20 | 深圳市朵唯志远科技有限公司 | 基于移动终端的试衣方法、装置及移动终端 |
-
2013
- 2013-08-05 CN CN201310339283.8A patent/CN103366402B/zh active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1811410A1 (en) * | 2004-10-12 | 2007-07-25 | Digital Fashion Ltd. | Virtual paper pattern forming program, virtual paper pattern forming device, and virtual paper pattern forming method |
| US20110298897A1 (en) * | 2010-06-08 | 2011-12-08 | Iva Sareen | System and method for 3d virtual try-on of apparel on an avatar |
| CN102156810A (zh) * | 2011-03-30 | 2011-08-17 | 北京触角科技有限公司 | 增强现实实时虚拟试衣系统及方法 |
| CN102298797A (zh) * | 2011-08-31 | 2011-12-28 | 深圳市美丽同盟科技有限公司 | 三维虚拟试衣的方法、装置及系统 |
| CN102509349A (zh) * | 2011-09-27 | 2012-06-20 | 深圳市朵唯志远科技有限公司 | 基于移动终端的试衣方法、装置及移动终端 |
Non-Patent Citations (2)
| Title |
|---|
| XIANHUI ZENG等: "《Applying Image Warping Technique to Implement Real-Time Virtual Try-on Based on Person’s 2D Image》", 《SECOND INTERNATIONAL SYMPOSIUM ON INFORMATION SCIENCE AND ENGINEERING》 * |
| 李瑞等: "《基于骨架重合的真实人体模型动态仿真》", 《纺织学报》 * |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104008557A (zh) * | 2014-06-23 | 2014-08-27 | 中国科学院自动化研究所 | 一种服装与人体模型的三维匹配方法 |
| CN104008557B (zh) * | 2014-06-23 | 2017-03-29 | 中国科学院自动化研究所 | 一种服装与人体模型的三维匹配方法 |
| CN111563946A (zh) * | 2020-05-22 | 2020-08-21 | 网易(杭州)网络有限公司 | 一种对虚拟模型蒙皮的方法及装置、存储介质及电子设备 |
| CN111563946B (zh) * | 2020-05-22 | 2023-09-08 | 网易(杭州)网络有限公司 | 一种对虚拟模型蒙皮的方法及装置、存储介质及电子设备 |
| CN115004240A (zh) * | 2020-07-27 | 2022-09-02 | 株式会社威亚视 | 3d资料系统及3d资料生成方法 |
| CN112241992A (zh) * | 2020-11-10 | 2021-01-19 | 北京中科深智科技有限公司 | 一种全自动的服装动画生成方法和系统 |
| CN112508993A (zh) * | 2020-11-18 | 2021-03-16 | 奇幻熊(厦门)信息技术有限公司 | 一种衣服运动模拟方法、终端设备及存储介质 |
| CN112508993B (zh) * | 2020-11-18 | 2023-11-07 | 奇幻熊(厦门)信息技术有限公司 | 一种衣服运动模拟方法、终端设备及存储介质 |
| CN112288890A (zh) * | 2020-11-20 | 2021-01-29 | 深圳羽迹科技有限公司 | 一种模型的编辑方法及系统 |
| CN114969913A (zh) * | 2022-05-24 | 2022-08-30 | 国网北京市电力公司 | 一种三维模型构件实例化方法、系统、设备及介质 |
| CN114969913B (zh) * | 2022-05-24 | 2024-03-15 | 国网北京市电力公司 | 一种三维模型构件实例化方法、系统、设备及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN103366402B (zh) | 2015-12-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103366402B (zh) | 三维虚拟服饰的快速姿态同步方法 | |
| Wang et al. | Feature based 3D garment design through 2D sketches | |
| CN102332180B (zh) | 一种基于立体裁剪的三维服装造型与纸样设计方法 | |
| CN101930627B (zh) | 一种基于二维户型图的三维户型建模方法 | |
| CN101609564B (zh) | 一种草图式输入的三维网格模型制作方法 | |
| CN104123747B (zh) | 多方式触控三维建模方法和系统 | |
| CN104239601B (zh) | 织物片组合的仿真 | |
| CN101408991B (zh) | 一种插值型细分和逼近型细分相融合的曲面造型方法 | |
| CN103714577B (zh) | 一种适用于带纹理模型的三维模型简化方法 | |
| CN106709975B (zh) | 一种交互式三维人脸表情动画编辑方法、系统及扩展方法 | |
| CN101719140A (zh) | 一种图形检索方法 | |
| CN110176063B (zh) | 一种基于人体拉普拉斯变形的服装变形方法 | |
| JP6549239B2 (ja) | 空間情報生成装置、空間情報生成方法、プログラム | |
| CN104933216A (zh) | 基于球b样条的纬编针织物造型的仿真方法 | |
| CN111612911A (zh) | 基于Dynamo的点云BIM自动化建模方法 | |
| CN103366401A (zh) | 多层次虚拟服饰试穿的快速显示方法 | |
| Orbay et al. | Sketch-based surface design using malleable curve networks | |
| CN110189413A (zh) | 一种生成衣服变形模型的方法及系统 | |
| CN100442314C (zh) | 三维虚拟胸形环境中个性化文胸罩杯省量的设计方法 | |
| JP2000340476A (ja) | 形状シミュレーション方法、装置および記録媒体 | |
| CN101546351B (zh) | 一种叶轮的变复杂度形状优化的几何参数化建模方法 | |
| Yuan et al. | The Fusion Method of Virtual Reality Technology and 3D Movie Animation Design. | |
| JP3954318B2 (ja) | 3次元モデル変形システム | |
| Ping Wang et al. | An approach to predicting bra cup dart quantity in the 3D virtual environment | |
| Deng et al. | A simple method for interpolating meshes of arbitrary topology by Catmull–Clark surfaces |
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 | ||
| C41 | Transfer of patent application or patent right or utility model | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20170110 Address after: 361000 Fujian Province, Xiamen city Xiangan District Ma Xiangzhen nishizaka a community West Pavilion Building No. 8 room 508H Patentee after: Xiamen Yu Tao Garment Co. Ltd. Address before: Room 2118 building five layer D537 No. third Shanghai 201111 Minhang District Guanghua Road Patentee before: Shanghai Quta Network Technology Co., Ltd. |