一种基于纹理的三维网格模型变形方法及系统的制作方法

文档序号:6599319阅读:239来源:国知局
专利名称:一种基于纹理的三维网格模型变形方法及系统的制作方法
技术领域
本发明属于信息处理技术领域,具体涉及一种基于纹理的三维网格模型变形方法
及系统。
背景技术
现今网格模型变形仍是3D模型建模的一种重要手段,而能把艺术家在一个网格 模型精心构建好的变形转移到另一个模型上的变形转移,也是最近几年的热点之一。
网格模型变形是3D模型建模的一种重要手段,其中一类方法是采用蒙皮技术。该 技术预先通过骨架调整得到模型的大致姿势,然后再通过给骨架蒙皮来实现整个模型的变 形。最近几年有很多研究者对图形蒙皮、图形变形、变形转移等方面进行了很多研究,也得 到了不少结果。但由于三维网格建模和变形的复杂性,目前仍需要模型设计者耗费大量的 时间和精力,采用复杂的三维造型技术,实现三维网格模型的变形效果。

发明内容
本发明要解决的技术问题是提供一种基于纹理的三维网格模型变形方法及系统, 通过提取已知模型的变形特征,并把该特征转移到另一个模型上,以达到变形转移的目的。
基于上述目的,本发明实施例提供了一种基于纹理的三维网格模型变形方法,该 方法包含以下步骤 从已有的网格模型中提取网格顶点位置; 根据网格顶点位置和网络模型对应的骨架模型及其局部标架信息构造变形纹 理; 应用变形纹理到指定模型上,生成变形效果。
相应地,本发明实施例还提供了一种三维网络模型处理系统,包括
获取模块,用于从已有的网格模型中提取网格顶点位置; 构造模块,用于根据网格顶点位置和网络模型对应的骨架模型及其局部标架信息 构造变形纹理; 处理模块,用于应用变形纹理到指定模型上,生成变形效果。 该变形特征称为变形纹理,变形纹理可以起到一些特殊的蒙皮效果,如肌肉凸起 或手肘弯曲等,并且其不需针对某个特殊的模型,即变形纹理可以被用到其它用户想用的 模型上。变形纹理被称作纹理的原因在于,其可以被计算机显卡读取其它一般三维纹理般 读取,并利用显卡的高速并行浮点运算能力来计算,实现加快显示速度、实时的响应的效 果。 变形纹理是基于骨架展开的,跟三维模型上的网格顶点存在对应关系。当对模型 进行调整时,可以通过选取变形纹理上的区域来得到三维模型上的区域,从而避免了直接 在三维模型上选取会产生遮挡的情况。 此外,本发明的方法中对骨架采用了近似极坐标的计算方法,当发生绕骨架旋转的情况时,实质上只是极坐标角度变量的改变,从而避免了在发生旋转时出现皱褶现象。
变形纹理的构造,主要包括以下几个步骤 (1)由初始姿势及其骨架局部标架,计算得到每一点的局部坐标; (2)由约束姿势及其骨架局部标架,计算得到每一点的局部坐标,记录其相对应的
变形骨架角度,作为其特征角度; (3)根据前后局部坐标之差得到对应的变形变化量; [ooao] (4)将变化量标准化; (5)把标准变化量按照XY轴展开到
*
的图像作为变形纹理。 当变形纹理构造完成后,它就可以被应用到别的模型上,从而得到类似的变形效
果。应用过程可分成以下几个步骤 (1)由初始姿势及其骨架局部标架,计算得到每一点的局部坐标; (2)调整骨架得到新姿势的骨架,把骨架间所形成的角度作为模型的特征角度。为
了得到新模型的某个角度的变形,需要求出每一点的局部坐标在该角度时的变化量。根据
它的局部XY轴坐标,在变形纹理读取相应的象素点,得到训练模型在该点的标准变化量。
标准变化量通过当前骨骼局部标架,还原成适合于当前模型的变化量。最后还要考虑当前
的变形角度在变化量中占的比重,比重和变化量相乘,从而得到所需的变化量。把变化量和
初始姿势的点的局部坐标结合,得到新的局部坐标; (3)最后,由骨架局部标架的全局坐标和各顶点的新的局部坐标,计算出各顶点的 全局坐标。 实施本发明实施例,具有如下有益效果可以避免三维网格模型变形过程中出现 的皱褶情况,从而避免大多数变形方法会碰到的在大角度旋转时出现畸形情况的问题。根 据纹理和3D模型的顶点对应关系,通过选取纹理上的一个区域来选取3D模型上的区域,在 进行变形调整,因此操作方式更为简单且快捷。将3D变形和3D渲染流水线结合在一起,在 进行操作时可以提供实时效果,在实际应用中,将得到更快的执行速度。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
图1为本发明实施例中的基于纹理的三维网格模型变形方法的流程图;
图2为本发明实施例中的三维网络模型处理系统结构示意图;
图3为通过本发明实施例中方法实现的变形效果图。
具体实施例方式
下面结合附图详细说明本发明实施例。 如图1所示,图1示出了本发明实施例中的基于纹理的三维网格模型变形方法,该 方法主要包含以下步骤 S101 :从已有的网格模型中提取网格顶点位置;
S102:根据网格顶点位置和网络模型对应的骨架模型及其局部标架信息构造变形 纹理; S103 :应用变形纹理到指定模型上,生成变形效果。 具体的,本发明方法中的变形纹理是一种应用于变形的特征描述方式。计算变形 纹理时,使用两个比较重要的定义初始姿势和约束姿势。初始姿势,一般是模型尽可能舒 展开的一种姿势。此时,表皮的形状会尽可能只受其所附着的骨骼影响。初始姿势主要包 括初始姿势的模型包括模型上每个顶点的位置、形成网格的三角面片的网格拓扑结构,和 当前姿势想对应的骨架及其局部标架,还有每块骨骼的影响映射。由于任一点都只考虑受 一块骨架的影响,所以这个影响映射可以和顶点位置记录在一起,以骨架的块号来表示。约 束姿势, 一般是由初始姿势,经过一些骨架调整,相应地引起表皮变形,而得到的姿势。相比 与初始姿势,网格拓扑结构和影响映射是一样,可以直接使用。 为计算变形纹理,基于已知模型的初始姿势和约束姿势,构造从世界坐标向局部 坐标转换的函数如下
V。, = C(S。, V。) 其中S。为初始姿势的骨架,V。为初始姿势的顶点世界坐标,函数C把世界坐标V。 转换成S。定义的坐标系统的局部坐标V。'。相应地,可以计算出约束姿势的顶点局部坐标 V/。对应不同的骨架,函数C有以下几种方式
共性设置沿着骨骼方向为X轴。 上臂型以x轴上任一点为原点作极坐标系。绕x轴的角度a、该方向上的长度r。 只会修改r的大小。 前臂型以x轴上任一点为原点作极坐标系。绕x轴的角度a、该方向上的长度r。 会修改a和r的大小。 腰部型以x轴上任一点为原点作极坐标系。绕x轴的角度a、该方向上的长度r。 会修改a和r的大小,且x轴可弯曲。 手掌型和掌面平行,且于x轴垂直作z轴,xz平面上任一点为原点,作一轴坐标 系为y轴。 得到初始姿势和约束姿势的局部坐标后,就对它们求差值,以便得到相应的变化
dV = V「V。
标准化可以有很多种处理方法,这里采用方法如下 沿X轴的变化量一般下于骨骼长度的一半,所以采用 x = (x+0. 5*骨骼长度)/ (2*骨骼长度)=(x/ (2*骨骼长度))+0. 25 沿Y轴(角度)的变化量一般小于180度,所以采用 y= (y+pi)/(2*pi) = (y/(2*pi))+0. 5 和X轴类似,对Z轴采用 z = (x+0. 5*骨骼长度)/ (2*骨骼长度)=(x/ (2*骨骼长度))+0. 25 根据初始姿势的局部坐标XY轴坐标,可以把标准变化量预先插值展成一张图像。
这个过程可以利用显示卡的渲染流水线的绘制功能,把变化量当作是颜色值,就可以很快
插值出一张
*
的图像。得到该图像后,当需要把变形转移到另一个模型上时,可
5以将该模型的初始姿势的顶点局部坐标作为访问纹理的坐标,即可从图像上读取到相应的 标准变化量。 当使用变形纹理时,首先对新模型进行计算局部坐标
V, = C(S, V) S为骨架,V为原世界坐标,函数C把原世界坐标V转换成S定义的坐标系统的局 部坐标V'。同时,因为并不是所有的新模型都是处于初始姿势的状态,所以也需要计算其特 征角度a 。 接着,可由用户对骨架进行操纵,以以下方式来获取新的骨架
S, = M(S, U) U为用户操作,函数M根据用户操作U把原骨架S转换成期望骨架S'。 根据骨架的变化量来计算出模型相应的变化量,利用前面得到的变形纹理,可以
通过以下形式得到各顶点的变化量 V" = D(V', S, S', T) 设dS为骨架变化量,即由S'和S算得特征角度的差,T为变形纹理,函数D根据 dS和T把V'转换成新的局部坐标V"。函数D中包括了读取纹理T,根据dS计算权重,再对 所得的标准变化量基于S进行非标准化的V"。 最后通过计算所得的局部坐标配合新的骨架,计算出新的顶点坐标
V = C—乂S,,V") 由新骨架S'和新局部坐标V"算出新的世界坐标V。 上述过程提供一个方便快速的变形转移的方法,但是由于不同模型间必然存在差 异性,这样进行的变形转移以后,可能并不能立即得到完美的结果。因此本方法包含一个模 型调整的过程。 变形纹理是跟3D模型上的点是一一对应的,即用户使用时能够感受到一种3D模
型被展开的感觉,因此可以在变形纹理上选取到一个和他想要选取的区域相近的区域。当
他选取了某个纹理区域后,系统在3D模型上相对应的区域变成高亮。基于这个已选区域,
再进行一些细微调整选取边界,就可以得到用户想要的选取区域。选取操纵区域后,用户可
以通过方向键来调整整个区域中顶点的局部坐标,以此来对变形结果进行调整。 相应地,图2示出了本发明实施例中的三维网络模型处理系统结构示意图,包括 获取模块201,用于从已有的网格模型中提取网格顶点位置; 构造模块202,用于根据网格顶点位置和网络模型对应的骨架模型及其局部标架 信息构造变形纹理; 具体的,该构造模型202实现变形纹理方式如下 由模型初始姿势及初始姿势骨架局部标架,计算得到初始姿势每一点的局部坐 标; 由模型约束姿势及约束姿势骨架局部标架,计算得到约束姿势每一点的局部坐 标,记录约束姿势相对应的变形骨架角度,作为约束姿势特征角度;
由模型出初始势和模型约束姿势的局部坐标之差得到对应的变形变化量;
将变化量标准化; 把标准变化量按照XY轴展开到
*
的图像作为变形纹理
6
处理模块203,用于应用变形纹理到指定模型上,生成变形效果。 具体的,该处理模块203应用变形纹理到指定模型上处理方式如下 由模型初始姿势及初始姿势骨架局部标架,计算得到指定模型下每一点的局部坐
标; 调整骨架得到指定模型下的骨架,把骨架间所形成的角度作为指定模型的特征角
度,并求出指定模型每一点的局部坐标在该特征角度时的变化量; 把变化量和初始姿势的点的局部坐标结合,得到新的局部坐标; 由指定模型下骨架局部标架的全局坐标和各顶点的局部坐标,计算出指定模型下
各顶点的全局坐标。 相应地,图3示出了通过本发明实施例中方法实现的变形效果图,其中(a)为输 入的三维网格模型的初始姿势;(b)为约束姿势;(c)为使用本发明方法提取得到的变形纹 理;(d)为变形后所得的结果。 综上,实施本发明,可以避免三维网格模型变形过程中出现的皱褶情况,从而避免 大多数变形方法会碰到的在大角度旋转时出现畸形情况的问题。根据纹理和3D模型的顶 点对应关系,通过选取纹理上的一个区域来选取3D模型上的区域,在进行变形调整,因此 操作方式更为简单且快捷。将3D变形和3D渲染流水线结合在一起,在进行操作时可以提 供实时效果,在实际应用中,将得到更快的执行速度。 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解, 本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使 得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例 或者实施例的某些部分所述的方法。 以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权 利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
一种基于纹理的三维网格模型变形方法,其特征在于,该方法包含以下步骤从已有的网格模型中提取网格顶点位置;根据网格顶点位置和网络模型对应的骨架模型及其局部标架信息构造变形纹理;应用变形纹理到指定模型上,生成变形效果。
2. 如权利要求1所述的方法,其特征在于,所述根据网格顶点位置和网络模型对应的 骨架模型及其局部标架信息构造变形纹理步骤包括由模型初始姿势及初始姿势骨架局部标架,计算得到初始姿势每一点的局部坐标; 由模型约束姿势及约束姿势骨架局部标架,计算得到约束姿势每一点的局部坐标,记 录约束姿势相对应的变形骨架角度,作为约束姿势特征角度;由模型出初始势和模型约束姿势的局部坐标之差得到对应的变形变化量; 将变化量标准化;把标准变化量按照XY轴展开到
*
的图像作为变形纹理。
3. 如权利要求2所述的方法,其特征在于,所述应用变形纹理到指定模型上,生成变形 效果步骤包括由模型初始姿势及初始姿势骨架局部标架,计算得到指定模型下每一点的局部坐标; 调整骨架得到指定模型下的骨架,把骨架间所形成的角度作为指定模型的特征角度, 并求出指定模型每一点的局部坐标在该特征角度时的变化量;把变化量和初始姿势的点的局部坐标结合,得到新的局部坐标;由指定模型下骨架局部标架的全局坐标和各顶点的局部坐标,计算出指定模型下各顶 点的全局坐标。
4. 一种三维网络模型处理系统,其特征在于,包括 获取模块,用于从已有的网格模型中提取网格顶点位置;构造模块,用于根据网格顶点位置和网络模型对应的骨架模型及其局部标架信息构造 变形纹理;处理模块,用于应用变形纹理到指定模型上,生成变形效果。
5. 如权利要求4所述的系统,其特征在于,所述构造模块具体用于 由模型初始姿势及初始姿势骨架局部标架,计算得到初始姿势每一点的局部坐标; 由模型约束姿势及约束姿势骨架局部标架,计算得到约束姿势每一点的局部坐标,记录约束姿势相对应的变形骨架角度,作为约束姿势特征角度;由模型出初始势和模型约束姿势的局部坐标之差得到对应的变形变化量; 将变化量标准化;把标准变化量按照XY轴展开到
*
的图像作为变形纹理。
6. 如权利要求5所述的系统,其特征在于,所述处理模块具体用于 由模型初始姿势及初始姿势骨架局部标架,计算得到指定模型下每一点的局部坐标; 调整骨架得到指定模型下的骨架,把骨架间所形成的角度作为指定模型的特征角度,并求出指定模型每一点的局部坐标在该特征角度时的变化量;把变化量和初始姿势的点的局部坐标结合,得到新的局部坐标;由指定模型下骨架局部标架的全局坐标和各顶点的局部坐标,计算出指定模型下各顶 点的全局坐标。
全文摘要
本发明实施例公开了一种基于纹理的三维网格模型变形方法,该方法包含以下步骤从已有的网格模型中提取网格顶点位置;根据网格顶点位置和网络模型对应的骨架模型及其局部标架信息构造变形纹理;应用变形纹理到指定模型上,生成变形效果。相应地,本发明实施例还公开了一种三维网络模型处理系统,实施本发明,在进行操作时可以提供实时效果,在实际应用中,将得到更快的执行速度。
文档编号G06T15/00GK101794462SQ20101012632
公开日2010年8月4日 申请日期2010年3月12日 优先权日2010年3月12日
发明者李峥, 罗笑南, 苏卓, 赵仲明, 邓正杰 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1