CN115049768A - 创建角色动画模型方法、装置、计算机设备和存储介质 - Google Patents

创建角色动画模型方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN115049768A
CN115049768A CN202210984057.4A CN202210984057A CN115049768A CN 115049768 A CN115049768 A CN 115049768A CN 202210984057 A CN202210984057 A CN 202210984057A CN 115049768 A CN115049768 A CN 115049768A
Authority
CN
China
Prior art keywords
finite element
mesh
vertex
skin
skeleton
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
Application number
CN202210984057.4A
Other languages
English (en)
Other versions
CN115049768B (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.)
Shenzhen Zesen Software Technology Co ltd
Original Assignee
Shenzhen Zesen Software Technology Co ltd
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 Shenzhen Zesen Software Technology Co ltd filed Critical Shenzhen Zesen Software Technology Co ltd
Priority to CN202210984057.4A priority Critical patent/CN115049768B/zh
Publication of CN115049768A publication Critical patent/CN115049768A/zh
Application granted granted Critical
Publication of CN115049768B publication Critical patent/CN115049768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请涉及一种创建角色动画模型方法、装置、计算机设备和存储介质。所述方法包括:获取有限元网格、皮肤网格以及骨骼网格,有限元网格包含肌肉纤维方向;再根据皮肤网格的顶点的位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,实现将皮肤网格嵌入到有限元网格中,再根据骨骼网格的顶点的位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,实现将骨骼网格嵌入到有限元网格中;基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数融合得到准静态方程;基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,提高角色动画模型对应的三维动画角色在力的作用下产生自然形变的准确性。

Description

