一种角色动画的骨骼驱动方法及设备技术

技术编号:38937720 阅读:41 留言:0更新日期:2023-09-25 09:38
本申请涉及计算机图形技术领域,提供一种角色动画的骨骼驱动方法及设备,利用每一帧角色动画的骨架中各个骨骼节点的驱动数据,驱动四面体网格模型中的各个第一顶点运动,再根据预设的约束条件,对各个第一顶点进行PBD形变,利用三角形网格模型中第二顶点与四面体的映射关系,驱动相应的第二顶点运动,并渲染驱动后的三角形网格模型,得到当前帧的角色动画。通过将三角形网格模型转换为四面体网格模型,使得PBD形变技术能够用于角色动画中,从而根据形变后的四面体网格模型中的四面体来驱动三角形网格模型中相应的三角形顶点运动,有效解决肘部、膝盖等部位的塌陷、体积损失、鼓包等异常问题,提高了角色动画的驱动质量。提高了角色动画的驱动质量。提高了角色动画的驱动质量。

【技术实现步骤摘要】
一种角色动画的骨骼驱动方法及设备


[0001]本申请涉及计算机图形
,尤其涉及一种角色动画的骨骼驱动方法及设备。

技术介绍

[0002]角色动画是计算机图形技术的一个重要组成部分,在动画电影、广告、游戏等场景中发挥着重要的作用。目前,角色动画通常采用骨骼动画方式实现。
[0003]在骨骼动画中,动画角色由两个部分来表示:一个部分是形成层次的一系列骨骼,即骨架(skeleton),每一个骨骼数据都包含角色自身的动画数据;另一部分是蒙在骨架上的皮肤(skin),即网格模型,用于提供角色绘制所需要的几何模型和纹理材质信息。通过驱动骨架令骨骼控制皮肤变形就实现了角色动画。
[0004]传统的骨骼驱动方法一般应用于三角形网格模型中,三角形网格模型的内部是空的,当利用内部的骨骼控制外部的皮肤变形时,在肘部、膝盖等关节处容易造成塌陷、体积损失、鼓包等异常现象,降低了角色动画的展示效果。

技术实现思路

