CN111932659A - 骨骼模型数据的处理方法、计算机设备及存储介质 - Google Patents

骨骼模型数据的处理方法、计算机设备及存储介质 Download PDF

Info

Publication number
CN111932659A
CN111932659A CN202010544691.7A CN202010544691A CN111932659A CN 111932659 A CN111932659 A CN 111932659A CN 202010544691 A CN202010544691 A CN 202010544691A CN 111932659 A CN111932659 A CN 111932659A
Authority
CN
China
Prior art keywords
skeleton
frame
transformation matrix
bone
matrix
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.)
Pending
Application number
CN202010544691.7A
Other languages
English (en)
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 Jihui Technology Co Ltd
Original Assignee
Shenzhen Tatfook Network Tech 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 Tatfook Network Tech Co Ltd filed Critical Shenzhen Tatfook Network Tech Co Ltd
Priority to CN202010544691.7A priority Critical patent/CN111932659A/zh
Publication of CN111932659A publication Critical patent/CN111932659A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation

Landscapes

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

Abstract

本发明公开了一种骨骼模型数据的处理方法、计算机设备及存储介质,该方法包括:获取骨骼模型数据,骨骼模型数据包括骨骼的索引值和关键帧数据;根据骨骼的关键帧数据计算得到骨骼的局部变换矩阵;根据索引值和局部变换矩阵,生成骨骼的全局变换矩阵;根据全局变换矩阵得到骨骼模型。通过上述方式,可以将少量的骨骼模型数据进行实时计算得到骨骼的全局变换矩阵,用以生成骨骼模型,有助于减少加载骨骼动画文件的数据量,减少数据运行的内存空间,提高动画制作系统的整体性能。

Description

