CN114359447A - 骨骼数据的建模方法、计算机设备及存储介质 - Google Patents
骨骼数据的建模方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114359447A CN114359447A CN202111673285.1A CN202111673285A CN114359447A CN 114359447 A CN114359447 A CN 114359447A CN 202111673285 A CN202111673285 A CN 202111673285A CN 114359447 A CN114359447 A CN 114359447A
- Authority
- CN
- China
- Prior art keywords
- vertex
- skeleton
- data
- bone
- transformation 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
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种骨骼数据的建模方法、计算机设备及存储介质,该方法包括:获取骨骼数据中网格数据的顶点,顶点绑定至少一个骨骼,且顶点对应有顶点初始坐标;获取顶点绑定的骨骼对应的权重值和全局变换矩阵;根据顶点初始坐标、全局变换矩阵和权重值确定顶点对应的位置。通过上述方式,本申请可以通过顶点的初始位置以及顶点绑定的骨骼对应的全局变换矩阵和权重值来更新顶点的实时位置,实现骨骼建模的动态效果,有助于减少骨骼建模文件的数据量,减少数据运行的内存空间。
Description
技术领域
本申请涉及数据建模技术领域,具体涉及一种骨骼数据的建模方法、计算机设备及存储介质。
背景技术
数据建模是形成3D模型的重要手段,其中,骨骼数据的建模是形成3D模型的重要一环,现有的骨骼数据在建模过程中,尤其是需要形成动态的3D模型时通常是把每个顶点随时间改变的动作信息都存储下来,数据量较大,占用的内存空间也相对较大,因此对建模软件的性能有极高的要求且建模效率较低。有鉴于此,如何减少骨骼建模文件的数据量,减少数据运行的内存空间成为亟待解决的问题。
发明内容
为了解决上述问题,本申请提供了一种骨骼数据的建模方法、计算机设备及存储介质,利用本申请的方法实现骨骼建模的动态效果,有助于减少骨骼建模文件的数据量,减少数据运行的内存空间。
第一方面,本申请提供一种骨骼数据的建模方法,该方法包括:获取骨骼数据中网格数据的顶点,所述顶点绑定至少一个骨骼,且所述顶点对应有顶点初始坐标;获取所述顶点绑定的骨骼对应的权重值和全局变换矩阵;根据所述顶点初始坐标、所述全局变换矩阵和所述权重值确定所述顶点对应的位置。
第二方面,本申请提供一种计算机设备,所述计算机设备包括存储器以及与所述存储器耦接的处理器;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述第一方面的骨骼数据的建模方法。
第三方面,本申请提供一种计算机存储介质,该计算机存储介质存储有程序数据,所述程序数据在被处理器执行时,用以实现如用于实现上述第一方面的骨骼数据的建模方法。
本申请的有益效果是:本申请通过获取顶点的顶点初始坐标以及顶点绑定的骨骼对应的全局变换矩阵和权重值,根据顶点初始坐标、全局变换矩阵和权重值将顶点的实时位置在骨骼数据中实时更新,以实现骨骼建模的动态效果的同时避免把每个顶点随时间改变的动作信息都存储下来,有助于减少骨骼建模文件的数据量,减少数据运行的内存空间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的骨骼数据的建模方法一实施例的流程示意图;
图2是本申请提供的骨骼数据的建模方法另一实施例的流程示意图;
图3是本申请提供的骨骼数据的建模方法在一应用场景中的结构示意图;
图4是本申请提供的计算机设备一实施例的结构示意图;
图5是本申请提供的计算机存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。
本申请实施例提供的骨骼数据的建模方法、计算机设备及存储介质,可应用于数据建模技术领域。其中,骨骼数据的建模方法可以应用于终端或服务器中,其中,终端可以是笔记本电脑、台式电脑、个人数字助理等电子设备;服务器可以为独立的服务器,也可以为服务器集群。
请参阅图1,图1是本申请提供的骨骼数据的建模方法一实施例的流程示意图,该方法包括:
S101:获取骨骼数据中网格数据的顶点,顶点绑定至少一个骨骼,且顶点对应有顶点初始坐标。
具体地,骨骼数据可分为骨骼模型数据和网格数据,骨骼模型数据构成骨架结构,在骨架结构上结合网格数据即可形成骨骼数据。其中,网格数据上的顶点与骨骼对应,一个顶点绑定至少一个骨骼至多四个骨骼,顶点对应有顶点初始坐标。为实现动画数据的动态效果,动画制作系统首先获取骨骼数据中网格数据的顶点以及该顶点对应的顶点初始坐标。
在一应用方式中,从骨骼数据中提取网格数据,提取网格数据中的顶点,标定每个顶点所绑定的骨骼,获取每个顶点在骨骼坐标系中的顶点初始坐标。
S102:获取顶点绑定的骨骼对应的权重值和全局变换矩阵。
具体地,为形成完整的动画效果,动画制作系统获取顶点绑定的骨骼对应的权重值和全局变换矩阵,其中,每个顶点的绑定的每个骨骼设有对应的权重值,权重值决定了骨骼对顶点位置的影响程度,当顶点绑定的骨骼对应的权重值设定后则不在变化,而全局变换矩阵随着每一帧的变化而发生变化。
可以理解的是,将网格数据上的顶点从初始位置至终止位置每一帧所在的位置描绘出来,由顶点位置的变化带动骨骼模型数据和网格数据的位置变化,即可形成骨骼数据的动态效果。
在一应用方式中,顶点绑定的骨骼预先设置有对应的权重值,骨骼数据的每一帧对应有骨骼在每一帧对应的全局变换矩阵,在获得顶点所绑定的骨骼后,获取顶点绑定的骨骼所对应的权重值以及顶点在当前帧对应的全局变换矩阵。
S103:根据顶点初始坐标、全局变换矩阵和权重值确定顶点对应的位置。
具体地,在顶点对应的顶点初始坐标的基础上,结合顶点绑定的每个骨骼在每一帧对应的全局变换矩阵和骨骼对应的权重值,生成顶点在每一帧的变化,进而基于顶点在每一帧的变化获取顶点在当前帧对应的位置。
进一步地,将顶点在每一帧的实时位置在骨骼数据中更新,以实现骨骼建模的动态效果,无需为网格蒙皮的顶点添加动画数据,然后在模型渲染时使用这些数据实时移动顶点,大大减少骨骼建模过程中每一帧所需要的数据量。
在一应用方式中,将顶点初始坐标转换为多维向量,将多维向量与对应的全局变换矩阵和权重值相乘,从而获得顶点初始坐标更新后的多维向量,并在上一次更新后的多维向量的基础上对每一帧中顶点对应的多维向量进行实时更新,从多维向量中提取出顶点在每一帧对应的坐标。
上述方案,通过获取顶点的顶点初始坐标以及顶点绑定的骨骼对应的全局变换矩阵和权重值,根据顶点初始坐标、全局变换矩阵和权重值将顶点的实时位置在骨骼数据中实时更新,以实现骨骼建模的动态效果的同时避免把每个顶点随时间改变的动作信息都存储下来,有助于减少骨骼建模文件的数据量,减少数据运行的内存空间。
请参阅图2,图2是本申请提供的骨骼数据的建模方法另一实施例的流程示意图,该方法包括:
S201:获取骨骼数据中的网格数据,提取网格数据中的顶点及其对应的顶点初始坐标。
具体地,从骨骼数据中提取网格数据,查找到网格数据上的顶点,其中每个顶点对应有顶点初始坐标且每个顶点绑定有至少一个且至多四个骨骼。
进一步地,顶点绑定有至多四个骨骼,顶点绑定的每一个骨骼均预设有初始权重值,初始权重值以8位无符号整型数表示,且每一个顶点对应的所有骨骼的初始权重值和为255。
其中,在动画制作系统的内存中使用8位二进制无符号整数表示初始权重值,进而任意一个顶点绑定的骨骼所对应的初始权重值,在内存中可用一个32位的字存储,进而节约内存的占用空间,每个8位无符号整型数(unsigned integer)可表示的范围是0-255,同一顶点绑定的所有骨骼对应的初始权重值的和为255,以使每一顶点绑定的所有骨骼对应的初始权重值的总和相同。
S202:获取顶点对应的关节索引,根据关节索引确定顶点绑定的骨骼,并获取骨骼对应的权重值。
具体地,获取顶点对应的关节索引,根据关节索引确定每个顶点所绑定骨骼,从而获取顶点绑定的骨骼对应的权重值。
在一应用方式中,在动画制作系统的内存中使用8位二进制数表示关节索引,以使顶点对应的关节索引在内存中可用一个32位的字存储,进而节约内存的占用空间,当顶点对应有4个关节索引时,则一个32位的字中每8位表示一个关节索引,当顶点对应的关节索引少于4个时,则一个32位的字中包括无效字符,用0填充整个32位的字,在获得到顶点对应的用32位的字表示的关节索引后,基于关节索引确定每个顶点所绑定的骨骼。
进一步地,获取顶点绑定的骨骼对应的权重值的步骤,包括:将顶点绑定的所有骨骼的初始权重值除以255后转换为浮点数,以得到顶点绑定的骨骼对应的权重值。
具体地,在计算顶点绑定的骨骼的权重值时,将初始权重值除以255,以使同一顶点所绑定的所有骨骼的权重值的总和为1,并在内存中以浮点数表示权重值从而便于进行运算。
具体地,可采用如下公式计算出顶点绑定的骨骼对应的权重值:
hx=Hx÷255 (1)
其中,hx为计算出的权重值,Hx为初始权重值。
在一应用场景中,当顶点绑定4个骨骼时初始权重值H1、H2、H3以及H4的和为255,由于后续计算的权重值h1、h2、h3以及h4的和为1。
S203:获取骨骼对应的骨骼模型数据,根据骨骼模型数据包含的骨骼索引值和关键帧数据生成骨骼对应的全局变换矩阵。
具体地,骨骼数据可分为骨骼模型数据和网格数据,骨骼模型数据构成骨架结构,骨骼模型数据中可以包括多个骨骼,并且多个骨骼以根骨骼为根节点,其他多个骨骼以根骨骼为父节点,依次生成子节点和孙节点,在形成树型结构的骨骼模型时为每个骨骼分配有一个骨骼索引值。
在一应用场景中,请参阅图3,图3是本申请提供的骨骼数据的建模方法在一应用场景中的结构示意图,以人物骨骼模型的骨骼定义为例:以髋关节为根骨骼,对应的索引值为1,其包含三个子骨骼,分别是脊椎下部(索引值为2)、左大腿(索引值为3)以及右大腿(索引值为4);脊椎下部包含一个子骨骼:脊椎中部(索引值为5),依次往下有脊椎上部(索引值为6)、脖子(索引值为7);脖子包含三个子骨骼:头(索引值为8)、左上臂(索引值为9)和右上臂(索引值为10),左上臂的子骨骼为左前臂(索引值为11),左前臂的子骨骼为左手(索引值为12),右上臂的子骨骼为右前臂(索引值为13),右前臂的子骨骼为右手(索引值为14),其余的骨骼的索引值也可按照类似的规律进行分配,具体分配方式不作限定。
进一步地,骨骼模型数据还包括骨骼的关键帧数据,关键帧为骨骼数据中的角色运动时的关键动作所处的那一帧,记录了在某个关键时间点骨骼所在的位置。当骨骼模型数据形成动画效果时,该骨骼模型数据至少包括两个关键帧数据,利用该关键帧数据进行计算,从而得到骨骼的局部变换矩阵,该局部变换矩阵为对当前单个骨骼自身而言,其为不受父骨骼的影响而进行变换的矩阵。
可以理解的是,通过关键帧数据可以计算出骨骼对应的局部变换矩阵,而通过骨骼索引值获取到骨骼对应的父骨骼,通过骨骼索引值层层追溯可以查找到骨骼模型数据中的根骨骼,根骨骼没有父节点,因此,根骨骼对应的局部变换矩阵即为根骨骼的全局变换矩阵,如果根据骨骼索引值判断出该骨骼具有父骨骼,则可以利用父骨骼的全局变换矩阵与该骨骼的局部变换矩阵,生成该骨骼的全局变换矩阵,从而准确获取骨骼在每一帧对应的全局变换矩阵,便于对顶点的坐标进行更新。
在一应用方式中,根据骨骼模型数据包含的骨骼索引值和关键帧数据生成骨骼对应的全局变换矩阵的步骤,包括:根据骨骼的关键帧数据计算得到骨骼的局部变换矩阵;根据骨骼索引值计算得到骨骼的父骨骼,获取父骨骼对应的全局变换矩阵;根据骨骼的局部变换矩阵与父骨骼的全局变换矩阵之间的关系,确定骨骼对应的全局变换矩阵。
具体地,将关键帧数据中的两帧数据作为起点帧和终点帧,在起点帧和终点帧之间进行插值运算得到中间帧,基于中间帧得到骨骼的中间变换矩阵,获取关键帧数据中骨骼对应的轴心点,基于轴心点确定第一平移矩阵和第二平移矩阵,其中,第一平移矩阵用于将骨骼进行平移,以使得骨骼的轴心点位于该骨骼的骨骼节点上,从而使得骨骼在旋转和缩放时以骨骼节点为中心进行旋转和缩放,第二平移矩阵用于将骨骼移回原来的骨骼位置。
进一步地,在计算出中间变换矩阵、第一平移矩阵以及第二平移矩阵后,可采用如下公式计算出骨骼的局部变换矩阵:
ML=Me×Mp1×MI×Mp2 (2)
其中,ML为骨骼的局部变换矩阵,MI为骨骼的中间变换矩阵,Mp1为第一平移矩阵,Mp2为第二平移矩阵,Me为骨骼的初始化矩阵,具体可以为一个单位矩阵:
进一步地,根据骨骼的索引值判断该骨骼是否具有父骨骼,若确定该骨骼具有父骨骼,则可获取该骨骼的父骨骼的全局变换矩阵。在确定骨骼的索引值后,则可得出相应的父骨骼的索引值,根据该父骨骼的索引值查询该父骨骼对应的全局变换矩阵,若该骨骼不具有父骨骼,则该骨骼为根骨骼,此时可将该骨骼的局部变换矩阵作为骨骼的全局变换矩阵,通过层层追溯可以获得每个层级的骨骼所对应的全局变换矩阵。
可以理解的是,如果该骨骼具有父骨骼,则可采用如下公式进行递归计算骨骼的全局变换矩阵Mbone:
Mbone=ML×Mparent=Me×Mp1×MI×Mp2×Mparent (3)
其中,Mparent为该骨骼的父骨骼的全局变换矩阵。
利用该骨骼的局部变换矩阵与父骨骼的全局变换矩阵之间的关系,从而得到该骨骼的全局变换矩阵Mbone。
S204:根据顶点初始坐标设置顶点对应的初始坐标向量。
具体地,由于顶点初始坐标为一个坐标值,无法用于直接与全局变换矩阵进行计算,因此需要为顶点初始坐标设置顶点初始坐标向量,假设顶点初始的位置对应的顶点初始坐标为ux,uy,uz,使用四维向量表示顶点的初始坐标生成顶点对应的初始坐标向量,从而便于后续运算。
其中,初始坐标向量为四维向量,且四维向量的第四个分量元素为1,因此,初始坐标向量表示为[ux,uy,uz,1],由于顶点的位置是一个预设的固定点,因此,第四个分量元素为1。
S205:根据初始坐标向量、全局变换矩阵和权重值计算得到顶点对应的当前坐标向量。
具体地,将顶点的初始坐标向量作为基准,将顶点绑定的骨骼所对应的全局变换矩阵与权重值结合并叠加,以获得当前帧顶点对应的当前坐标向量。
在一应用方式中,根据初始坐标向量、全局变换矩阵和权重值计算得到顶点对应的当前坐标向量的步骤,包括:将顶点对应的初始坐标向量,依次与顶点绑定的骨骼所对应的全局变换矩阵和权重值进行相乘,以获得顶点对应的当前坐标向量。
具体地,以顶点绑定有4个骨骼为例,可采用如下公式计算出顶点的对应的当前坐标向量:
其中,顶点坐标为ux1,uy1,uz1,Mi为顶点绑定的骨骼对应的全局变换矩阵,hi为权重值。
具体地,从上述步骤可知,全局变换矩阵Mbone是根据由父骨骼的全局变换矩阵Mparent和骨骼的局部变换矩阵ML获得的,在计算局部变换矩阵ML时包括了中间变换矩阵MI,中间变换矩阵MI由关键帧数据进行插值计算得到的中间帧数据获得,因此中间帧数据记录了骨骼数据在不同帧画面下骨骼的状态。因此,全局变换矩阵Mbone在每一帧会发生变化,以体现骨骼相对初始位置的变化,同时,权重值决定了骨骼对顶点位置的影响程度。因此,将顶点绑定的骨骼对应的全局变换矩阵Mbone与权重值结合并叠加,从而获得顶点对应的当前坐标向量,避免把每个顶点随时间改变的动作信息都存储下来,即可获得顶点对应的当前坐标向量。
S206:根据当前坐标向量确定顶点的当前坐标,以在骨骼数据中更新所述顶点的位置。
具体地,根据当前坐标向量对应的前三个分量元素确定顶点的当前坐标。以公式(4)中的表述为例,当前坐标向量表示为[ux1,uy1,uz1,1],则提取当前坐标向量中的前三个元素即可获得顶点的当前坐标,用于在骨骼数据中更新顶点的位置。
进一步地,顶点对应有顶点位置处的法线;获取顶点绑定的骨骼对应的权重值和全局变换矩阵的步骤之后,还包括:获取法线对应的法线初始坐标,根据法线初始坐标设置法线对应的初始坐标向量;根据法线初始坐标向量、全局变换矩阵和权重值计算得到法线对应的当前坐标向量;根据当前坐标向量确定法线的当前坐标;对法线的当前坐标进行单位化处理。
具体地,获取顶点处的法线所对应的法线初始坐标,假设法线初始的位置对应的法线初始坐标为nx,ny,nz,使用四维向量将法线初始向量表示为[nx,ny,nz,0],因为法线表示一个方向向量,第四个分量不参与计算,则第四个分量元素为0。
进一步地,以顶点绑定有4个骨骼为例,可采用如下公式计算出法线对应的当前坐标向量:
其中,法线坐标为nx1,ny1,nz1,Mi为顶点绑定的骨骼对应的全局变换矩阵,hi为权重值。
可以理解的是,基于法线对应的当前坐标向量[nx1,ny1,nz1,0]即可获得法线对应的当前坐标nx1,ny1,nz1。
进一步地,对法线坐标nx1,ny1,nz1单位化,得到
其中,法线主要是用于计算光照的,在得到法线坐标后即对法线坐标单位化处理,进而之后在计算光照时直接以单位化的法线进行运算,无需在计算光照后重新单位化,减少动画制作系统的运算量,提高运算速度。
在实施例中,通过顶点对应的关节索引提取顶点所绑定的骨骼,基于骨骼对应的骨骼索引值和关键帧数据生成骨骼对应的全局变换矩阵,将顶点的初始坐标转换为初始坐标向量,根据初始坐标向量、全局变换矩阵和权重值计算获得当前坐标向量,从而获得顶点的当前坐标,将顶点的实时位置在骨骼数据中实时更新,以实现骨骼建模的动态效果的同时避免把每个顶点随时间改变的动作信息都存储下来,有助于减少骨骼建模文件的数据量,减少数据运行的内存空间。
请参阅图4,图4是本申请提供的计算机设备一实施例的结构示意图,该计算机设备40包括存储器401以及与存储器401耦接的处理器402。其中,存储器401用于存储程序数据(图未示),处理器402用于执行程序数据以实现上述实施例中的骨骼数据的建模方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
请参阅图5,图5是本申请提供的计算机存储介质一实施例的结构示意图,该计算机存储介质50存储有程序数据500,程序数据500在被处理器执行时,用以实现上述实施例中的骨骼数据的建模方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
需要说明的是,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种骨骼数据的建模方法,其特征在于,所述方法包括:
获取骨骼数据中网格数据的顶点,所述顶点绑定至少一个骨骼,且所述顶点对应有顶点初始坐标;
获取所述顶点绑定的骨骼对应的权重值和全局变换矩阵;
根据所述顶点初始坐标、所述全局变换矩阵和所述权重值确定所述顶点对应的位置。
2.根据权利要求1所述的骨骼数据的建模方法,其特征在于,所述获取所述顶点绑定的骨骼对应的权重值和全局变换矩阵的步骤,包括:
获取所述顶点对应的关节索引,根据所述关节索引确定所述顶点绑定的骨骼,并获取所述骨骼对应的权重值;
获取所述骨骼对应的骨骼模型数据,根据所述骨骼模型数据包含的骨骼索引值和关键帧数据生成所述骨骼对应的全局变换矩阵。
3.根据权利要求2所述的骨骼数据的建模方法,其特征在于,所述根据所述骨骼模型数据包含的骨骼索引值和关键帧数据生成所述骨骼对应的全局变换矩阵的步骤,包括:
根据所述骨骼的关键帧数据计算得到所述骨骼的局部变换矩阵;
根据所述骨骼索引值计算得到所述骨骼的父骨骼,获取所述父骨骼对应的全局变换矩阵;
根据所述骨骼的所述局部变换矩阵与所述父骨骼的全局变换矩阵之间的关系,确定所述骨骼对应的全局变换矩阵。
4.根据权利要求1所述的骨骼数据的建模方法,其特征在于,所述根据所述顶点初始坐标、所述全局变换矩阵和所述权重值确定所述顶点对应的位置的步骤,包括:
根据所述顶点初始坐标设置所述顶点对应的初始坐标向量;
根据所述初始坐标向量、所述全局变换矩阵和所述权重值计算得到所述顶点对应的当前坐标向量;
根据所述当前坐标向量确定所述顶点的当前坐标,以在所述骨骼数据中更新所述顶点的位置。
5.根据权利要求4所述的骨骼数据的建模方法,其特征在于,
所述初始坐标向量为四维向量,且所述四维向量的第四个分量元素为1;
所述根据所述初始坐标向量、所述全局变换矩阵和所述权重值计算得到所述顶点对应的当前坐标向量的步骤,包括:
将所述顶点对应的所述初始坐标向量,依次与所述顶点绑定的骨骼所对应的所述全局变换矩阵和所述权重值进行相乘,以获得所述顶点对应的所述当前坐标向量;
所述根据所述当前坐标向量确定所述顶点的当前坐标的步骤,包括:
根据所述当前坐标向量对应的前三个分量元素确定所述顶点的所述当前坐标。
6.根据权利要求1所述的骨骼数据的建模方法,其特征在于,
所述顶点对应有所述顶点位置处的法线;
所述获取所述顶点绑定的骨骼对应的权重值和全局变换矩阵的步骤之后,还包括:
获取所述法线对应的法线初始坐标,根据所述法线初始坐标设置所述法线对应的初始坐标向量;
根据所述法线初始坐标向量、所述全局变换矩阵和所述权重值计算得到所述法线对应的当前坐标向量;
根据所述当前坐标向量确定所述法线的当前坐标;
对所述法线的当前坐标进行单位化处理。
7.根据权利要求1所述的骨骼数据的建模方法,其特征在于,所述获取骨骼数据中网格数据的顶点的步骤,包括:
获取所述骨骼数据中的所述网格数据,提取所述网格数据中的顶点及其对应的顶点初始坐标;
其中,所述顶点绑定有至多四个骨骼,所述顶点绑定的每一个骨骼均预设有初始权重值,所述初始权重值以8位无符号整型数表示,且每一个所述顶点对应的所有骨骼的初始权重值和为255。
8.根据权利要求7所述的骨骼数据的建模方法,其特征在于,所述获取所述顶点绑定的骨骼对应的权重值的步骤,包括:
将所述顶点绑定的所有骨骼的初始权重值除以255后转换为浮点数,以得到所述顶点绑定的骨骼对应的所述权重值。
9.一种计算机设备,其特征在于,所述计算机设备包括包括存储器以及与所述存储器耦接的处理器;
其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现权利要求1-8中任一项所述的骨骼数据的建模方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序数据,所述程序数据在被处理器执行时,用以实现如权利要求1-8中任一项所述的骨骼数据的建模方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111673285.1A CN114359447A (zh) | 2021-12-31 | 2021-12-31 | 骨骼数据的建模方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111673285.1A CN114359447A (zh) | 2021-12-31 | 2021-12-31 | 骨骼数据的建模方法、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114359447A true CN114359447A (zh) | 2022-04-15 |
Family
ID=81104741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111673285.1A Pending CN114359447A (zh) | 2021-12-31 | 2021-12-31 | 骨骼数据的建模方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114359447A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114926572A (zh) * | 2022-05-18 | 2022-08-19 | 聚好看科技股份有限公司 | 一种角色动画中衣物的驱动方法及设备 |
CN115690267A (zh) * | 2022-12-29 | 2023-02-03 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、设备、存储介质及产品 |
CN117274449A (zh) * | 2023-11-15 | 2023-12-22 | 唯物(杭州)科技有限公司 | 一种基于模型生成骨骼的方法和系统 |
-
2021
- 2021-12-31 CN CN202111673285.1A patent/CN114359447A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114926572A (zh) * | 2022-05-18 | 2022-08-19 | 聚好看科技股份有限公司 | 一种角色动画中衣物的驱动方法及设备 |
CN115690267A (zh) * | 2022-12-29 | 2023-02-03 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、设备、存储介质及产品 |
CN115690267B (zh) * | 2022-12-29 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 一种动画处理方法、装置、设备、存储介质及产品 |
CN117274449A (zh) * | 2023-11-15 | 2023-12-22 | 唯物(杭州)科技有限公司 | 一种基于模型生成骨骼的方法和系统 |
CN117274449B (zh) * | 2023-11-15 | 2024-02-09 | 唯物(杭州)科技有限公司 | 一种基于模型生成骨骼的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114359447A (zh) | 骨骼数据的建模方法、计算机设备及存储介质 | |
US6078331A (en) | Method and system for efficiently drawing subdivision surfaces for 3D graphics | |
Lee | Feature-based multiresolution modeling of solids | |
US6184897B1 (en) | Compressed representation of changing meshes and method to decompress | |
US7138998B2 (en) | Multi-resolution spatial partitioning | |
EP3736776B1 (en) | Apparatus, system and method for the generation of polygonal meshes | |
US8497860B2 (en) | Spatial decomposition methods using bit manipulation | |
Labsik et al. | Progressive transmission of subdivision surfaces | |
CN110544291A (zh) | 一种图像渲染方法及装置 | |
CN111932659A (zh) | 骨骼模型数据的处理方法、计算机设备及存储介质 | |
US11995771B2 (en) | Automated weighting generation for three-dimensional models | |
CN111369649A (zh) | 一种基于高精度三维扫描模型的制作计算机蒙皮动画的方法 | |
US7777740B2 (en) | Spatial decomposition methods using bit manipulation | |
CN111617480A (zh) | 一种点云渲染方法及装置 | |
Jaillet et al. | Fast Quadtree/Octree adaptive meshing and re-meshing with linear mixed elements | |
US9275487B1 (en) | System and method for performing non-affine deformations | |
Mlakar et al. | Subdivision‐specialized linear algebra kernels for static and dynamic mesh connectivity on the gpu | |
Lee et al. | Adaptive synthesis of distance fields | |
Aman et al. | Multi‐level tetrahedralization‐based accelerator for ray‐tracing animated scenes | |
Aldrich et al. | Collision-Driven Volumetric Deformation on the GPU. | |
Tseng | Surface Simplification of 3D animation models using robust homogeneous coordinate transformation | |
CN112017295A (zh) | 一种可调节动态头模型生成方法、终端和计算机存储介质 | |
Untereiner et al. | CPH: a compact representation for hierarchical meshes generated by primal refinement | |
Wang et al. | Improved adaptive tessellation rendering algorithm | |
WO2023221683A1 (zh) | 图像渲染方法、装置、设备和介质 |
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 |