创建角色动画模型方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种创建角色动画模型方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,三维动画设计在产业发展中取得了巨大的经济效益和社会效益,而三维动画角色的设计是三维动画设计中的重要部分。
传统技术中,创建数字角色动画模型时需要人工对三维动画中数字角色的各个控制节点的影响权重进行绑定设置,然后再基于各个控制节点和所绑定的影响权重,生成数字角色模型所对应的三维动画,但采用人工绑定权重的方式,难以预先进行准确的配置,容易导致角色动画模型对应的三维动画角色发生非自然形变的情况。
发明内容
基于此,有必要针对上述技术问题,提供一种创建角色动画模型方法、装置、计算机设备和存储介质,提高角色动画模型对应的三维动画角色在力的作用下产生自然形变的准确性。
一种创建角色动画模型方法,包括:
获取有限元网格、皮肤网格以及骨骼网格,有限元网格包含肌肉纤维方向,有限元网格在发生形变时由肌肉纤维方向确定有限元网格的膨胀或收缩方向;
根据皮肤网格的顶点的位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,皮肤顶点有限元单元为有限元网格中包含皮肤网格的顶点的有限元单元,皮肤顶点质心插值权重表示皮肤顶点有限元单元与皮肤网格的顶点之间的位置关联关系;
根据骨骼网格的顶点的位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,骨骼顶点有限元单元为有限元网格中包含骨骼网格的顶点的有限元单元,骨骼顶点质心插值权重表示骨骼顶点有限元单元与骨骼网格的顶点之间的位置关联关系;
基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程,弹性势能函数用于表征有限元网格在形变时所产生的弹性势能大小,准静态方程用于表征有限元网格所受外力与弹性力的平衡程度;
基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,角色动画模型建立了皮肤网格、有限元网格以及骨骼网格之间的关联关系。
在一个实施例中,基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程,包括:
根据骨骼网格的顶点位置信息、骨骼顶点质心插值权重、骨骼有限元位置因子以及骨骼顶点有限元单元体积值融合得到骨骼驱动项,骨骼有限元位置因子为骨骼顶点有限元单元的顶点的位置信息,骨骼驱动项用于表征骨骼网格的顶点与骨骼顶点有限元单元的位置差异;
根据骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程。
在一个实施例中,根据骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程,包括:
获取有限元网格的形变梯度,形变梯度用于表征有限元网格的局部形变程度;
对形变梯度进行奇异值分解,得到形变梯度对应的奇异值;
基于奇异值融合得到局部弹性势能函数;
基于局部弹性势能函数融合得到有限元网格的弹性势能函数;
基于骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程。
在一个实施例中,获取有限元网格的形变梯度,包括:
获取前置因子,前置因子为有限元网格中有限元单元的顶点在初始形变前的位置信息;
获取后置因子,后置因子为有限元网格中有限元单元的顶点在初始形变后的位置信息;
基于前置因子与后置因子融合得到有限元网格的形变梯度。
在一个实施例中,基于骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程,包括:
获取重力驱动项,重力驱动项表示重力场对有限元网格所施加的重力作用;
基于骨骼驱动项、重力驱动项与有限元网格的弹性势能函数融合得到准静态方程。
在一个实施例中,基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,包括:
通过求解准静态方程,得到有限元网格在受力平衡状态下有限元单元的顶点形变后的位置信息;
根据皮肤顶点质心插值权重与皮肤顶点有限元单元的顶点形变后的位置信息,得到角色动画模型,角色动画模型用于求解对应形变后皮肤网格的顶点的位置信息。
在一个实施例中,角色动画模型中,皮肤网格被包含在有限元网格内部,骨骼网格被包含在皮肤网格内部。
一种创建角色动画模型装置,包括:
网格获取模块,用于获取有限元网格、皮肤网格以及骨骼网格,有限元网格包含肌肉纤维方向,有限元网格在发生形变时由肌肉纤维方向确定有限元网格的膨胀或收缩方向;
皮肤顶点质心插值权重生成模块,用于根据皮肤网格的顶点的位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,皮肤顶点有限元单元为有限元网格中包含皮肤网格的顶点的有限元单元,皮肤顶点质心插值权重表示皮肤顶点有限元单元与皮肤网格的顶点之间的位置关联关系;
骨骼顶点质心插值权重生成模块,用于根据骨骼网格的顶点的位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,骨骼顶点有限元单元为有限元网格中包含骨骼网格的顶点的有限元单元,骨骼顶点质心插值权重表示骨骼顶点有限元单元与骨骼网格的顶点之间的位置关联关系;
准静态方程生成模块,用于基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程,弹性势能函数用于表征有限元网格在形变时所产生的弹性势能大小,准静态方程用于表征有限元网格所受外力与弹性力的平衡程度;
角色动画模型生成模块,用于基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,角色动画模型建立了皮肤网格、有限元网格以及骨骼网格之间的关联关系。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取有限元网格、皮肤网格以及骨骼网格,有限元网格包含肌肉纤维方向,有限元网格在发生形变时由肌肉纤维方向确定有限元网格的膨胀或收缩方向;
根据皮肤网格的顶点的位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,皮肤顶点有限元单元为有限元网格中包含皮肤网格的顶点的有限元单元,皮肤顶点质心插值权重表示皮肤顶点有限元单元与皮肤网格的顶点之间的位置关联关系;
根据骨骼网格的顶点的位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,骨骼顶点有限元单元为有限元网格中包含骨骼网格的顶点的有限元单元,骨骼顶点质心插值权重表示骨骼顶点有限元单元与骨骼网格的顶点之间的位置关联关系;
基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程,弹性势能函数用于表征有限元网格在形变时所产生的弹性势能大小,准静态方程用于表征有限元网格所受外力与弹性力的平衡程度;
基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,角色动画模型建立了皮肤网格、有限元网格以及骨骼网格之间的关联关系。
一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取有限元网格、皮肤网格以及骨骼网格,有限元网格包含肌肉纤维方向,有限元网格在发生形变时由肌肉纤维方向确定有限元网格的膨胀或收缩方向;
根据皮肤网格的顶点的位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,皮肤顶点有限元单元为有限元网格中包含皮肤网格的顶点的有限元单元,皮肤顶点质心插值权重表示皮肤顶点有限元单元与皮肤网格的顶点之间的位置关联关系;
根据骨骼网格的顶点的位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,骨骼顶点有限元单元为有限元网格中包含骨骼网格的顶点的有限元单元,骨骼顶点质心插值权重表示骨骼顶点有限元单元与骨骼网格的顶点之间的位置关联关系;
基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程,弹性势能函数用于表征有限元网格在形变时所产生的弹性势能大小,准静态方程用于表征有限元网格所受外力与弹性力的平衡程度;
基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,角色动画模型建立了皮肤网格、有限元网格以及骨骼网格之间的关联关系。
上述创建角色动画模型方法、装置、计算机设备和存储介质,通过获取有限元网格、皮肤网格以及骨骼网格,其中,有限元网格包含肌肉纤维方向,有限元网格在发生形变时由肌肉纤维方向确定有限元网格的膨胀或收缩方向;再根据皮肤网格的顶点位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,实现将皮肤网格嵌入到有限元网格中,再根据骨骼网格的顶点位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,实现将骨骼网格嵌入到有限元网格中;基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程;基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,由此通过角色动画模型建立了皮肤网格、有限元网格以及骨骼网格之间的关联关系。这样,角色动画模型的骨骼网格或其他外力负载来驱动着有限元网格的运动或发生形变,再由有限元网格的运动或形变带动着皮肤网格的运动或形变,而且在有限元网格发生非线性的体积形变时,皮肤网格的形变方向以及形变程度能够通过肌肉纤维方向进行自适应地调整,另外,肌肉在没有外力负载作用的情况下,也能通过自身电信号激发可以自主发生形变,也会驱使着有限元网格中的有限元单元沿着肌肉纤维方向发生形变,使之产生自然形变,提高角色动画模型对应的三维动画角色在力的作用下产生自然形变的准确性。
附图说明
图1为一个实施例中创建角色动画模型方法的应用环境图;
图2为一个实施例中创建角色动画模型方法的流程示意图;
图3为一个实施例中构建准静态方程的流程示意图;
图4为一个实施例中基于骨骼驱动项构建准静态方程的流程示意图;
图5为一个实施例中生成形变梯度的流程示意图;
图6为一个实施例中构建含重力驱动的准静态方程的流程示意图;
图7为一个实施例中生成角色动画模型的流程示意图;
图8为一个实施例中数字动画角色的有限元网格的示意图;
图9为一个实施例中内嵌有肌肉模型的有限元网格的示意图;
图10为一个实施例中内嵌有皮肤网格的有限元网格的示意图;
图11为一个实施例中内嵌有皮肤网格的有限元网格局部放大的示意图;
图12为一个实施例中内嵌有骨骼网格的有限元网格的示意图;
图13为一个实施例中有限元网格、皮肤网格以及骨骼网格绑定后的示意图;
图14为一个实施例中创建角色动画模型装置结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的创建角色动画模型方法,可以应用于如图1所示的应用环境中。如图1所示,计算机设备102获取数字动画角色的皮肤网格模型、骨骼网格模型以及有限元网格,计算机设备102利用质心插值的方式将数字动画角色的皮肤网格嵌入到有限元网格中,将骨骼网格嵌入到有限元网格中,使得皮肤网格被包裹在有限元网格内部,骨骼网格被包裹在皮肤网格内部,再根据骨骼顶点质心插值权重与有限元网格的弹性势能函数构建角色模型的准静态方程,在基于准静态方程与皮肤顶点质心插值权重得到角色动画模型。其中,计算机设备102具体可以包括但不限于各种个人计算机、笔记本电脑、服务器、智能手机、平板电脑、智能摄像机和便携式可穿戴设备等。
在一个实施例中,如图2所示,提供了一种创建角色动画模型方法,以该方法应用于图1中的计算机设备102为例进行说明,包括以下步骤:
步骤S202,获取有限元网格、皮肤网格以及骨骼网格,有限元网格包含肌肉纤维方向,有限元网格在发生形变时由肌肉纤维方向确定有限元网格的膨胀或收缩方向。
其中,动画对象的有限元网格是用于接受各种外力以及骨骼驱动力作用而产生的形变的三维动画角色模型,如图8所示;皮肤网格是内嵌在动画对象有限元网格上的三维皮肤模型,皮肤模型是用于展示或表现动画对象的外表面具体细节、形状的三维动画模型;骨骼网格是用于提供使动画对象的有限元网格发生形变的骨骼驱动力得骨骼模型;动画对象的有限元网格、皮肤网格以及骨骼网格可以采用四面体网格或六面体网格或三角形网格等方法来进行有限元的划分,使得动画对象的有限元网格、皮肤网格以及骨骼网格都是由一个个有限元单元组成的模型,这里不作限制,有限元网格中包含肌肉区域,如图9所示,肌肉区域中的有限元各顶点具有肌肉纤维方向信息,即肌肉区域中的有限元各顶点具有空间上不发生交叉的方向梯度场,肌肉区域的形变具有各向异性,在发力的情况下,会沿着垂直于肌肉纤维的方向发生膨胀,也就是,当有限元网格在外力作用下产生形变或通过自身电信号激发而自主发生形变时,使得有限元网格、皮肤网格沿着垂直于肌肉纤维的方向发生膨胀、收缩的自然形变,形变表示形状发生改变,有限元单元发生形变,表示有限元的空间位置、自身形状以及各顶点的位置发生改变。
具体地,计算机设备获取肌肉纤维方向
Figure DEST_PATH_IMAGE002_20A
以及两个彼此垂直且垂直于纤维方向 的两个方向矢量
Figure DEST_PATH_IMAGE004_10A
Figure DEST_PATH_IMAGE006_10A
,将三个向量组成一个旋转矩阵,用R表示每一个有限单元的肌肉 纤维方向,设置沿着肌肉纤维方向的形变值为
Figure DEST_PATH_IMAGE008_12A
,两个彼此垂直且垂直于纤维方向的两个 方向矢量
Figure DEST_PATH_IMAGE010_9A
Figure DEST_PATH_IMAGE012_15A
对应的形变值为
Figure 355052DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE016_7A
,将形变用一个对称阵
Figure DEST_PATH_IMAGE018_8A
来表达:
Figure DEST_PATH_IMAGE020_8A
,公式1
其中
Figure DEST_PATH_IMAGE022_8A
为以
Figure DEST_PATH_IMAGE024_8A
为对角元的对角阵,由此得到初始状态的形 变表达为:
Figure DEST_PATH_IMAGE026_8A
,公式2
其中,
Figure DEST_PATH_IMAGE028_8A
为有限元网格未考虑肌肉形变的各向异性时的初始状态;
Figure DEST_PATH_IMAGE030_8A
为有限元网 格考虑到肌肉形变的各向异性时的初始状态;再将
Figure DEST_PATH_IMAGE031AAAA
加入到后续有限元网格弹性势能函数 中计算,得出准静态方程,计算肌肉的发力与各向异性的形变。
步骤S204,根据皮肤网格的顶点的位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,皮肤顶点有限元单元为有限元网格中包含皮肤网格的顶点的有限元单元,皮肤顶点质心插值权重表示皮肤顶点有限元单元与皮肤网格顶点之间的位置关联关系。
其中,皮肤网格的顶点也是皮肤网格中有限元单元的各个顶点,以四面体单元为例,皮肤网格上的每个有限元单元都有四个顶点,皮肤顶点质心插值权重用于描述空间中皮肤网格的顶点相对于皮肤顶点有限元单元的各顶点的位置变换插值权重,皮肤顶点有限元单元为有限元网格中包含皮肤网格的顶点的有限元单元,位置变换插值权重表示皮肤顶点有限元单元与皮肤网格顶点之间的位置关联关系。
具体地,计算机设备将皮肤网格调整到有限元网格中合适的位置,再获取皮肤网 格的顶点P的位置坐标与有限元网格中包含了该皮肤顶点P的四面体单元
Figure DEST_PATH_IMAGE033_7A
各顶点P 0,P 1,P 2,P 3的位置坐标,则得到点P关于四个四面体的质心插值权重
Figure DEST_PATH_IMAGE035_7A
,质心插值 权重满足如下公式3:
Figure DEST_PATH_IMAGE037_7A
,公式3
其中,
Figure DEST_PATH_IMAGE039_7A
Figure DEST_PATH_IMAGE041_8A
Figure DEST_PATH_IMAGE043_8A
Figure DEST_PATH_IMAGE045_8A
V表示由四个点组成的四面体的体积,例如
Figure DEST_PATH_IMAGE047_8A
表示 由
Figure DEST_PATH_IMAGE049_7A
四个点组成的四面体的体积,
Figure DEST_PATH_IMAGE051_7A
满足
Figure DEST_PATH_IMAGE053_7A
,当有限元网格发生形变时,设四面体单元
Figure DEST_PATH_IMAGE055_7A
对应的四个形变后的 顶点坐标为
Figure DEST_PATH_IMAGE057_7A
,则可以计算插值后新的皮肤顶点随着有限元网格有限元单元 形变后的坐标
Figure DEST_PATH_IMAGE059_7A
为:
Figure DEST_PATH_IMAGE061_7A
,从而通过皮肤顶 点质心插值权重将皮肤网格嵌入到有限元网格的初始形状当中,建立了有限元网格中包含 了该皮肤顶点的四面体单元
Figure DEST_PATH_IMAGE063_7A
与皮肤网格顶点P之间的位置关联关系。
步骤S206,根据骨骼网格的顶点的位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,骨骼顶点有限元单元为有限元网格中包含骨骼网格的顶点的有限元单元,骨骼顶点质心插值权重表示骨骼顶点有限元单元与骨骼网格的顶点之间的位置关联关系。
其中,骨骼网格的顶点就是骨骼网格中有限元单元的各个顶点,以四面体单元为例,骨骼网格上的每个有限元单元都有四个顶点,骨骼顶点质心插值权重用于描述空间中骨骼网格顶点相对于骨骼顶点有限元单元的各顶点的位置变换插值权重,而骨骼顶点有限元单元是动画对象的有限元网格上包含该骨骼网格的顶点的四面体单元,骨骼顶点质心插值权重表示了骨骼顶点有限元单元与骨骼网格的顶点之间的位置关联关系。
具体地,计算机设备将骨骼网格调整到皮肤网格内部合适的位置,再获取骨骼网 格的顶点P的位置坐标与有限元网格中包含了该骨骼顶点的四面体单元
Figure DEST_PATH_IMAGE065_7A
各顶点P 0,P 1,P 2,P 3的位置坐标,则得到点P关于四个四面体的质心插值权重
Figure DEST_PATH_IMAGE067_7A
,质心插值权重 满足:
Figure DEST_PATH_IMAGE069_7A
,公式4
其中,
Figure DEST_PATH_IMAGE070_5A
Figure DEST_PATH_IMAGE071_11A
Figure DEST_PATH_IMAGE072_7A
Figure DEST_PATH_IMAGE073_8A
V表示由四个点组成的四面体的体积,例如
Figure DEST_PATH_IMAGE075_7A
表示由
Figure 991831DEST_PATH_IMAGE077
四个点组成的四面体的体积,
Figure 727706DEST_PATH_IMAGE079
满足
Figure DEST_PATH_IMAGE081_9A
,当有 限元网格发生形变时,设四面体单元
Figure DEST_PATH_IMAGE083_8A
对应的四个形变后的顶点坐标为
Figure DEST_PATH_IMAGE085_7A
, 则可以计算插值后新的骨骼顶点随着有限元网格有限元单元形变后的坐标
Figure DEST_PATH_IMAGE087_7A
为:
Figure DEST_PATH_IMAGE089_7A
,从而通过骨骼顶点质心插值权重将皮肤网格 嵌入到有限元网格的初始形状当中,建立了有限元网格中包含了该骨骼顶点的四面体单元
Figure DEST_PATH_IMAGE090_9A
与骨骼网格顶点P之间的位置关联关系。
步骤S208,基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程,弹性势能函数用于表征有限元网格在形变时所产生的弹性势能大小,准静态方程用于表征有限元网格所受外力与弹性力的平衡程度。
其中,有限元网格的弹性势能函数由离散空间中有限元单元的弹性势能融合得到 的,对于离散网格上的任意一个有限单元
Figure DEST_PATH_IMAGE091_11A
,可以计算出相应的形变梯度
Figure DEST_PATH_IMAGE093_7A
、在初始形状下 有限元单元体积
Figure DEST_PATH_IMAGE095_7A
以及四面体四个面的面积法向
Figure DEST_PATH_IMAGE097_7A
,可以计算出有限元单 元因形变产生的弹性势能
Figure DEST_PATH_IMAGE099_7A
、有限元单元体的应力张量
Figure DEST_PATH_IMAGE101_7A
、单 元体四个顶点产生的弹性力
Figure DEST_PATH_IMAGE103_7A
,其中,
Figure DEST_PATH_IMAGE105_15A
为有限元网格上一个点处 的弹性势能函数。
设有限元网格的顶点数为N,有限元单元数为
Figure DEST_PATH_IMAGE107_17A
,将所有顶点的位置组成一个
Figure DEST_PATH_IMAGE109_17A
的向量,对于初始形状记为
Figure DEST_PATH_IMAGE111_14A
,形变形状记为
Figure DEST_PATH_IMAGE113_8A
。定义有限元单元选取矩阵为
Figure DEST_PATH_IMAGE115_11A
,用于 提取
Figure DEST_PATH_IMAGE116_10A
Figure DEST_PATH_IMAGE117_13A
中第e各有限元单元所对应的
Figure DEST_PATH_IMAGE119_12A
的子向量:
Figure 140320DEST_PATH_IMAGE121
Figure 12461DEST_PATH_IMAGE123
,定义组装 矩阵
Figure 740246DEST_PATH_IMAGE125
,用于将有限元单元体顶点组成的
Figure DEST_PATH_IMAGE119_13A
向量变换成重组成
Figure DEST_PATH_IMAGE109_18A
向量:
Figure DEST_PATH_IMAGE127_9A
Figure DEST_PATH_IMAGE129_7A
,进而得到整个有限元网格的弹性势能:
Figure DEST_PATH_IMAGE131_7A
,得到有限元网格顶点上的弹性力:
Figure DEST_PATH_IMAGE133_7A
,得到四面体网 格的海森矩阵:
Figure DEST_PATH_IMAGE135_7A
弹性物体在被施加外力负载,在给定边界条件 (一些固定的部位) 后,会发生形变,一般情况下形变是一个动态的过程,在稳定的外力负载以及边界条件下,因为阻尼力的存在,动态的形变会变成一种静态的受力平衡的形变。当力学***的阻尼比较大时,上述形变过程往往是瞬间发生的,在很短的时间内就到达了力平衡状态,称在足够短的时间 (远低于仿真的时间步长) 就到达平衡状态的过程为准静态过程 (quasi-static),准静态方程用于表征有限元网格所受外力与弹性力的平衡程度,在解算准静态过程时,往往直接解算其静态的平衡状态。设弹性体在准静态过程中受弹性力与重力,重力加速度计为 g,准静态过程本质上是在解平衡态,而平衡态是一个势能最低的状态,所以,可以把求解准静态过程转化为优化***机械能的问题:
Figure DEST_PATH_IMAGE137_7A
,公式5
其中,
Figure DEST_PATH_IMAGE139_7A
为骨骼驱动能量的强度,
Figure DEST_PATH_IMAGE141_7A
为骨骼网格各个顶点的位置,
Figure DEST_PATH_IMAGE143_7A
为骨骼驱 动项,是由骨骼顶点质心插值权重与有限元网格有限元单元的体积融合得到的,用于骨骼 驱动有限元网格,当有限元网格受到外力负载与自身弹性力达到受力平衡时,求解出这时 的各顶点的位置坐标
Figure DEST_PATH_IMAGE145_13A
,就是有限元网格形变后各顶点的坐标;可以使用牛顿迭代来求解 上述公式5,设方程解的初始假设为
Figure DEST_PATH_IMAGE147_13A
,迭代过程如下:
Figure DEST_PATH_IMAGE149_13A
,公式6
Figure DEST_PATH_IMAGE151_7A
,公式7
Figure DEST_PATH_IMAGE153_11A
,公式8
其中SDP算法(半正定规划算法)负责将非正定的矩阵投影成一个正定的矩阵,进 而保证牛顿迭代算法的稳定性,
Figure DEST_PATH_IMAGE155_7A
是后向线性搜索(Backtracking Line Search)的步长。
步骤S210,基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,角色动画模型建立了皮肤网格、有限元网格以及骨骼网格之间的关联关系。
其中,角色动画模型的输出就是内嵌于有限元网格中的皮肤网格上各顶点形变后的位置坐标。
具体地,计算机设备通过上述步骤求解出有限元网格形变后各顶点的位置信息后,根据有限元网格各顶点的位置信息与有限元网格与皮肤网格的位置关联关系(即皮肤顶点质心插值权重)得到形变后,皮肤网格各顶点对应的形变后的位置信息,进而得到形变后角色动画。
上述创建角色动画模型方法、装置、计算机设备和存储介质,通过获取有限元网格、皮肤网格以及骨骼网格,其中,有限元网格包含肌肉纤维方向,有限元网格在发生形变时由肌肉纤维方向确定有限元网格的膨胀或收缩方向;再根据皮肤网格的顶点位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,实现将皮肤网格嵌入到有限元网格中,如图10和图11所示,再根据骨骼网格的顶点位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,实现将骨骼网格嵌入到有限元网格中,如图12所示;基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程;基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,由此通过角色动画模型建立了皮肤网格、有限元网格以及骨骼网格之间的关联关系,如图13所示。这样,角色动画模型的骨骼网格或其他外力负载驱动有限元网格运动或发生形变,再由有限元网格的运动或形变带动着皮肤网格的运动或形变,而且在有限元网格发生非线性的体积形变时,皮肤网格的形变方向以及形变程度能够通过肌肉纤维方向进行自适应地调整,另外,肌肉在没有外力负载作用的情况下,也能通过自身电信号激发可以自主发生形变,也会驱使着有限元网格中的有限元单元沿着肌肉纤维方向发生形变,使之产生自然形变,提高角色动画模型对应的三维动画角色在力的作用下产生自然形变的准确性。
在一个实施例中,如图3所示,基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程,包括:
步骤S302,根据骨骼网格的顶点位置信息、骨骼顶点质心插值权重、骨骼有限元位置因子以及骨骼顶点有限元单元体积值融合得到骨骼驱动项,骨骼有限元位置因子为骨骼顶点有限元单元的顶点的位置信息,骨骼驱动项用于表征骨骼网格的顶点与骨骼顶点有限元单元的位置差异。
举例说明,设骨骼的顶点为
Figure DEST_PATH_IMAGE157_7A
,顶点数为
Figure DEST_PATH_IMAGE159_7A
,设每一个顶点所在的有限元单元为
Figure DEST_PATH_IMAGE161_11A
,有限元单元的四个顶点为
Figure DEST_PATH_IMAGE163_7A
,对应的有限元网格的有限元单元体积为
Figure DEST_PATH_IMAGE165_8A
, 对应的质心插值坐标为
Figure DEST_PATH_IMAGE167_7A
,定义骨骼驱动项为:
Figure DEST_PATH_IMAGE169_7A
,公式9
由公式9可知骨骼驱动项是一个关于
Figure 58357DEST_PATH_IMAGE171
的线性***,海森矩阵恒定且正定,将上述骨骼驱动项公式9加入到准静态方程中,不会产生不稳定的非正定行为。
步骤S304,根据骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程。
具体地,计算机设备基于上述步骤得到骨骼驱动项,根据骨骼驱动项与有限元网格的弹性势能函数进行融合,得到准静态方程。
本实施例中,根据骨骼网格的顶点位置信息、骨骼顶点质心插值权重、骨骼有限元位置因子以及与骨骼网格的顶点所对应的有限元网格的有限元单元体积值融合得到骨骼驱动项,再根据骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程,这样就可以将骨骼驱动力纳入到求解准静态方程的过程里,实现骨骼驱动有限元网格运动的功能。
在一个实施例中,如图4所示,根据骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程,包括:
步骤S402,获取有限元网格的形变梯度,形变梯度用于表征有限元网格的局部形变程度。
其中,形变梯度是由弹性体(在本方案中的有限元网格)发生形变后,由形变后弹 性体中顶点的位置与形变前弹性体中顶点的位置来确定,举例说明:弹性体在三维空间中 占据一段连续的空间,设在初始形状下,弹性体占据的空间为
Figure 264210DEST_PATH_IMAGE173
,设其中任意点的位置为
Figure 256437DEST_PATH_IMAGE175
,当弹性体相对于初始形状发生了形变后,设形变后的弹性体中各点的位置为
Figure 155123DEST_PATH_IMAGE177
, 对于任意一个弹性形变,定义一个从初始形状到形变形状的连续双向映射:
Figure DEST_PATH_IMAGE179_5A
,其中
Figure 68852DEST_PATH_IMAGE181
足以描述任何一种连续的弹性形变,对映射函数
Figure 547238DEST_PATH_IMAGE182
进行泰勒展开:
Figure DEST_PATH_IMAGE184_17A
,得到
Figure 128392DEST_PATH_IMAGE186
,令
Figure 932400DEST_PATH_IMAGE188
是一个
Figure 130163DEST_PATH_IMAGE190
矩阵,对其进 行极分解(Polar Decomposition):
Figure DEST_PATH_IMAGE192_6A
,其中R是一个
Figure 615503DEST_PATH_IMAGE193
的旋转矩阵,S是一个表征切 应变的
Figure 409470DEST_PATH_IMAGE194
的对称阵,将导数矩阵F称为形变梯度。
具体地,当有限元网格发生形变时,计算机设备随机给定一个形变梯度的初值,通过不断迭代的方式,求解上述步骤中的准静态方程,直到满足迭代停止条件。
步骤S404,对形变梯度进行奇异值分解,得到形变梯度对应的奇异值。
具体地,设有限元单元的形变梯度为
Figure 384379DEST_PATH_IMAGE196
,计算机设备对形变梯度
Figure 69439DEST_PATH_IMAGE197
进行奇异值分解,使得
Figure 420785DEST_PATH_IMAGE199
,得到三个奇异值
Figure 242111DEST_PATH_IMAGE201
,分别表达了单元体形变在三个形变主轴方向上的拉升收缩程度。
步骤S406,基于奇异值融合得到局部弹性势能函数。
具体地,计算机设备根据奇异值得到三个特征量:
Figure 653501DEST_PATH_IMAGE203
Figure DEST_PATH_IMAGE205_6A
Figure DEST_PATH_IMAGE207_7A
,再根据特征量融合得到局部弹性势能函数:
Figure DEST_PATH_IMAGE209_7A
,公式10
其中
Figure DEST_PATH_IMAGE211_17A
Figure 311009DEST_PATH_IMAGE213
为描述有限元网格硬度与保体积能力的拉梅系数。
步骤S408,基于局部弹性势能函数融合得到有限元网格的弹性势能函数。
具体地,计算机设备将每个有限元单元对应的局部弹性势能函数
Figure DEST_PATH_IMAGE215_5A
进行融合得 到有限元网格弹性势能函数
Figure DEST_PATH_IMAGE217_7A
,其中,
Figure DEST_PATH_IMAGE219_7A
为有限元网格 中有限元单元数。
步骤S410,基于骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程。
具体地,计算机设备将有限元网格的弹性势能函数
Figure DEST_PATH_IMAGE221_7A
与骨骼驱动项
Figure 479429DEST_PATH_IMAGE223
进 行融合得到准静态方程。
本实施例中,通过获取有限元网格的形变梯度,对形变梯度进行奇异值分解,得到形变梯度对应的奇异值,基于奇异值融合得到局部弹性势能函数,再基于骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程,这样就可以将骨骼驱动力纳入到求解准静态方程的过程里,实现骨骼驱动有限元网格运动的功能,同时有限元网格的弹性势能函数是由有限元网格中所有有限元单元对应的局部弹性势能函数融合得到的,所以当有限元网格发生形变时有限元网格的弹性势能函数能够反映有限元网格中每一个有限元单元所产生的弹性势能大小。
在一个实施例中,如图5所示,获取有限元网格的形变梯度,包括:
步骤S502,获取前置因子,前置因子为有限元网格中有限元单元的顶点在初始形变前的位置信息。
步骤S504,获取后置因子,后置因子为有限元网格中有限元单元的顶点在初始形变后的位置信息。
其中,初始形变后的位置信息可以是通过随机给定的方式确定,也可以是根据经验值确定,还可以是根据智能寻优算法通过迭代确定,如粒子群算法、遗传算法以及蜂群优化算法等,这里不作具体限制。
步骤S506,基于前置因子与后置因子融合得到有限元网格的形变梯度。
具体地,计算机设备获取有限元网格中有限元单元在初始状态下的四个顶点位置
Figure DEST_PATH_IMAGE225_5A
,其对应的形变状态下的四个顶点位置为
Figure 358523DEST_PATH_IMAGE227
,线性有限元表 示在一个有限元里,形变梯度不变,即
Figure 675235DEST_PATH_IMAGE229
Figure 69307DEST_PATH_IMAGE231
Figure 762457DEST_PATH_IMAGE233
Figure 558375DEST_PATH_IMAGE235
, 化简移项,得到形变梯度
Figure DEST_PATH_IMAGE237_5A
的方程:
Figure DEST_PATH_IMAGE239_7A
,公式11
Figure 721021DEST_PATH_IMAGE241
,公式12
Figure 71231DEST_PATH_IMAGE243
,公式13
由公式11、公式12以及公式13,得到有限元单元内的形变梯度
Figure 302492DEST_PATH_IMAGE245
本实施例中,通过获取有限元单元形变前各顶点的位置信息以及有限元单元形变后各顶点的位置信息,得到有限元单元的形变梯度,对于线性有限元,通过确定有限元单元的各顶点位置信息的形变梯度就能准确确定了有限元单元整体的形变梯度。
在一个实施例中,如图6所示,基于骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程,包括:
步骤S602,获取重力驱动项,重力驱动项表示重力场对有限元网格所施加的重力作用。
步骤S604,基于骨骼驱动项、重力驱动项与有限元网格的弹性势能函数融合得到准静态方程。
本实施例中,计算机设备获取重力驱动项
Figure 952917DEST_PATH_IMAGE247
,其中
Figure 877010DEST_PATH_IMAGE249
为一个由顶点所受重力
Figure 245675DEST_PATH_IMAGE251
组成的
Figure 280627DEST_PATH_IMAGE253
的向量,根据骨骼驱动项、重力驱动项与有限元网格的弹性势能函数融合得到准静态方程,得到准静态方程:
Figure 785557DEST_PATH_IMAGE255
,公式14
其中重力驱动项
Figure 880552DEST_PATH_IMAGE257
表示重力场对有限元网格所施加的重力作用,使得角色模型的皮肤呈现出正常重力场作用下的自然下垂感,提高了动画角色模型皮肤产生形变的自然视觉呈现。
在一个实施例中,如图7所示,基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,包括:
步骤S702,通过求解准静态方程,得到有限元网格在受力平衡状态下有限元单元的顶点形变后的位置信息。
步骤S704,根据皮肤顶点质心插值权重与皮肤顶点有限元单元的顶点形变后的位置信息,得到角色动画模型,角色动画模型用于求解对应形变后皮肤网格的顶点的位置信息。
本实施例中,计算机设备通过求解上述步骤中的准静态方程,得到形变后与皮肤 网格顶点
Figure 267671DEST_PATH_IMAGE259
对应的有限元网格的有限元单元顶点位置信息
Figure 840735DEST_PATH_IMAGE261
,由皮肤顶点质心 插值权重
Figure 465752DEST_PATH_IMAGE263
,得到角色动画模型,也就是皮肤网格顶点
Figure DEST_PATH_IMAGE265_5A
形变后的位置信息
Figure 669331DEST_PATH_IMAGE267
Figure 744079DEST_PATH_IMAGE269
,公式15
有上述公式15得到皮肤网格顶点
Figure 386413DEST_PATH_IMAGE271
形变后的位置坐标,同理,可以通过求解准静态方程得到有限元网格中所有有限元单元顶点形变后的新位置信息,根据所有有限元单元顶点形变后的新位置信息与皮肤顶点质心插值权重得到皮肤网格上所有顶点在形变后的新的位置坐标,进而得到整个形变后的皮肤网格各部分得位置信息,从而提高由有限元网格的形变来带动角色皮肤网格的运动的可靠性。
在一个实施例中,在角色动画模型中,皮肤网格被包含在有限元网格内部,骨骼网格被包含在皮肤网格内部。
本申请还提供一种应用场景,该应用场景应用上述的创建角色动画模型方法,该方法应用于创建三维动画角色模型的场景,具体地,该创建三维动画角色模型方法在该应用场景的应用如下:
计算机设备获取有限元网格、皮肤网格以及骨骼网格,其中,有限元网格包含肌肉纤维方向,有限元网格在发生形变时由肌肉纤维方向确定有限元网格的膨胀或收缩方向;计算机设备获取肌肉纤维方向
Figure 865936DEST_PATH_IMAGE273
以及两个彼此垂直且垂直于纤维方向的两个方向矢量
Figure 302733DEST_PATH_IMAGE275
Figure 867707DEST_PATH_IMAGE277
,将三个向量组成一个旋转矩阵
Figure 782573DEST_PATH_IMAGE279
,用R表示每一个有限单元的肌肉纤维方向,设置沿着肌肉纤维方向的形变值为
Figure 382182DEST_PATH_IMAGE281
,两个彼此垂直且垂直于纤维方向的两个方向矢量
Figure 989880DEST_PATH_IMAGE283
Figure 42150DEST_PATH_IMAGE285
对应的形变值为
Figure 760707DEST_PATH_IMAGE287
Figure 214822DEST_PATH_IMAGE289
,得到对称阵
Figure 993423DEST_PATH_IMAGE291
;其中
Figure 532988DEST_PATH_IMAGE293
为以
Figure 55237DEST_PATH_IMAGE295
为对角元的对角阵,由此得到初始状态的形变表达:
Figure 363858DEST_PATH_IMAGE297
,其中,
Figure 773412DEST_PATH_IMAGE299
为有限元网格未考虑肌肉形变的各向异性时的初始状态;
Figure 534695DEST_PATH_IMAGE301
为有限元网格考虑到肌肉形变的各向异性时的初始状态;再将
Figure 860634DEST_PATH_IMAGE303
加入到后续有限元网格弹性势能函数中计算,得出准静态方程,计算肌肉的发力与各向异性的形变;计算机设备将骨骼网格调整到皮肤网格内部合适的位置,再获取骨骼网格的顶点P的位置坐标与有限元网格中包含了该骨骼顶点的四面体单元
Figure 23762DEST_PATH_IMAGE305
各顶点P 0,P 1,P 2,P 3的位置坐标,则得到点P关于四个四面体的质心插值权重
Figure 144165DEST_PATH_IMAGE307
,计算机设备根据骨骼的顶点
Figure 658323DEST_PATH_IMAGE309
,顶点数为
Figure 522373DEST_PATH_IMAGE311
,顶点所在的有限元单元为
Figure 540008DEST_PATH_IMAGE313
,有限元单元的四个顶点
Figure 96891DEST_PATH_IMAGE315
,对应的有限元网格的有限元单元体积
Figure 832766DEST_PATH_IMAGE317
,对应的质心插值坐标
Figure 234929DEST_PATH_IMAGE319
,得到骨骼驱动项,如公式9所示,计算机设备将皮肤网格调整到有限元网格中合适的位置,再获取皮肤网格的顶点
Figure 372649DEST_PATH_IMAGE321
的位置坐标与有限元网格中包含了该皮肤顶点的四面体单元
Figure 100433DEST_PATH_IMAGE323
各顶点
Figure 58025DEST_PATH_IMAGE325
的位置坐标,则得到点
Figure 529458DEST_PATH_IMAGE326
关于四个四面体的皮肤顶点质心插值权重
Figure 521685DEST_PATH_IMAGE328
;基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程;基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,由此通过角色动画模型建立了皮肤网格、有限元网格以及骨骼网格之间的关联关系,当有限元网格发生形变时,计算机设备给定一个初始的形变值,由初始形变值得到初始形变梯度,然后将初始形变梯度参与准静态方程的求解过程,通过不断的迭代,对迭代过程中产生的残差进行反馈,得到形变梯度的目标值,进而得到有限元网格在受力平衡时各顶点在形变后的坐标,然后再将有限元网格在受力平衡时各顶点在形变后的坐标与皮肤顶点质心插值权重根据公式15计算得到皮肤网格上对应的形变,实现对三维数字角色动画模型的创建。
计算机获取各骨骼姿态以及肌肉的发力值,确定了唯一一个有限元网格的形变,为了使皮肤的形变具有一般脂肪运动或皮肤筋膜之间的滑动感,在已有的框架下加入脂肪筋膜的惯性运动,使用弹簧振子来实现这一效果,算法的输入是当前准静态求解器得到的关键帧以及之前的几帧,根据所使用的不同弹簧振子求解器,使用的连续关键帧数有所不同,以显示欧拉积分器为例,设直到当前帧为第k帧,取连续两帧准静态解算结果为
Figure 685950DEST_PATH_IMAGE330
,设之前的抖动帧
Figure 393487DEST_PATH_IMAGE332
,设弹簧振子的硬度为k,设弹簧振子的阻尼系数为d,则使用显示欧拉迭代计算
Figure 403031DEST_PATH_IMAGE334
Figure 249765DEST_PATH_IMAGE336
,公式16
Figure 319352DEST_PATH_IMAGE338
,公式17
Figure 720377DEST_PATH_IMAGE340
,公式18
其中
Figure 533612DEST_PATH_IMAGE342
为角色皮肤网格各个顶点的抖动强度,从而实现三维动画中角色脂肪运动或皮肤筋膜之间的滑动感,使之运动更加自然、逼真,增强视觉效果。
上述创建角色动画模型方法中,将骨骼作为碰撞体,肌肉作为弹性体,可以在有限元网格发生形变时,使得有限元网格的形变沿着肌肉纤维的方向发生拉升、收缩,沿着垂直于肌肉纤维方向且互相垂直的两个矢量方向发生膨胀、收缩,不需要由有经验的人员耗费大量人工精力对三维动画中的数字角色的各个控制节点的影响权重进行绑定设置,并且由于数字角色在运动过程中所发生的体积形变是非线性的,所以当采用人工绑定权重的方式,难以预先进行准确的配置,进而容易导致生成的三维动画产生非自然形变,而本申请可以实现无需人工绑定,就能自适应调整各部分的形变程度,提高三维动画角色模型对应的动画角色呈现出自然形变的准确性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图14所示,提供了一种创建角色动画模型装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:网格获取模块1402、皮肤顶点质心插值权重生成模块1404、骨骼顶点质心插值权重生成模块1406、准静态方程生成模块1408、角色动画模型生成模块1410,其中:
网格获取模块1402,用于获取有限元网格、皮肤网格以及骨骼网格,有限元网格包含肌肉纤维方向,有限元网格在发生形变时由肌肉纤维方向确定有限元网格的膨胀或收缩方向;
皮肤顶点质心插值权重生成模块1404,用于根据皮肤网格的顶点的位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,皮肤顶点有限元单元为有限元网格中包含皮肤网格的顶点的有限元单元,皮肤顶点质心插值权重表示皮肤顶点有限元单元与皮肤网格的顶点之间的位置关联关系;
骨骼顶点质心插值权重生成模块1406,用于根据骨骼网格的顶点的位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,骨骼顶点有限元单元为有限元网格中包含骨骼网格的顶点的有限元单元,骨骼顶点质心插值权重表示骨骼顶点有限元单元与骨骼网格的顶点之间的位置关联关系;
准静态方程生成模块1408,用于基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程,弹性势能函数用于表征有限元网格在形变时所产生的弹性势能大小,准静态方程用于表征有限元网格所受外力与弹性力的平衡程度;
角色动画模型生成模块1410,用于基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,角色动画模型建立了皮肤网格、有限元网格以及骨骼网格之间的关联关系。
在一个实施例中,准静态方程生成模块1408还用于根据骨骼网格的顶点位置信息、骨骼顶点质心插值权重、骨骼有限元位置因子以及骨骼顶点有限元单元体积值融合得到骨骼驱动项,骨骼有限元位置因子为骨骼顶点有限元单元的顶点的位置信息,骨骼驱动项用于表征骨骼网格的顶点与骨骼顶点有限元单元的位置差异;根据骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程。
在一个实施例中,准静态方程生成模块1408还用于获取有限元网格的形变梯度,形变梯度用于表征有限元网格的局部形变程度;对形变梯度进行奇异值分解,得到形变梯度对应的奇异值;基于奇异值融合得到局部弹性势能函数;基于局部弹性势能函数融合得到有限元网格的弹性势能函数;基于骨骼驱动项与有限元网格的弹性势能函数融合得到准静态方程。
在一个实施例中,准静态方程生成模块1408还用于获取前置因子,前置因子为有限元网格中有限元单元的顶点在初始形变前的位置信息;获取后置因子,后置因子为有限元网格中有限元单元的顶点在初始形变后的位置信息,初始形变后的位置信息是通过随机给定来确定的;基于前置因子与后置因子融合得到有限元网格的形变梯度。
在一个实施例中,准静态方程生成模块1408还用于获取重力驱动项,重力驱动项表示重力场对有限元网格所施加的重力作用;基于骨骼驱动项、重力驱动项与有限元网格的弹性势能函数融合得到准静态方程。
在一个实施例中,角色动画模型生成模块1410还用于通过求解准静态方程,得到有限元网格在受力平衡状态下有限元单元的顶点形变后的位置信息;根据皮肤顶点质心插值权重与皮肤顶点有限元单元的顶点形变后的位置信息,得到角色动画模型,角色动画模型用于求解对应形变后皮肤网格的顶点的位置信息。
上述创建角色动画模型装置,通过获取有限元网格、皮肤网格以及骨骼网格,其中,有限元网格包含肌肉纤维方向,有限元网格在发生形变时由肌肉纤维方向确定有限元网格的膨胀或收缩方向;再根据皮肤网格的顶点位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,实现将皮肤网格嵌入到有限元网格中,再根据骨骼网格的顶点位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,实现将骨骼网格嵌入到有限元网格中;基于骨骼顶点质心插值权重以及有限元网格的弹性势能函数,融合得到准静态方程;基于皮肤顶点质心插值权重与准静态方程得到角色动画模型,由此通过角色动画模型建立了皮肤网格、有限元网格以及骨骼网格之间的关联关系。这样,角色动画模型的骨骼网格或其他外力负载来驱动着有限元网格的运动或发生形变,再由有限元网格的运动或形变带动着皮肤网格的运动或形变,而且在有限元网格发生非线性的体积形变时,皮肤网格的形变方向以及形变程度能够通过肌肉纤维方向进行自适应地调整,另外,肌肉在没有外力负载作用的情况下,也能通过自身电信号激发可以自主发生形变,也会驱使着有限元网格中的有限元单元沿着肌肉纤维方向发生形变,使之产生自然形变,提高角色动画模型对应的三维动画角色在力的作用下产生自然形变的准确性。
关于创建角色动画模型装置的具体限定可以参见上文中对于创建角色动画模型方法的限定,在此不再赘述。上述创建角色动画模型装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图15所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种创建角色动画模型方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种创建角色动画模型方法,其特征在于,所述方法包括:
获取有限元网格、皮肤网格以及骨骼网格,所述有限元网格包含肌肉纤维方向,所述有限元网格在发生形变时由所述肌肉纤维方向确定所述有限元网格的膨胀或收缩方向;
根据所述皮肤网格的顶点的位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,所述皮肤顶点有限元单元为所述有限元网格中包含所述皮肤网格的顶点的有限元单元,所述皮肤顶点质心插值权重表示所述皮肤顶点有限元单元与所述皮肤网格的顶点之间的位置关联关系;
根据所述骨骼网格的顶点的位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,所述骨骼顶点有限元单元为所述有限元网格中包含所述骨骼网格的顶点的有限元单元,所述骨骼顶点质心插值权重表示所述骨骼顶点有限元单元与所述骨骼网格的顶点之间的位置关联关系;
基于所述骨骼顶点质心插值权重以及所述有限元网格的弹性势能函数,融合得到准静态方程,所述弹性势能函数用于表征所述有限元网格在形变时所产生的弹性势能大小,所述准静态方程用于表征所述有限元网格所受外力与弹性力的平衡程度;
基于所述皮肤顶点质心插值权重与所述准静态方程得到角色动画模型,所述角色动画模型建立了所述皮肤网格、所述有限元网格以及所述骨骼网格之间的关联关系。
2.根据权利要求1所述的方法,其特征在于,所述基于所述骨骼顶点质心插值权重以及所述有限元网格的弹性势能函数,融合得到准静态方程,包括:
根据所述骨骼网格的顶点位置信息、所述骨骼顶点质心插值权重、骨骼有限元位置因子以及所述骨骼顶点有限元单元体积值融合得到骨骼驱动项,所述骨骼有限元位置因子为所述骨骼顶点有限元单元的顶点的位置信息,所述骨骼驱动项用于表征所述骨骼网格的顶点与所述骨骼顶点有限元单元的位置差异;
根据所述骨骼驱动项与所述有限元网格的弹性势能函数融合得到准静态方程。
3.根据权利要求2所述的方法,其特征在于,所述根据所述骨骼驱动项与所述有限元网格的弹性势能函数融合得到准静态方程,包括:
获取所述有限元网格的形变梯度,所述形变梯度用于表征所述有限元网格的局部形变程度;
对所述形变梯度进行奇异值分解,得到所述形变梯度对应的奇异值;
基于所述奇异值融合得到局部弹性势能函数;
基于所述局部弹性势能函数融合得到所述有限元网格的弹性势能函数;
基于所述骨骼驱动项与所述有限元网格的弹性势能函数融合得到准静态方程。
4.根据权利要求3所述的方法,其特征在于,所述获取所述有限元网格的形变梯度,包括:
获取前置因子,所述前置因子为所述有限元网格中有限元单元的顶点在初始形变前的位置信息;
获取后置因子,所述后置因子为所述有限元网格中有限元单元的顶点在初始形变后的位置信息;
基于所述前置因子与所述后置因子融合得到所述有限元网格的形变梯度。
5.根据权利要求3所述的方法,其特征在于,所述基于所述骨骼驱动项与所述有限元网格的弹性势能函数融合得到准静态方程,包括:
获取重力驱动项,所述重力驱动项表示重力场对所述有限元网格所施加的重力作用;
基于所述骨骼驱动项、所述重力驱动项与所述有限元网格的弹性势能函数融合得到准静态方程。
6.根据权利要求1所述的方法,其特征在于,所述基于所述皮肤顶点质心插值权重与所述准静态方程得到角色动画模型,包括:
通过求解所述准静态方程,得到所述有限元网格在受力平衡状态下有限元单元的顶点形变后的位置信息;
根据所述皮肤顶点质心插值权重与所述皮肤顶点有限元单元的顶点形变后的位置信息,得到所述角色动画模型,所述角色动画模型用于求解对应形变后所述皮肤网格的顶点的位置信息。
7.根据权利要求1所述的方法,其特征在于,所述角色动画模型中,所述皮肤网格被包含在所述有限元网格内部,所述骨骼网格被包含在所述皮肤网格内部。
8.一种创建角色动画模型装置,其特征在于,所述装置包括:
网格获取模块,用于获取有限元网格、皮肤网格以及骨骼网格,所述有限元网格包含肌肉纤维方向,所述有限元网格在发生形变时由所述肌肉纤维方向确定所述有限元网格的膨胀或收缩方向;
皮肤顶点质心插值权重生成模块,用于根据所述皮肤网格的顶点的位置信息与皮肤顶点有限元单元得到皮肤顶点质心插值权重,所述皮肤顶点有限元单元为所述有限元网格中包含所述皮肤网格的顶点的有限元单元,所述皮肤顶点质心插值权重表示所述有限元单元与所述皮肤网格的顶点之间的位置关联关系;
骨骼顶点质心插值权重生成模块,用于根据所述骨骼网格的顶点的位置信息与骨骼顶点有限元单元得到骨骼顶点质心插值权重,所述骨骼顶点有限元单元为所述有限元网格中包含所述骨骼网格的顶点的有限元单元,所述骨骼顶点质心插值权重表示所述有限元单元与所述骨骼网格的顶点之间的位置关联关系;
准静态方程生成模块,用于基于所述骨骼顶点质心插值权重以及所述有限元网格的弹性势能函数,融合得到准静态方程,所述弹性势能函数用于表征所述有限元网格在形变时所产生的弹性势能大小,所述准静态方程用于表征所述有限元网格所受外力与弹性力的平衡程度;
角色动画模型生成模块,用于基于所述皮肤顶点质心插值权重与所述准静态方程得到角色动画模型,所述角色动画模型建立了所述皮肤网格、所述有限元网格以及所述骨骼网格之间的关联关系。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202210984057.4A 2022-08-17 2022-08-17 创建角色动画模型方法、装置、计算机设备和存储介质 Active CN115049768B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210984057.4A CN115049768B (zh) 2022-08-17 2022-08-17 创建角色动画模型方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210984057.4A CN115049768B (zh) 2022-08-17 2022-08-17 创建角色动画模型方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN115049768A true CN115049768A (zh) 2022-09-13
CN115049768B CN115049768B (zh) 2022-11-04