[0005]本申请实施例提供了一种角色动画的骨骼驱动方法及设备,用以提高角色动画的驱动质量。
[0006]第一方面,本申请实施例提供一种角色动画的骨骼驱动方法,包括:
[0007]针对每一帧图像,获取角色动画的骨架中各个骨骼节点的驱动数据,所述角色动画的皮肤为三角形网格模型,所述三角形网格模型用于生成四面体网格模型;
[0008]根据所述驱动数据,以及所述四面体网格模型中各个第一顶点与相应骨骼节点的关联权重,驱动所述四面体网格模型的各个第一顶点运动;
[0009]根据预设的约束条件,对驱动后的各个第一顶点进行基于动力学PBD形变;
[0010]遍历所述三角形网格模型中的各个第二顶点,针对每个第二顶点,根据第二顶点与四面体的映射关系,利用相应的四面体包含的第一顶点的坐标,驱动所述第二顶点运动;
[0011]渲染所述各个第二顶点驱动后的三角形网格模型,得到当前帧的角色动画。
[0012]第二方面,本申请实施例提供一种显示设备,包括处理器、存储器和显示屏,所述显示屏、所述存储器和所述处理器通过总线连接;
[0013]所述存储器存储有计算机程序,所述处理器根据所述计算机程序,执行以下操作:
[0014]针对每一帧图像,获取角色动画的骨架中各个骨骼节点的驱动数据,所述角色动画的皮肤为三角形网格模型,所述三角形网格模型用于生成四面体网格模型;
[0015]根据所述驱动数据,以及所述四面体网格模型中各个第一顶点与相应骨骼节点的关联权重,驱动所述四面体网格模型的各个第一顶点运动;
[0016]根据预设的约束条件,对驱动后的各个第一顶点进行基于动力学PBD形变;
[0017]遍历所述三角形网格模型中的各个第二顶点,针对每个第二顶点,根据第二顶点
与四面体的映射关系,利用相应的四面体包含的第一顶点的坐标,驱动所述第二顶点运动;
[0018]渲染所述各个第二顶点驱动后的三角形网格模型,得到当前帧的角色动画,并由所述显示屏进行显示。
[0019]可选的,针对每个第二顶点,所述处理器根据第二顶点与四面体的映射关系,利用相应的四面体包含的第一顶点的坐标,驱动所述第二顶点运动,具体操作为:
[0020]根据第二顶点与四面体的映射关系,确定所述第二顶点对应的目标四面体;
[0021]根据驱动前所述第二顶点的在所述目标四面体的重心坐标和所述目标四面体的四个第一顶点的坐标,确定所述第二顶点的目标坐标,所述重心坐标为所述第二顶点对应的四个第一顶点的坐标权重;
[0022]根据所述第二顶点的目标坐标,驱动所述第二顶点运动。
[0023]可选的,所述约束条件包括以下至少一个:
[0024]形变前后所述四面体网络模型中每个四面体的边长长度不变;
[0025]形变前后所述四面体网格模型中每个四面体的体积大小不变;
[0026]形变前后所述四面体网格模型中每个四面体的能量守恒。
[0027]可选的,所述处理器通过以下方式预先建立所述映射关系:
[0028]针对所述三角形网格模型中的每个第二顶点,确定所述第二顶点是否在所述四面体网格模型的一个四面体内;
[0029]如果在,则建立所述第二顶点与所述第二顶点所在的四面体之间的映射关系;
[0030]如果不在,确定每个四面体的质心坐标,并确定每个质心坐标与所述第二顶点的距离,将距离最小的质心坐标对应的一个四面体,与所述第二顶点建立映射关系。
[0031]可选的,所述处理器确定所述第二顶点是否在所述四面体网格模型的一个四面体内,具体操作为:
[0032]确定所述第二顶点在每个四面体中的重心坐标;
[0033]针对每个重心坐标,若确定所述重心坐标的各个参数均在取值区间内,则确定所述第二顶点在所述重心坐标对应的一个四面体内。
[0034]可选的,所述重心坐标的计算公式为:
[0035]p(x
p
,y
p
,z
p
)=αA(x
a
,y
a
,z
a
)+βB(x
b
,y
b
,z
b
)+γC(x
c
,y
c
,z
c
)+λD(x
d
,y
d
,z
d
)
[0036]其中,p(x
p
,y
p
,z
p
)表示第二顶点的坐标,A(x
a
,y
a
,z
a
)、B(x
b
,y
b
,z
b
)、C(x
c
,y
c
,z
c
)和D(x
d
,y
d
,z
d
)分别表示所述四面体包含的第一顶点的坐标,(α,β,γ,λ)表示重心坐标。
[0037]可选的,所述质心坐标的计算公式为:
[0038]q(x
q
,y
q
,z
q
)={A(x
a
,y
a
,z
a
)+B(x
b
,y
b
,z
b
)+C(x
c
,y
c
,z
c
)+D(x
d
,y
d
,z
d
)}/4
[0039]其中,q(x
q
,y
q
,z
q
)表示质心坐标,A(x
a
,y
a
,z
a
)、B(x
b
,y
b
,z
b本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种角色动画的骨骼驱动方法,其特征在于,包括:针对每一帧图像,获取角色动画的骨架中各个骨骼节点的驱动数据,所述角色动画的皮肤为三角形网格模型,所述三角形网格模型用于生成四面体网格模型;根据所述驱动数据,以及所述四面体网格模型中各个第一顶点与相应骨骼节点的关联权重,驱动所述四面体网格模型的各个第一顶点运动;根据预设的约束条件,对驱动后的各个第一顶点进行基于动力学PBD形变;遍历所述三角形网格模型中的各个第二顶点,针对每个第二顶点,根据第二顶点与四面体的映射关系,利用相应的四面体包含的第一顶点的坐标,驱动所述第二顶点运动;渲染所述各个第二顶点驱动后的三角形网格模型,得到当前帧的角色动画。2.如权利要求1所述的方法,其特征在于,所述针对每个第二顶点,根据第二顶点与四面体的映射关系,利用相应的四面体包含的第一顶点的坐标,驱动所述第二顶点运动,包括:根据第二顶点与四面体的映射关系,确定所述第二顶点对应的目标四面体;根据驱动前所述第二顶点的在所述目标四面体的重心坐标和所述目标四面体的四个第一顶点的坐标,确定所述第二顶点的目标坐标,所述重心坐标为所述第二顶点对应的四个第一顶点的坐标权重;根据所述第二顶点的目标坐标,驱动所述第二顶点运动。3.如权利要求1所述的方法,其特征在于,所述约束条件包括以下至少一个:形变前后所述四面体网络模型中每个四面体的边长长度不变;形变前后所述四面体网格模型中每个四面体的体积大小不变;形变前后所述四面体网格模型中每个四面体的能量守恒。4.如权利要求1

3中任一项所述的方法,其特征在于,通过以下方式预先建立所述映射关系:针对所述三角形网格模型中的每个第二顶点,确定所述第二顶点是否在所述四面体网格模型的一个四面体内;如果在,则建立所述第二顶点与所述第二顶点所在的四面体之间的映射关系;如果不在,确定每个四面体的质心坐标,并确定每个质心坐标与所述第二顶点的距离,将距离最小的质心坐标对应的一个四面体,与所述第二顶点建立映射关系。5.如权利要求4所述的方法,其特征在于,所述确定所述第二顶点是否在所述四面体网格模型的一个四面体内,包括:确定所述第二顶点在每个四面体中的重心坐标;针对每个重心坐标,若确定所述重心坐标的各个参数均在取值区间内,则确定所述第二顶点在所述重心坐标对应的一个四面体内。6.如权利要求5所述的方法,其特征在于,所述重心坐标的计算公式为:p(x
p
,y
p
,z
p
)=αA(x
a
,y
a
,z
a
)+βB(x
b
,y
b
,z
b
)+γC(x
c
,y
c
,z
c
)+λD(x
d
,y
d
,z
d
)其中,p(x
p
,y
p
,z
p
)表示第二顶点的坐标,A(x
a
,y
a
,z
a
)、B(x
b
,y
b
,z
b
)、C(x

【专利技术属性】
技术研发人员:任子健刘帅吴连朋
申请(专利权)人:聚好看科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1