骨骼模型数据的处理方法、计算机设备及存储介质
技术领域
本发明涉及骨骼动画技术领域,具体涉及一种骨骼模型数据的处理方法、计算机设备及存储介质。
背景技术
骨骼动画是一种计算机动画技术,目前,其被广泛应用于游戏引擎和影视作品制作中,一般地,目前市面上存在一些骨骼动画设计软件,例如,3Dmax和Autodesk Maya等,利用这些动画设计软件可以设计各种骨骼动画。骨骼动画的设计制作包括两个部分,分别为骨骼模型设计和网格蒙皮模型设计,而当用户设计动画游戏或者动画视频时,可以将已经设计好的骨骼动画文件数据导入到动画制作软件中,直接调用这些骨骼动画的骨骼动画文件来完成动画游戏或者动画视频的创作,但是,如果直接加载骨骼模型的所有动作帧的数据,数据量较大,占用的内存空间也相对较大,影响动画制作软件的整体性能。
发明内容
为了解决上述问题,本发明提供了一种骨骼模型数据的处理方法、计算机设备及存储介质,利用本发明的方法生成骨骼模型,有助于减少加载骨骼动画文件的数据量,减少数据运行的内存空间,提高动画制作系统的整体性能。
第一方面,本发明提供一种骨骼模型数据的处理方法,该方法包括:
获取骨骼模型数据,骨骼模型数据包括骨骼的索引值和关键帧数据;
根据骨骼的关键帧数据计算得到骨骼的局部变换矩阵;
根据索引值和局部变换矩阵,生成骨骼的全局变换矩阵;
根据全局变换矩阵得到骨骼模型。
第二方面,本发明提供一种计算机设备,该计算机设备包括互相连接的存储器和处理器:
存储器用于存储计算机程序;
处理器用于执行计算机程序并在执行计算机程序时实现上述的骨骼模型数据的处理方法。
第三方面,本发明提供一种计算机存储介质,该计算机存储介质用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述的骨骼模型数据的处理方法。
本发明公开了一种骨骼模型数据的处理方法、计算机设备及存储介质,通过获取骨骼模型数据;从骨骼模型数据中提取出骨骼的关键帧数据,利用骨骼的关键帧数据生成骨骼的局部变换矩阵;然后利用骨骼模型数据中的索引值和局部变换矩阵,生成骨骼的全局变换矩阵,以得到骨骼模型。本发明通过获取少量的骨骼模型数据计算得到骨骼的全局变换矩阵,用以生成骨骼模型,有助于减少加载骨骼动画文件的数据量,减少数据运行的内存空间,提高动画制作系统的整体性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本发明提供的骨骼模型数据的处理方法一实施例的流程示意图;
图2(a)是图1所示的实施例中树形结构的示意图;
图2(b)是图2(a)所示的树形结构中骨骼的索引值的示意图;
图2(c)是图2(a)所示的树形结构中骨骼的索引值的另一示意图;
图3是图1所示的实施例中骨骼层次的结构示意图;
图4是本发明提供的骨骼模型数据的处理方法另一实施例的流程示意图;
图5是本发明提供的计算机设备一实施例的结构示意图;
图6是本发明提供的计算机存储介质一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。
本发明实施例提供的骨骼模型数据的处理方法、计算机设备及存储介质,可应用于骨骼动画技术领域。其中,骨骼模型数据的处理方法可以应用于终端或服务器中,其中,终端可以是笔记本电脑、台式电脑、个人数字助理等电子设备;服务器可以为独立的服务器,也可以为服务器集群。
请参阅图1,图1是本发明提供的骨骼模型数据的处理方法一实施例的流程示意图,该方法包括:
步骤11:获取骨骼模型数据。
骨骼模型数据为生成对应的骨骼模型所需要的骨骼数据,包括各个骨骼的属性值。该骨骼模型数据可以为用户自行创建的数据,或者用其他软件已经设计好的可直接导入的数据,其可包括骨骼的索引值和关键帧数据。
具体地,骨骼模型数据中可以包括多个骨骼,并且多个骨骼以根骨骼为根节点,其他多个骨骼以根骨骼为父节点,依次生成子节点和孙节点,形成树型结构的骨骼模型,如图2(a)所示,节点A为根节点,节点B-D为节点A的子节点,节点E为节点B的子节点(即节点E为节点A的孙节点),节点F-G为节点D的子节点(即节点F-G为节点A的孙节点);具体地,可定义某一个骨骼为根骨骼,其他骨骼为根骨骼的子孙,并可预先为骨骼模型中的每个骨骼分配一个索引值,可按照横向从左向右的顺序分配索引值,如图2(b)所示,节点A-F的索引值分别为1-7;或者也可按照纵向从左向右的顺序分配索引值,如图2(c)所示,节点A-B的索引值分别为1-2,节点E的索引值为3,节点C的索引值为4,节点D-F的索引值分别为5-7;可以理解地,也可按照其他方式分配索引值,保证每个骨骼的索引值不同即可。
如图3所示,以人物骨骼模型的骨骼定义为例:以髋关节为根骨骼,对应的索引值为1,其包含三个子骨骼,分别是脊椎下部(索引值为2)、左大腿(索引值为3)以及右大腿(索引值为4);脊椎下部包含一个子骨骼:脊椎中部(索引值为5),依次往下有脊椎上部(索引值为6)、脖子(索引值为7);脖子包含三个子骨骼:头(索引值为8)、左上臂(索引值为9)和右上臂(索引值为10),左上臂的子骨骼为左前臂(索引值为11),左前臂的子骨骼为左手(索引值为12),右上臂的子骨骼为右前臂(索引值为13),右前臂的子骨骼为右手(索引值为14),其余的骨骼的索引值也可按照类似的规律进行分配,具体分配方式不作限定。
通过骨骼的索引值组成一个完整的骨骼层次结构,实现通过父骨骼控制子骨骼的运动,子骨骼的位置可根据父骨骼的位置计算得到。
步骤12:根据骨骼的关键帧数据计算得到骨骼的局部变换矩阵。
骨骼模型数据还包括骨骼的关键帧数据,关键帧为骨骼动画中的角色运动时关键动作所处的那一帧,记录了在某个关键时间点骨骼模型的属性值。比如,骨骼动画的角色为人,人在第1秒到第5秒维持在站立姿势,从第6秒到第8秒人完成了抬起胳膊的动作,则可将第1秒、第6秒以及第8秒对应的图像帧作为关键帧。该骨骼模型数据至少包括两个关键帧对应的数据;可从骨骼模型数据中提取出骨骼的关键帧数据,然后利用该关键帧数据进行计算,从而得到骨骼的局部变换矩阵,该局部变换矩阵为对当前单个骨骼自身而言,其为不受父骨骼的影响而进行变换的矩阵。
步骤13:根据索引值和局部变换矩阵,生成骨骼的全局变换矩阵。
在计算出骨骼的局部变换矩阵后,根据预先设置的骨骼的索引值可判断该骨骼是否有父骨骼,比如,预先定义的骨骼的索引值的最小值为0,如果骨骼的索引值大于0,则表明该骨骼具有父骨骼;如果骨骼的索引值等于0,则表明该骨骼不具有父骨骼;或者该骨骼模型数据包括是否具有父骨骼的标识位,在标识位为1时,表示骨骼具有父骨骼,在标识位为0时,表示该骨骼不具有父骨骼。
如果根据骨骼的索引值判断出骨骼不具有父骨骼,则可以将该骨骼的局部变换矩阵作为全局变换矩阵;如果根据骨骼的索引值判断出该骨骼具有父骨骼,则可以利用父骨骼的全局变换矩阵与该骨骼的局部变换矩阵,生成该骨骼的全局变换矩阵。
步骤14:根据全局变换矩阵得到骨骼模型。
骨骼模型数据中包括多个骨骼,所有骨骼都对应生成了全局变换矩阵,根据所有骨骼的全局变换矩阵生成骨骼模型。该骨骼模型为骨骼动画生成的一部分,后续对该骨骼模型再进行蒙皮即可得到骨骼动画。
本实施例提供了一种骨骼模型数据的处理方法,通过对获取到的骨骼模型数据中的关键帧数据进行计算,得到骨骼的局部变换矩阵,然后利用索引值与局部变换矩阵来得到骨骼的全局变换矩阵,根据全局变换矩阵生成骨骼模型,通过本方法,只需要用户设计或者提取较少的关键帧数据,通过矩阵计算即可实时生成骨骼模型,有助于减少加载骨骼动画文件的数据量,减少数据运行的内存空间,提高动画制作系统的整体性能。
请参阅图4,图4是本发明提供的骨骼模型数据的处理方法另一实施例的流程示意图,该方法包括:
步骤41:获取骨骼模型数据。
该骨骼模型数据包括骨骼模型中骨骼的索引值、关键帧数据以及轴心点,轴心点为在设计骨骼模型时为每个骨骼预先设置的一个点,在具体的实施例中,骨骼的轴心点可以在该骨骼的任意位置,例如骨骼的前端、中间或者后端等位置,以轴心点为中心可以对该骨骼进行旋转或缩放等操作,从而设计出各种动画效果。
一般地,为了实现骨骼动画预期的动画效果,保证骨骼在旋转和缩放时以骨骼节点为中心进行旋转和缩放,需要对骨骼的轴心点的位置进行判断,并根据判断结果进行相应的矩阵计算。
步骤42:根据骨骼的轴心点的位置确定第一平移矩阵和第二平移矩阵。
具体地,第一平移矩阵用于将骨骼进行平移,以使得骨骼的轴心点位于该骨骼的骨骼节点上,从而使得骨骼在旋转和缩放时以骨骼节点为中心进行旋转和缩放;第二平移矩阵用于将骨骼移回原来的骨骼位置;第一平移矩阵与第二平移矩阵中的数值与轴心点的位置相关,具体地,当骨骼的轴心点在该骨骼的骨骼节点位置上时,无需进行平移,此时第一平移矩阵和第二平移矩阵均为单位矩阵;当轴心点不在该骨骼的骨骼节点的位置上时,第一平移矩阵和第二平移矩阵均为非单位矩阵,矩阵的数值可由轴心点与骨骼节点的相对偏移量确定。
在具体的实施例中,第一平移矩阵与第二平移矩阵可以为4×4的矩阵,可采用如下公式计算第一平移矩阵Mp1与第二平移矩阵Mp2
Figure BDA0002540183490000061
Figure BDA0002540183490000062
其中,(px,py,pz)为轴心点相对于骨骼节点的偏移量。
为了使骨骼动画看起来更平滑,效果更好,动画渲染的动画数据帧越多越好,但是数据帧越多,占用的内存空间越大,为了减少需要的骨骼模型数据帧,可以通过对少量的数据帧进行实时的矩阵计算得到大量的数据帧以达到同样的动画效果。例如,在图形渲染中设定1秒渲染60帧图片,而制作或者导入的骨骼模型数据只支持1秒10帧图片,此时需计算另外50帧没有给出的动画数据帧;为了获取那些未给出的动画数据帧,可采用帧间插值的方式对获取到的骨骼模型数据进行插值,具体如步骤43所示。
步骤43:根据骨骼的关键帧数据计算得到骨骼的中间变换矩阵。
在从骨骼模型数据中提取出骨骼的关键帧数据后,可选取关键帧数据中的两帧数据作为起点帧与终点帧,然后对起点帧和终点帧进行插值计算得到中间帧,再根据中间帧得到骨骼的中间变换矩阵。
进一步地,起点帧与终点帧为相对而言,对于某一个时间区间来说,终点帧可作为下一个时间区间的起点帧;例如,骨骼模型数据包括3组关键帧数据,需要在第一组关键帧数据与第二组关键帧数据之间进行插值,在第二组关键帧数据与第三组关键帧数据之间进行插值,第一组关键帧数据对应第一时间,第二组关键帧数据对应第二时间,第三组关键帧数据对应第三时间,对第一组关键帧数据与第二组关键帧数据来说,起点帧为第一组关键帧数据,终点帧为第二组关键帧数据;对第二组关键帧数据与第三组关键帧数据来说,起点帧为第二组关键帧数据,终点帧为第三组关键帧数据。
在一具体的实施例中,中间变换矩阵包括中间缩放矩阵、中间旋转矩阵和中间平移矩阵,骨骼的关键帧数据包括骨骼的缩放值、骨骼的旋转值以及骨骼的平移值,对起点帧和终点帧进行插值计算得到中间帧,根据中间帧得到骨骼的中间变换矩阵的步骤包括:
具体地,中间缩放矩阵的计算步骤包括:
通过以下公式计算中间帧的缩放值scurrent
Figure BDA0002540183490000071
scurrent=s1×(1-k)+s2×k (2)
其中,t1、t2和tcurrent分别为起点帧对应的时间、终点帧对应的时间和中间帧对应的时间,s1、s2和scurrent分别为起点帧的缩放值、终点帧的缩放值和中间帧的缩放值,k为中间计算量,scurrent=[sx,sy,sz],sx、sx和sz分别为骨骼坐标系下x轴、y轴以及z轴的缩放值。
在计算出中间帧的缩放值后,可根据中间帧的缩放值得到中间缩放矩阵;具体地,中间缩放矩阵Ms如下所示:
Figure BDA0002540183490000081
具体地,中间旋转矩阵的计算步骤包括:
在计算骨骼的中间帧的旋转值时,旋转值可由四元数表示,可通过球面插值的方式计算出中间帧的旋转值qcurrent,具体计算公式如下所示:
Ω=cos-1(q1×q2) (3)
Figure BDA0002540183490000082
其中,q1、q2和qcurrent为起点帧的旋转值、终点帧的旋转值和中间帧的旋转值,Ω为中间计算量,其为q1与q2之间的夹角,qcurrent=[qx,qy,qz,qw],如下所示:
q=qxi+qyj+qzk+qw (5)
其中,q为qcurrent对应的四元数,i、j和k表示四元数的三个虚部方向,qx、qy和qz分别为虚部i、j和k的参数,qw为四元数的实部。
在计算出中间帧的旋转值后,根据中间帧的旋转值得到中间旋转矩阵;具体地,可采用如下公式计算中间帧的旋转值对应的中间旋转矩阵MR
Figure BDA0002540183490000083
具体地,中间平移矩阵的计算步骤包括:
在计算骨骼的中间帧的平移值时,可通过以下公式计算中间帧的平移值trcurrent
trcurrent=tr1×(1-k)+tr2×k (7)
其中,tr1、tr2和trcurrent为起点帧的平移值、终点帧的平移值和中间帧的平移值,trcurrent=[trx,try,trz],trx、trx和trz分别为骨骼坐标系下x轴、y轴以及z轴的平移值。
在计算出中间帧的平移值后,可根据中间帧的平移值得到中间平移矩阵;具体地,中间平移矩阵MT如下所示:
Figure BDA0002540183490000091
在计算出中间缩放矩阵、中间旋转矩阵和中间平移矩阵后,可采用如下公式计算中间变换矩阵MI
MI=MS×MR×MT (8)
在一具体实施例中,可判断起点帧的数据与终点帧的数据是否相同,根据判断结果执行不同的操作;具体地,如果判断结果为起点帧的数据与终点帧的数据相同,则表明骨骼未发生变化,此时骨骼的局部变换矩阵可用4×4的单位矩阵表示;如果判断结果为起点帧的数据与终点帧的数据不同,则可通过如下的步骤44得到骨骼的局部变换矩阵。
步骤44:根据第一平移矩阵、中间变换矩阵以及第二平移矩阵,得到骨骼的局部变换矩阵。
在计算出中间变换矩阵、第一平移矩阵以及第二平移矩阵后,可采用如下公式计算出骨骼的局部变换矩阵:
ML=Me×Mp1×MI×Mp2 (9)
其中,ML为骨骼的局部变换矩阵,MI为骨骼的中间变换矩阵,Me为骨骼的初始化矩阵,具体可以为一个单位矩阵:
Figure BDA0002540183490000092
在计算出骨骼的局部变换矩阵后,利用局部变换矩阵与全局变换矩阵之间的关系,可得到骨骼的全局变换矩阵,具体如步骤45-46所示。
步骤45:根据骨骼的索引值确定骨骼的父骨骼,并获取父骨骼的全局变换矩阵。
根据骨骼的索引值判断该骨骼是否具有父骨骼,若确定该骨骼具有父骨骼,则可获取该骨骼的父骨骼的全局变换矩阵。具体地,在确定骨骼的索引值后,则可得出相应的父骨骼的索引值,根据该父骨骼的索引值查询该父骨骼对应的全局变换矩阵,可以理解地,若该骨骼不具有父骨骼,则该骨骼为根骨骼,此时可将该骨骼的局部变换矩阵作为骨骼的全局变换矩阵。
步骤46:根据父骨骼的全局变换矩阵和骨骼的局部变换矩阵,得到骨骼的全局变换矩阵。
如果该骨骼具有父骨骼,则可采用如下公式进行递归计算骨骼的全局变换矩阵Mbone
Mbone=ML×Mparent=Me×Mp1×MS×MR×MT×Mp2×Mparent (10)
其中,Mparent为该骨骼的父骨骼的全局变换矩阵。
利用该骨骼的局部变换矩阵与父骨骼的全局变换矩阵之间的关系,从而得到该骨骼的全局变换矩阵Mbone
步骤47:根据全局变换矩阵得到骨骼模型。
骨骼模型数据中包括多个骨骼,所有骨骼都对应生成了全局变换矩阵,根据所有骨骼的全局变换矩阵生成骨骼模型。
本实施例提供了一种骨骼模型数据的处理方法,通过对获取到的骨骼模型数据中的关键帧数据进行插值计算,得到骨骼的中间变换矩阵;通过轴心点得到第一平移矩阵和第二平移矩阵,再根据第一平移矩阵、中间变换矩阵以及第二平移矩阵,得到骨骼的局部变换矩阵;然后根据父骨骼的全局变换矩阵和骨骼的局部变换矩阵,得到该骨骼的全局变换矩阵,再根据全局变换矩阵生成骨骼模型,通过本方法,只需要用户设计或者提取较少的关键帧数据,通过矩阵计算即可实时生成骨骼模型,有助于减少加载骨骼动画文件的数据量,减少数据运行的内存空间,提高动画制作系统的整体性能。其次,由于骨骼的轴心点的位置变化时全局变换矩阵可跟随变化,而全局变换矩阵变化时骨骼模型也随之改变,因而本实施实现了通过对轴心点的位置进行调整来改变骨骼模型,实现预期的动画效果。
请参阅图5,图5是本发明提供的计算机设备一实施例的结构示意图,计算机设备50包括互相连接的存储器51和处理器52,存储器51用于存储计算机程序;处理器52用于执行计算机程序并在执行计算机程序时实现上述实施例中的骨骼模型数据的处理方法,其步骤和原理在上述骨骼模型生成方法中已详细介绍,在此不再赘述。
在本实施例中,处理器52还可以称为CPU(Central Processing Unit,中央处理单元)。处理器52可以是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器、数字信号处理器(DSP,Digital Signal Processing)、专用集成电路(ASIC,Application Specific Integrated Circuit)、现场可编程门阵列(FPGA,FieldProgrammable Gate Array)、其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
请参阅图6,图6是本发明提供的计算机存储介质一实施例的结构示意图,计算机存储介质60用于存储计算机程序61,计算机程序61在被处理器执行时,用于实现上述实施例中的骨骼模型数据的处理方法。
计算机存储介质60可以是服务端、U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种骨骼模型数据的处理方法,其特征在于,所述方法包括:
获取骨骼模型数据,所述骨骼模型数据包括骨骼的索引值和关键帧数据;
根据所述骨骼的关键帧数据计算得到所述骨骼的局部变换矩阵;
根据所述索引值和所述局部变换矩阵,生成所述骨骼的全局变换矩阵;
根据所述全局变换矩阵得到骨骼模型。
2.根据权利要求1所述的骨骼模型数据的处理方法,其特征在于,所述骨骼模型数据还包括所述骨骼的轴心点,所述根据所述骨骼的关键帧数据计算得到所述骨骼的局部变换矩阵的步骤,包括:
根据所述轴心点确定第一平移矩阵和第二平移矩阵;
根据所述骨骼的关键帧数据计算得到所述骨骼的中间变换矩阵;
根据所述第一平移矩阵、所述中间变换矩阵以及所述第二平移矩阵,得到所述骨骼的局部变换矩阵。
3.根据权利要求2所述的骨骼模型数据的处理方法,其特征在于,所述骨骼的关键帧数据包括所述骨骼的起点帧和终点帧,所述根据所述骨骼的关键帧数据计算得到所述骨骼的中间变换矩阵的步骤,包括:
对所述起点帧和所述终点帧进行插值计算得到中间帧,根据所述中间帧得到所述骨骼的中间变换矩阵,所述中间变换矩阵包括中间缩放矩阵、中间旋转矩阵和中间平移矩阵。
4.根据权利要求3所述的骨骼模型数据的处理方法,其特征在于,所述骨骼的关键帧数据包括所述骨骼的缩放值,所述对所述起点帧和所述终点帧进行插值计算得到中间帧,根据所述中间帧得到所述骨骼的中间变换矩阵的步骤,包括:
通过以下公式计算所述中间帧的缩放值:
Figure FDA0002540183480000011
scurrent=s1×(1-k)+s2×k
其中,t1、t2和tcurrent分别为所述起点帧对应的时间、所述终点帧对应的时间和所述中间帧对应的时间,s1、s2和scurrent分别为所述起点帧的缩放值、所述终点帧的缩放值和所述中间帧的缩放值,k为中间变量;
根据所述中间帧的缩放值得到所述中间缩放矩阵。
5.根据权利要求3所述的骨骼模型数据的处理方法,其特征在于,所述骨骼的关键帧数据包括所述骨骼的旋转值,所述对所述起点帧和所述终点帧进行插值计算得到中间帧,根据所述中间帧得到所述骨骼的中间变换矩阵的步骤,还包括:
通过以下公式计算所述中间帧的旋转值:
Ω=cos-1(q1×q2)
Figure FDA0002540183480000021
其中,q1、q2和qcurrent分别为所述起点帧的旋转值、所述终点帧的旋转值和所述中间帧的旋转值,Ω为中间变量;
根据所述中间帧的旋转值得到所述中间旋转矩阵。
6.根据权利要求3所述的骨骼模型数据的处理方法,其特征在于,所述骨骼的关键帧数据包括所述骨骼的平移值,所述对所述起点帧和所述终点帧进行插值计算得到中间帧,根据所述中间帧得到所述骨骼的中间变换矩阵的步骤,还包括:
通过以下公式计算所述中间帧的平移值:
Figure FDA0002540183480000022
trcurrent=tr1×(1-k)+tr2×k
其中,t1、t2和tcurrent分别为所述起点帧对应的时间、所述终点帧对应的时间和所述中间帧对应的时间,tr1、tr2和trcurrent分别为所述起点帧的平移值、所述终点帧的平移值和所述中间帧的平移值,k为中间变量;
根据所述中间帧的平移值得到所述中间平移矩阵。
7.根据权利要求2所述的骨骼模型数据的处理方法,其特征在于,
采用以下公式计算所述第一平移矩阵Mp1
Figure FDA0002540183480000031
采用以下公式计算所述第二平移矩阵Mp2
Figure FDA0002540183480000032
其中,(px,py,pz)为所述轴心点相对于骨骼节点的偏移量。
8.根据权利要求1所述的骨骼模型数据的处理方法,其特征在于,所述根据所述索引值和所述局部变换矩阵,生成所述骨骼的全局变换矩阵的步骤,包括:
根据所述骨骼的索引值确定所述骨骼的父骨骼;
获取所述父骨骼的全局变换矩阵;
根据所述父骨骼的全局变换矩阵和所述骨骼的局部变换矩阵,得到所述骨骼的全局变换矩阵。
9.一种计算机设备,其特征在于,所述计算机设备包括互相连接的存储器与处理器:
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序并在执行所述计算机程序时实现权利要求1-8中任一项所述的骨骼模型数据的处理方法。
10.一种计算机存储介质,用于存储计算机程序,其特征在于,所述计算机程序在被处理器执行时,用于实现权利要求1-8中任一项所述的骨骼模型数据的处理方法。
CN202010544691.7A 2020-06-15 2020-06-15 骨骼模型数据的处理方法、计算机设备及存储介质 Pending CN111932659A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010544691.7A CN111932659A (zh) 2020-06-15 2020-06-15 骨骼模型数据的处理方法、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010544691.7A CN111932659A (zh) 2020-06-15 2020-06-15 骨骼模型数据的处理方法、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN111932659A true CN111932659A (zh) 2020-11-13