Family

ID=83168395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210984057.4A Active CN115049768B (zh) 2022-08-17 2022-08-17 创建角色动画模型方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN115049768B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115908664A (zh) * 2023-01-09 2023-04-04 深圳泽森软件技术有限责任公司 人机交互的动画生成方法、装置、计算机设备、存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100033488A1 (en) * 2008-08-11 2010-02-11 Microsoft Corporation Example-Based Motion Detail Enrichment in Real-Time
US20150006120A1 (en) * 2013-06-26 2015-01-01 Dassault Systémes Simulia Corp. Musculo-Skeletal Modeling Using Finite Element Analysis, Process Integration, and Design Optimization
US20160203630A1 (en) * 2015-01-09 2016-07-14 Vital Mechanics Research Inc. Methods and systems for computer-based animation of musculoskeletal systems
JP2017156271A (ja) * 2016-03-03 2017-09-07 株式会社Ihi 構造解析装置、構造解析方法及び三次元織繊維素材製造方法
US20180096510A1 (en) * 2016-09-30 2018-04-05 Disney Enterprises, Inc. Systems and methods for virtual entity animation
CN109003319A (zh) * 2018-06-26 2018-12-14 北京航空航天大学青岛研究院 角色动画中带有动力学约束的元球驱动蒙皮方法
US20210035347A1 (en) * 2018-04-25 2021-02-04 Seddi, Inc. Modeling of nonlinear soft-tissue dynamics for interactive avatars
US20210142563A1 (en) * 2017-08-02 2021-05-13 Ziva Dynamics Inc. Method and system for generating a new anatomy
US20210383605A1 (en) * 2020-10-30 2021-12-09 Beijing Baidu Netcom Science And Technology Co., Ltd. Driving method and apparatus of an avatar, device and medium

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100033488A1 (en) * 2008-08-11 2010-02-11 Microsoft Corporation Example-Based Motion Detail Enrichment in Real-Time
US20150006120A1 (en) * 2013-06-26 2015-01-01 Dassault Systémes Simulia Corp. Musculo-Skeletal Modeling Using Finite Element Analysis, Process Integration, and Design Optimization
US20160203630A1 (en) * 2015-01-09 2016-07-14 Vital Mechanics Research Inc. Methods and systems for computer-based animation of musculoskeletal systems
JP2017156271A (ja) * 2016-03-03 2017-09-07 株式会社Ihi 構造解析装置、構造解析方法及び三次元織繊維素材製造方法
US20180096510A1 (en) * 2016-09-30 2018-04-05 Disney Enterprises, Inc. Systems and methods for virtual entity animation
US20210142563A1 (en) * 2017-08-02 2021-05-13 Ziva Dynamics Inc. Method and system for generating a new anatomy
US20210035347A1 (en) * 2018-04-25 2021-02-04 Seddi, Inc. Modeling of nonlinear soft-tissue dynamics for interactive avatars
CN109003319A (zh) * 2018-06-26 2018-12-14 北京航空航天大学青岛研究院 角色动画中带有动力学约束的元球驱动蒙皮方法
US20210383605A1 (en) * 2020-10-30 2021-12-09 Beijing Baidu Netcom Science And Technology Co., Ltd. Driving method and apparatus of an avatar, device and medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NADINE ABU RUMMAN 等: ""Skin Deformation Methods for Interactive Character Animation"", 《VISIGRAPP 2016: COMPUTER VISION,IMAGING AND COMPUTER GRAPHICS THEORY AND APPLICATIONS》 *
吕依娜: ""骨骼驱动的软体角色动画"", 《现代计算机》 *
杜平川: ""基于运动捕捉的可变形人体角色动画***"", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115908664A (zh) * 2023-01-09 2023-04-04 深圳泽森软件技术有限责任公司 人机交互的动画生成方法、装置、计算机设备、存储介质
CN115908664B (zh) * 2023-01-09 2023-08-15 深圳泽森软件技术有限责任公司 人机交互的动画生成方法、装置、计算机设备、存储介质

