首页> 中国专利> 基于几何变形的三维动画角色模型皮肤变形方法

基于几何变形的三维动画角色模型皮肤变形方法

摘要

本发明涉及一种基于几何变形的三维动画角色模型皮肤变形方法,包括步骤:根据初始角色模型的骨架结构,将初始角色模型划分为关节区域和骨骼区域,并手动标定骨骼区域间的变形控制点;根据用户设定的形体缩放参数以及标定的变形控制点,基于自由变形技术对初始角色模型的骨骼区域进行几何变形操作;在几何变形后,调整关节对顶点的影响权重;根据关节对关节区域和骨骼区域上顶点的影响权重,采用双四元数法驱动角色模型进行平移和旋转运动,生成生动逼真的皮肤变形效果。本发明能够处理模型动作幅度较大时引起的坍塌、形状爆炸等缺陷,在保证实时性的同时获得更加真实的皮肤变形。

著录项

  • 公开/公告号CN103679783A

    专利类型发明专利

  • 公开/公告日2014-03-26

    原文格式PDF

  • 申请/专利号CN201310491792.2

  • 发明设计人 蒋永实;朱晓阳;

    申请日2013-10-18

  • 分类号G06T13/40(20110101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人宋焰琴

  • 地址 100190 北京市海淀区中关村东路95号

  • 入库时间 2023-12-17 01:10:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-19

    授权

    授权

  • 2014-04-23

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

    实质审查的生效

  • 2014-03-26

    公开

    公开

说明书

技术领域

本发明属于计算机动画和计算机图形学技术领域,具体涉及基于几何 变形的三维动画角色模型皮肤变形方法。

背景技术

随着计算机硬件技术以及计算机软件技术,尤其是图形图像技术的发 展,三维角色动画技术在影视动画、娱乐游戏、远程教育和军事仿真等领 域得到广泛应用。皮肤变形技术作为三维角色动画的一个重要部分,是计 算机图形学中最有难度和挑战性的研究课题之一,主要有两个原因:(1) 人体本身的结构非常复杂,在生物力学和图形学领域都尚未出现能够完全 逼近并仿真人体皮肤的模型;与此同时,人类对自身的形状非常敏感,很 容易观察到人体皮肤的失真变形。(2)实时性和真实感之间相互制约,为 了获得高度真实感的皮肤变形,需要建立复杂的人体模型,并进行大量物 理计算,从而影响了变形算法的效率,难以达到实时性;反之,为了获得 实时性,往往要采用简单的人体模型和简化的算法,其代价是降低了皮肤 变形的真实感。然而实际上,在游戏、动画和虚拟仿真环境等许多应用中, 需要同时满足真实感和实时性两个要求,这是皮肤变形技术研究的一大挑 战。

目前按照变形所采用的方法,可将现有的皮肤变形方法分为两大类:

第一类是基于几何的皮肤变形。这类方法不考虑人体的物理属性,纯 粹利用几何方法进行人体建模和皮肤变形。这类方法一般将角色模型分为 两个层次:第一层为骨架层,按照角色身体的层次关系排列,形成角色动 画系统的基础;第二层为皮肤层,由多边形或曲面组成的表面模拟皮肤的 几何外形。皮肤层包裹在骨架周围,其变形由底层的骨架驱动。这类方法 具有简单、快速的特点,但由于较少考虑生物解剖结构,对复杂的运动状 态或变形强度大的角色不能适用,对于表现物理真实性角色的运动效果不 是很好。

第二类是基于物理的皮肤变形。这类方法针对人体内部组织进行几何 建模,然后根据质量、刚度等物理和属性建立物理模型,建立力学方程, 得到人体皮肤的物理变形。这类方法能够获得视觉真实感和物理真实感的 双重逼真效果;然而,人体结构的复杂性和物理计算的繁琐,使得这类模 型的计算速度非常慢,即使最新的高度优化的算法也不能达到实时性。

发明内容

(一)要解决的技术问题

本发明的目的是提供一种基于几何的虚拟角色模型皮肤变形的方法, 使其在复杂的运动状态或变形幅度较大时不易发生褶皱、穿插等错误,呈 现形变速度快、质量高等运动效果。

(二)技术方案

为了实现上述目的,本发明提供了一种基于几何变形的三维动画角色 模型皮肤变形方法,其包括如下步骤:

步骤1:根据初始角色模型的骨架结构,将初始角色模型划分为关节 区域和骨骼区域,并手动标定骨骼区域间的变形控制点;

步骤2:根据用户设定的形体缩放参数以及标定的变形控制点,基于 自由变形技术对初始角色模型的骨骼区域进行几何变形操作;

步骤3:在几何变形后,调整关节对顶点的影响权重;

步骤4:根据关节对关节区域和骨骼区域上顶点的影响权重,采用双 四元数法驱动角色模型进行平移和旋转运动,生成生动逼真的皮肤变形效 果。

(三)有益效果

本发明针对虚拟角色动画提出了一种新的角色模型制作及其皮肤变 形方法,将离线优化处理与在线实时计算相结合,克服了传统基于几何的 皮肤变形方法在复杂的运动状态或变形幅度较大时易发生畸变等缺点。本 发明能够在保证实时性的同时获得与基于物理的变形方法相似的皮肤变 形效果,提高了三维角色动画制作效率和互动应用体验的真实性。

附图说明

图1是本发明中基于几何变形的三维动画角色模型皮肤变形方法的基 本流程图。

图2是本发明的模型骨骼区域控制点的示意图。

图3是本发明的模型区域划分流程图。

图4是本发明的小腿模型划分的效果图,为膝关节区域和小腿骨骼区 域。

图5是本发明的几何变形流程图。

图6是本发明的小腿自由变形Bezier控制体的包围体。

图7是本发明的皮肤权重调整流程图。

图8是本发明的热平衡计算的结果图。

图9是本发明的驱动模型运动流程图。

图10是本发明在扭曲幅度较大时与常规方法的比较图。

图11是本发明在拉伸幅度较大时的效果图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实 施例,并参照附图,对本发明进一步详细说明。

图1示出了本发明提出的基于几何变形的三维动画角色模型皮肤变形 的方法流程图。如图1所示,该方法主要分为四个基本步骤:

(1)模型预处理步骤:根据初始模型的骨架结构,将模型划分为关 节区域和骨骼区域,并手动标定骨骼区域的变形控制点;

(2)几何变形步骤:根据用户设定的形体缩放参数,基于自由变形 技术对模型的骨骼区域进行拉伸等几何变形操作;

(3)权重调整步骤:模型几何变形后,模型关节区域的顶点相对关 节位置发生变化,重新计算该区域顶点的权重;

(4)驱动模型运动步骤:在模型完成几何变形和皮肤权重调整后, 采用双四元数法驱动模型进行平移和旋转运动,生成生动逼真的皮肤变形 效果。

下面详细说明每个步骤。

(1)模型预处理步骤中:根据初始模型的骨架结构,将模型划分为 关节区域和骨骼区域,并手动标定骨骼区域的变形控制点。变形控制点是 在模型的骨骼区域上,沿骨骼轴向选定的一系列控制点,用于几何变形中 轴向形变量的计算。图2中深色区域为小腿骨骼区域,而黑色圆点即为其 变形控制点。

初始模型为网格模型,且网格内部绑定了由关节和骨骼组成的骨架结 构。骨架结构表示人体的基本结构,常用树状层次结构来表示;网格模型 位于骨架结构外部,由三角形面片或四边形构成。动画师使用建模软件给 网格模型的每一个顶点关联一组骨骼,并设定表示骨骼对该顶点影响大小 的权重。这样,当骨架结构运动时,驱动外部的网格模型,使其发生变形。

图3示出了本发明中根据初始模型的骨架结构进行模型区域划分的方 法步骤流程图。如图3所示,模型区域划分步骤包括以下步骤:

步骤11,根据骨架结构的关节位置,确定各关节的中心截面及组成中 心截面的模型顶点。本发明在确定关节中心截面时,采用了法平面求交的 算法,具体步骤是:以关节位置为原点,以骨骼轴向为法向量建立法平面; 求出法平面与网格模型的相交线段;顺序连接这些线段即可得到中心截面。 线段的顶点即为组成中心截面的模型顶点。

步骤12,沿骨骼轴向分别向上、向下移动中心截面,平移量优选为骨 骼长度的1/10,采用步骤11中的法平面求交方法确定关节两侧的边界截 面及组成边界截面的模型顶点;

步骤13,确定关节两侧的边界截面组成的区域为关节区域,两个关节 间相邻的两个边界截面组成的区域为骨骼区域。

图4相应地展示了本发明中定义的膝关节区域和小腿骨骼区域。如图 4所示,骨骼区域为边界截面之间的区域,关节区域为关节中心横截面沿 轴向上、下平移后边界截面之间的区域。

(2)几何变形步骤中:根据用户设定的形体缩放参数,基于自由变 形技术对模型的骨骼区域进行拉伸等几何变形操作。

图5示出了本发明中几何变形的步骤流程图。如图5所示,几何变形 步骤具体包括:

步骤21:接受用户设定的骨骼区域形体缩放参数,如腰围,身高等;

步骤22:针对用户指定的骨骼区域,创建包含骨骼区域中模型网格体 的轴对齐包围盒,即与模型的坐标轴对齐的长方体,其为包含该模型网格 体的最小矩形,矩形的各个边与模型的坐标轴平行;模型的坐标轴为建立 初始模型时设定的坐标系下的坐标轴;

步骤23:针对骨骼区域上的顶点,计算每个顶点在轴对齐包围盒中相 应的局部坐标;所述骨骼区域上的顶点即为骨骼区域中模型网格体上网格 交叉顶点;

步骤24:根据用户设定的形体缩放参数,建立两类形变函数,分别用 于轴向、径向形变量的计算;

步骤25:利用两类形变函数对骨骼区域顶点进行空间变换,得到形变 后各个顶点的坐标位置;这样每个顶点的空间位置会相应地发生改变,从 而实现了对物体的变形操作。

本发明使骨骼区域顶点沿其法向量方向移动,在形变过程中,不会对 光照效果和角色蒙皮进行额外的计算。由于它的高效性,使其对于实时应 用非常合适。

令M为某个骨骼区域,区域上的顶点集定义如下:这里n为骨骼区域顶点的数目。对于第i个顶点使用如下定义: vi=(xi,yi,zi),vi,1=xi,vi,2=yi,vi,3=zi。x、y、z为建立初始模型时确定的 坐标系下的顶点坐标。同时,定义v′i为骨骼区域中顶点vi发生形变后的新 位置,有:

vi=vi+ni(Σj=1ksjfj(L(vi)))---(1)

其中,k=2为应用到骨骼区域M上的形变函数的数量,形变函数可 以为径向、轴向或两者皆有。ni为vi的法向量,由于形变方向与法线方向 一致,形变后,法向量ni不变。sj为第j个形变函数的缩放参数,其中 sj=(sjx,sjy,sjz)的标量值分别定义相应轴向的缩放参数,由用户分别指定。 fj为第j个形变函数,其中f:R3→R3,0≤f(v)m≤1,m=1,2,3,表示三个坐 标轴方向。L为规范化的局部坐标函数,其中 L:R3→R3,0≤L(v)m≤1,m=1,2,3。令X为骨骼区域M的包围盒,可用三 条坐标轴的最小值Xmin,1、Xmin,2、Xmin,3和最大值Xmax,1、Xmax,2、Xmax,3表 示,这些值可通过骨骼区域全部顶点在相应坐标轴投影的极值获得。

图6示出了本发明中小腿自由变形Bézier控制体的包围盒,在包围盒 上,L可用如下方式计算:

L(vi)=(vi,1-Xmin,1Xmax,1-Xmin,1,vi,2-Xmin,2Xmax,2-Xmin,2,vi,3-Xmin,3Xmax,3-Xmin,3)---(2)

应用到骨骼区域M上的形变函数有两类,第一类形变函数使用Bézier 曲线计算轴向形变量,其定义如下:

f1(L(v))=(a,b,c)     (3)

其中,三元组(a,b,c)中a、b、c为三个标量,其中两项为0,第三项 可由C(L(v)m),m=1,2,3计算。以小腿区域为例,其轴向为y轴,则 f1(L(v))=(0,C(L(v)2),0)。这里,C(u)为t阶Bézier曲线,定义如下:

C(u)=Σl=0tBt,l(u)Pl,0u1---(4)

其中,为n阶Bernstein多项式, Pl,l=1,..,t为该区域的变形控制点的坐标,t为变形控制点个数。

第二类形变函数采用局部坐标计算法平面的径向形变量。取小腿骨骼 上一点为法平面的原点,通过公式L(vi)在法平面的投影可以找到顶点在 法平面坐标轴上的局部坐标。例如,小腿区域的轴向为y轴,顶点vi的局 部坐标向量为L(vi),其法平面的投影向量为:

L(vi)proj=(vi,1-Xmin,1Xmax,1-Xmin,1,0,vi,3-Xmin,3Xmax,3-Xmin,3)---(5)

则第二类形变函数定义如下:

f2(L(vi))=L(vi)proj=(vi,1-Xmin,1Xmax,1-Xmin,1,0,vi,3-Xmin,3Xmax,3-Xmin,3)---(6)

最后,根据这两类形变函数分别计算轴向偏移量和径向偏移量即可根 据公式(1)获得模型骨骼区域顶点的最终位置。

(3)顶点权重调整步骤:模型几何变形后,模型关节区域的顶点相 对关节位置发生变化,重新计算该区域顶点的权重。

该步骤3顶点权重调整只针对关节区域,骨骼区域可仍然使用原有的 顶点权重。

调整后权重的期望特征如下:首先,权重不应依赖模型精度;其次, 为了达到好的变形结果,权重应该沿模型表面平滑变化;最后,为了避免 折叠缺陷,两骨骼间关节交汇处的过渡宽度应该与关节到皮肤表面的距离 成比例关系。虽然可以完全基于骨骼距离的方法赋予权重来满足上述特征, 但由于忽略了角色模型的几何特征,这种方法通常是无效的,如将躯干的 部分连接到了胳膊上的关节。

图7示出了本发明中皮肤权重调整步骤的流程图。如图7所示,该步 骤具体包括:

步骤31:假设角色模型体为绝缘热导体,对模型体表面建立热平衡方 程。

步骤32:由于系统为稀疏线性系统,将线性系统分解,并采用回代法 计算影响该顶点的每个关节的权重。

本发明优选实施例中采用基于热平衡的方法来对模型皮肤赋予权重。 假设角色模型为不占容积的热导体,令某段关节i的温度为1,其他关节的 温度为0。当热平衡后,就可以将模型表面上每个顶点的温度值作为关节i 对顶点影响的权重。

图8示出了本发明中热平衡计算的结果展示图。

由于对模型体求解热平衡需要进行繁琐的模型细分操作,本发明对此 进行了简化:只对模型表面求解平衡方程,同时,对某些顶点,增加从最 邻近关节传导的热量。当热量扩散平衡时,网格表面各顶点处的温度即为 此关节相对于这些顶点的影响权重。假设模型关节的数量为m,顶点的数 量为n,则对于关节i其表面热平衡方程为:

wit=Δwi+H(pi-wi)=0,

可简化为:

-Δwi+Hwi=Hpi

这里Δ表示离散曲面的拉普拉斯算子;wi是一个n×1的向量,表示关 节i对模型所有n个顶点的影响权重;pi是一个n×1的向量,对于网格上的 任意顶点j,如果关节i离它最近,则否则H为n×n对角 矩阵,其中Hjj为离顶点j最近关节所贡献的热权重。令d(j)为顶点j与其 最近关节的距离,当顶点到关节的最短线段包含在模型内部时, Hjj=c/d(j)2,否则Hjj=0。可用预计算的距离场来判断该线段是否完全 包含在角色体内。c为关节i的温度,一般令其取值为1时,此时方程为各 向异性热量扩散方程,能够获得更加自然的变形效果。为了获得更好的变 形效果,允许一个顶点同时绑定到多段不同关节上。当k个关节与顶点j等 距时,所有的关节贡献的热权重都会用到,此时pj=1/k,Hjj=kc/d(j)2

方程-Δwi+Hwi=Hpi为稀疏线性系统,左侧的矩阵-Δ+H不依赖关 节i。因此,可将该线性系统分解,然后用常见的回代法计算每个关节对 各个顶点的影响权重。

(4)驱动模型运动步骤:在模型完成几何变形和皮肤权重调整后, 采用双四元数法驱动模型进行平移和旋转运动,生成生动逼真的皮肤变形 效果。

图9示出了本发明中驱动模型运动步骤的流程图。如图9所示,该步 骤具体包括:

步骤41,将模型运动数据中的矢量位移和旋转矩阵转化为双四元数表 示:

步骤42,采用双四元数法计算与模型顶点相关的关节运动数据,并进 行混合。

步骤43,将顶点的最终的双四元数转换为变换矩阵,对模型顶点进行 平移和旋转运动,生成生动逼真的皮肤变形效果。

一个四元数q包含一个标量分量和一个3D向量分量,记标量分量为θ, 向量分量为(x,y,z),则q=θ+xi+yj+zk或q=(θ,x,y,z),其中i,j,k为向 量单位,满足i2=j2=k2=ijk=-1,标量分量θ和向量分量(x,y,z)均为模 型变形时预先指定的值。双四元数可表示为两个四元数的和,即 ,其中q0为双四元数的实部,qε为双四元数的虚部,ε为双数 单位,满足ε2=0。双数单位ε与四元数向量单位i,j,k满足可交换性,如 εi=iε。

模型关节在某一时刻的运动变换由旋转和平移组成。假设旋转用单位 四元数q表示,平移用向量(tx,tv,t2)表示,也可表示为单位双四元数 则此刻的运动变换可表示为两者的组合,记为双四元 数如下所示:

q^=(1+ϵ2(txi+tyj+tzk))q=q+ϵ2(txi+tyj+tzk)q.

假设模型顶点v′i受关节j1,...,jn影响且相应权重为关 节的运动变换可根据上式表示为双四元数则该顶点的运动变换 可表示为关节运动变换的线性混合,即记b0和bε分别为的实部和虚部,即则相应的单位四元数可由c0和cε表示,计算方法如下所示:

c0=b0/||b0||=(c01,c02,c03,c04),

cε=bε/||bε0=(cε1,cε2,cε3,cε4)。

由于四元数c0=(c01,c02,c03,c04)表示顶点的旋转变换,可直接表示为矩 阵形式:

1-2c032-2c0422c02c03+2c01c042c02c04-2c01c032c02c03-2c01c041-2c022-2c0422c03c04+2c01c022c02c04+2c01c032c03c04-2c01c021-2c022-2c032.

同时,模型顶点的平移变换(t0,t1,t2)为2cε的虚部,其中为c0的共 轭,可通过让四元数的向量部分变负来获得。则平移变换(t0,t1,t2)为:

t0=2(-cε1c02+cε2c01-cε3c04+cε4c03),

t1=2(-cε1c03+cε2c04+cε3c01-cε4c02),

t2=2(-cε1c04-cε2c03+cε3c02+cε4c01)。

这样,模型顶点的运动变换矩阵M为:

M=1-2c032-2c0422c02c03+2c01c042c02c04-2c01c03t02c02c03-2c01c041-2c022-2c0422c03c04+2c01c02t12c02c04+2c01c032c03c04-2c01c021-2c022-2c032t2

最后,模型的顶点v″j的最终位置为

v″i=MVi

至此,我们可以采用双四元数法驱动模型进行平移和旋转运动,生成 生动逼真的皮肤变形效果。图10示出了经过上述驱动模型步骤后生成的 模型扭转的皮肤变形效果图;图11示出了经过上述驱动模型步骤后生成 的模型拉伸的皮肤变形效果图;

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而 已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号