Family

ID=73317541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010544691.7A Pending CN111932659A (zh) 2020-06-15 2020-06-15 骨骼模型数据的处理方法、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111932659A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113160360A (zh) * 2021-05-07 2021-07-23 深圳市灼华互娱科技有限公司 动画数据的制作方法、装置、设备及存储介质
CN113345059A (zh) * 2021-05-31 2021-09-03 网易(杭州)网络有限公司 动画生成方法、装置、存储介质及电子设备
CN116863097A (zh) * 2023-09-05 2023-10-10 航天宏图信息技术股份有限公司 一种空间环境数据模型构建方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113160360A (zh) * 2021-05-07 2021-07-23 深圳市灼华互娱科技有限公司 动画数据的制作方法、装置、设备及存储介质
CN113345059A (zh) * 2021-05-31 2021-09-03 网易(杭州)网络有限公司 动画生成方法、装置、存储介质及电子设备
CN113345059B (zh) * 2021-05-31 2023-08-08 网易(杭州)网络有限公司 动画生成方法、装置、存储介质及电子设备
CN116863097A (zh) * 2023-09-05 2023-10-10 航天宏图信息技术股份有限公司 一种空间环境数据模型构建方法及装置

Similar Documents

Publication Publication Date Title
CN111932659A (zh) 骨骼模型数据的处理方法、计算机设备及存储介质
Merry et al. Animation space: A truly linear framework for character animation
JP2021193599A (ja) 仮想オブジェクトのフィギュア合成方法、装置、電子機器、記憶媒体
JP3380231B2 (ja) 3次元スケルトンデータ圧縮装置
CN110517337B (zh) 动画角色表情生成方法、动画制作方法及电子设备
JPH0816820A (ja) 3次元アニメーション作成装置
CN114359447A (zh) 骨骼数据的建模方法、计算机设备及存储介质
WO2023216646A1 (zh) 三维虚拟模型的驱动处理方法、装置、设备和存储介质
Nedel et al. Anatomic modeling of deformable human bodies
CN101794462A (zh) 一种基于纹理的三维网格模型变形方法及系统
Jacka et al. A comparison of linear skinning techniques for character animation
JP2008090498A (ja) 画像処理方法、画像処理装置
WO2004104749A2 (en) Method for generating a baked component that approximates the behavior of animation models
Alexe et al. Shape modeling by sketching using convolution surfaces
Buttussi et al. H-animator: a visual tool for modeling, reuse and sharing of X3D humanoid animations
CN115908664B (zh) 人机交互的动画生成方法、装置、计算机设备、存储介质
US8237719B1 (en) Pose-structured animation interface
US10319133B1 (en) Posing animation hierarchies with dynamic posing roots
Celikcan et al. Example‐Based Retargeting of Human Motion to Arbitrary Mesh Models
Chen et al. Skeleton-driven surface deformation through lattices for real-time character animation
CN115908651A (zh) 一种三维人体模型与骨架的同步更新方法及电子设备
WO2023064441A1 (en) Inferred skeletal structure for practical 3d assets
Vasilakis et al. Skeleton-based Rigid Skinning for Character Animation.
CN114432703A (zh) 基于嵌套骨骼分离运动的角色模型自定义方法
Park et al. Template‐Based Reconstruction of Surface Mesh Animation from Point Cloud Animation

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220817

Address after: 518104 3rd Floor, Building A2, No. 2072, Jincheng Road, Haoxiang Community, Shajing Street, Baoan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Jihui Technology Co., Ltd.

Address before: 518104 a, 4th floor, building A4, third industrial zone, Shajing Industrial Company, Ho Xiang Road, Shajing street, Bao'an District, Shenzhen City, Guangdong Province

Applicant before: SHENZHEN TATFOOK NETWORK TECHNOLOGY Co.,Ltd.