Also Published As

Publication number Publication date
CN115049768B (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
Fan et al. A hybrid peridynamics–SPH simulation of soil fragmentation by blast loads of buried explosive
Overby et al. ADMM $\supseteq $ projective dynamics: Fast simulation of hyperelastic models with dynamic constraints
Sin et al. Vega: non‐linear FEM deformable object simulator
Müller et al. Position based dynamics
US10403404B2 (en) Physical face cloning
US10535176B2 (en) Animation techniques for mobile devices
US9947124B2 (en) Motion control of active deformable objects
US8144155B2 (en) Example-based motion detail enrichment in real-time
CN107330972B (zh) 模拟生物力学特性的实时软组织形变方法和***
CN110992495B (zh) 一种虚拟模型的变形方法及装置
Pappalardo et al. Development of ANCF tetrahedral finite elements for the nonlinear dynamics of flexible structures
US20230061175A1 (en) Real-Time Simulation of Elastic Body
Li et al. Stable anisotropic materials
CN115049768B (zh) 创建角色动画模型方法、装置、计算机设备和存储介质
CN111383308A (zh) 生成动画表情的方法和电子设备
CN115049769B (zh) 角色动画生成方法、装置、计算机设备和存储介质
von Radziewsky et al. Optimized subspaces for deformation-based modeling and shape interpolation
Zhang et al. Neural dynamics-based Poisson propagation for deformable modelling
Baudet et al. Integrating tensile parameters in mass-spring system for deformable object simulation
US11557078B1 (en) Machine learning simulation of finite element analysis in augmented reality
CN115908664A (zh) 人机交互的动画生成方法、装置、计算机设备、存储介质
Song et al. Fast corotational simulation for example-driven deformation
CN115049766B (zh) 构建肌肉纤维模型方法、装置、计算机设备和存储介质
CN115049767B (zh) 动画编辑方法、装置、计算机设备和存储介质
Cetinaslan et al. Energy Embedded Gauss-Seidel Iteration for Soft Body Simulations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: C2C, Building C2, TCL science park, No. 1001, Zhongshan Garden Road, Shuguang Community, Xili Street, Nanshan District, Shenzhen, Guangdong 518051

Patentee after: Shenzhen Zesen Software Technology Co.,Ltd.

Address before: 518051 Room 506, Building 10, Shenzhen Bay Science and Technology Ecological Park, No. 10, Gaoxin South 9th Road, Gaoxin District Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong Province

Patentee before: Shenzhen Zesen Software Technology Co.,Ltd.

CP02 Change in the address of a patent holder