1.本技术涉及计算机图形技术领域,尤其涉及一种基于虚拟场景的服饰数据处理方法、存储介质及相关设备。
背景技术:2.随着物理仿真动画技术的蓬勃发展,图形硬件计算技术也在不断提高,对于游戏开发而言,虚拟人物的服饰布料模拟是非常重要的技术环节,现有技术中对于服饰布料模拟通常采用离线物理模拟布料解算方法或者实时蒙皮解算方法,离线物理模拟布料解算方法虽然耗时较短,但其效果一般,无法高度模拟服饰的细节,而实时蒙皮解算方法虽然模拟效果较好,但是其耗时较长,占用内存较大,效率低。
技术实现要素:3.有鉴于此,本技术的目的在于提出一种基于虚拟场景的服饰数据处理方法、存储介质及相关设备,以解决将离线解算的服饰布料数据应用于游戏运行时的蒙皮过程的问题。
4.基于上述目的,本技术提供了一种基于虚拟场景的服饰数据处理方法,包括:
5.提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集;
6.根据所述预设骨骼变形数据集和所述预设服饰顶点数据集以确定骨骼服饰权重矩阵;
7.驱动所述虚拟人物模型以获取当前姿态下的所述虚拟人物模型的实时骨骼变形数据集和实时服饰顶点数据集;
8.根据所述预设骨骼变形数据集和所述实时骨骼变形数据集以得到第一骨骼数据集;
9.根据所述实时服饰顶点数据集、所述第一骨骼数据集和所述骨骼服饰权重矩阵以确定当前姿态下所述虚拟人物模型的服饰布料状态。
10.可选的,所述提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集,还包括:
11.获取不同姿态下所述虚拟人物模型的运动数据,根据所述运动数据驱动所述虚拟人物模型进行形态变换,得到所述虚拟人物模型的形态变换结果;
12.设置插值提取节点,按照所述插值提取节点提取所述形态变换结果中所述虚拟人物模型的预设骨骼变形数据和预设服饰顶点数据集。
13.可选的,所述提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集,之前还包括:
14.获取虚拟人物的静态三维模型、所述虚拟人物的静态骨骼数据集以及目标服饰的静态服饰数据集;
15.将所述静态骨骼数据集以及所述静态服饰数据集绑定在所述静态三维模型上以得到虚拟人物模型。
16.可选的,所述根据所述预设骨骼变形数据集和所述预设服饰顶点数据集以确定骨骼服饰权重矩阵,还包括:
17.根据所述预设骨骼变形数据集,得到预设骨骼变形矩阵;其中,所述预设骨骼变形矩阵由所述虚拟人物模型在不同姿态下的所有骨骼对应的骨骼变形四元数构成;
18.根据所述预设服饰顶点数据集,得到预设服饰顶点矩阵;其中,所述预设服饰顶点矩阵由所述虚拟人物模型在不同姿态下的所有服饰顶点对应的服饰顶点三维坐标构成;
19.计算所述预设骨骼变形矩阵中每一行的数据与其它行的数据之间的轴角距离,得到第一轴角距离矩阵;
20.根据所述第一轴角距离矩阵以及所述预设服饰顶点矩阵,得到所述骨骼服饰权重矩阵。
21.可选的,所述根据所述预设骨骼变形数据集和所述实时骨骼变形数据集以得到第一骨骼数据集,还包括:
22.根据所述实时骨骼变形数据集,得到实时骨骼变形矩阵;其中,所述实时骨骼变形矩阵由所述虚拟人物模型在当前姿态下的所有骨骼对应的骨骼变形四元数构成;
23.计算所述实时骨骼变形矩阵中每一行的数据与所述预设骨骼变形矩阵与中每一行的数据的轴角距离,得到第二轴角距离矩阵;
24.根据所述第二轴角距离矩阵和径向基函数公式,得到所述第一骨骼数据集。
25.可选的,所述根据所述实时服饰顶点数据集、所述第一骨骼数据集和所述骨骼服饰权重矩阵以确定当前姿态下所述虚拟人物模型的服饰布料状态,还包括:
26.根据所述第一骨骼数据集和所述骨骼服饰权重矩阵执行权重提取操作以得到所述虚拟人物当前姿态下的插值服饰顶点数据集;
27.根据所述实时服饰顶点数据集与所述插值服饰顶点数据集,得到所述综合服饰顶点数据集;
28.根据所述综合服饰顶点数据集确定当前姿态下所述虚拟人物模型的服饰布料状态。
29.可选的,所述设置插值提取节点,按照所述插值提取节点提取所述形态变换结果中所述虚拟人物模型的预设骨骼变形数据和预设服饰顶点数据集,还包括:
30.在每两个所述插值提取节点之间设置预设时间间隔;
31.按照所述预设时间间隔执行简化操作以提取所述形态变换结果中所述虚拟人物模型的预设骨骼变形数据和预设服饰顶点数据集。
32.基于上述目的,本技术提供了一种基于虚拟场景的服饰数据处理装置,该装置包括:
33.离线数据获取模块,被配置为提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集;
34.离线权重计算模块,被配置为根据所述预设骨骼变形数据集和所述预设服饰顶点数据集以确定骨骼服饰权重矩阵;
35.第一运行模块,被配置为驱动所述虚拟人物模型以获取当前姿态下的所述虚拟人
物模型的实时骨骼变形数据集和实时服饰顶点数据集;
36.第二运行模块,被配置为根据所述预设骨骼变形数据集和所述实时骨骼变形数据集以得到第一骨骼数据集;
37.第三运行模块,被配置为根据所述实时服饰顶点数据集、所述第一骨骼数据集和所述骨骼服饰权重矩阵以确定当前姿态下所述虚拟人物模型的服饰布料状态。
38.基于上述目的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项所述的基于虚拟场景的服饰数据处理方法。
39.基于上述目的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一项所述的基于虚拟场景的服饰数据处理方法。
40.从上面所述可以看出,本技术提供的一种基于虚拟场景的服饰数据处理方法、存储介质及相关设备,在离线阶段获取虚拟人物模型的预设骨骼变形数据、预设服饰顶点数据以及可以表征虚拟人物模型的骨骼特征和服饰顶点特征的骨骼服饰权重矩阵,以实现在离线阶段解决在游戏场景中虚拟人物模型的服饰数据处理过程中所涉及的大量运算的问题,节约了解算数据的时间,此外,在运行阶段,驱动虚拟人物模型以获取当前姿态下的虚拟人物模型的实时骨骼变形数据集和实时服饰顶点数据集,根据离线阶段得到的预设骨骼变形数据集和运行阶段得到的实时骨骼变形数据集,得到第一骨骼数据集,进一步地,根据实时服饰顶点数据集、第一骨骼数据集和骨骼服饰权重矩阵对当前虚拟人物模型的变形情况自动插值生成服饰数据的变形过程的数据结果,以确定当前姿态下所述虚拟人物模型的服饰布料状态,本技术将离线阶段获取的虚拟人物模型的相关数据数据与实时蒙皮过程相结合,在兼顾效率的同时又能保证最终服饰数据的处理效果,使处理效果最大程度还原服饰所呈现出来的变化状态,并且可以并行处理虚拟人物模型的所有骨骼点数据和服饰顶点数据,可以大大提高在虚拟人物模型开发过程中实时服饰数据的拟合速度。
附图说明
41.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1为申请实施例提供的一种基于虚拟场景的服饰数据处理方法流程示意图;
43.图2为本技术实施例提供的服饰的2d版型以及uv坐标系示意图;
44.图3为本技术实施例提供的缝合解算过程示意图;
45.图4为本技术实施例提供的重拓过程示意图;
46.图5为本技术实施例提供的一种基于虚拟场景的服饰数据处理装置示意图;
47.图6为本实施例所提供的一种更为具体的电子设备硬件结构示意图。
具体实施方式
48.为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照
附图,对本公开进一步详细说明。
49.需要说明的是,除非另外定义,本技术使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本技术中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
50.如背景技术部分所述,在实际应用中,例如游戏场景中的皮肤展示之类,通常虚拟人物模型需要摆出不同姿态来展示服饰,所以,在游戏开发过程中,如何将游戏场景中虚拟人物的服饰布料呈现的流畅、无违和感并且保证服饰布料的模拟效率是一个至关重要的问题。
51.但申请人通过研究发现,目前市面上主流游戏布料实时模拟解决方法大多存在着效果好但效率低或者效率好效果一般的窘境,很难兼顾效率和效果。
52.针对上述问题,本技术提供的一种基于虚拟场景的服饰数据处理方法、存储介质及相关设备。
53.以下,通过具体的实施例进一步详细说明本公开的技术方案。
54.在具体实施中,本技术可以但不限于应用于游戏虚拟人物模型制作、影视制作或动画领域的服饰数据处理过程,本技术中所涉及的虚拟人物模型的所呈现出的穿戴服饰可以但不限于是由相关的服饰数据载入到marvelous designer软件中进行模拟解算出来的,marvelous designer是一款三维服装设计软件,其具有直观的图案设计功能,奇妙的设计支持折线,绘制自由曲线和三维立体裁剪同步互动设计,任何形式的修改立即反映在完全的3d实时立体裁剪服装设计界面中。本技术中涉及到的虚拟人物模型的运动数据可以但不限于通过maya软件获取,maya软件是一种三维建模和动画软件,可以通过maya导出驱动虚拟人物运动的身体动作alembic文件,将该alembic文件导入marvelous designer软件中,同步驱动虚拟人物模型的身体与服饰,得到3d服饰静态数据和3d服饰动态数据。
55.参考图1,为申请实施例提供的一种基于虚拟场景的服饰数据处理方法流程示意图。
56.步骤s101,提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集。
57.在具体实施中,需要先获取虚拟人物模型,虚拟人物模型的可以但不限于通过以下方式获取:
58.作为一个可选的实施例,可以在marvelous designer软件中根据服饰的设计图绘制出服饰2d版型,通过软件执行缝合解算过程以得到服饰3d成品样衣。根据服饰3d成品样衣得到需要进行模拟的目标服饰的静态服饰数据集。
59.参考图2,为本技术实施例提供的服饰的2d版型以及uv坐标系示意图。
60.在具体实施中,多边形除了具有三维的空间坐标系外,还存在一个二维的uv坐标,uv坐标和空间模型的x,y,z轴类似,在uv坐标系中,可以把多边形的顶点和图片上的像素对
应起来。uv坐标系中服饰的2d版型的纹理贴图定义了服饰的2d版型上每个点的位置的信息,这些点与3d形式的服饰数据是相互联系的,可以将服饰的2d版型上每个点精确对应到虚拟人物模型的表面,在点与点之间的间隙位置由软件进行图像光滑插值处理。
61.参考图3,为本技术实施例中缝合解算过程示意图。
62.通过服饰设计图制定出服饰的2d版型,根据2d版型生成uv坐标系,将uv坐标系排布于环境背景中以获取虚拟人物模型的所需数据,再通过软件的缝合解算获取3d形式的服饰数据。
63.参考图4,为本技术实施例提供的重拓过程示意图。
64.需要说明的是,3d服饰静态数据和3d服饰动态数据需要进行重拓,以便于三维贴图的绘制与制作,同样的模型四边面优于三角面的后续使用,所有我们需要使用三维模型对marvelous designer软件中制作好的模型进行一次重新拓扑,让其蒙皮结构变成四边面。
65.进一步地,在具体实施中,可以在maya软件中导出指导虚拟人物模型呈现不同姿态的身体动作的alembic文件,alembic文件可以包括不限于缓存、动画数据等。进一步地,获取虚拟人物的静态三维模型以及与静态三维模型匹配的虚拟人物的静态骨骼数据集,将目标服饰的静态服饰数据集以及虚拟人物的静态骨骼数据集通过maya软件绑定在虚拟人物的静态三维模型,即可得到带有预设骨骼数据绑定和预设服饰数据绑定的虚拟人物模型。
66.进一步地,将带有预设骨骼数据绑定和预设服饰数据绑定的虚拟人物模型以及alembic文件导入marvelous designer软件驱动身体与衣服结算运动,即可得到不同姿态下的虚拟人物模型,最终可以提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集。
67.需要说明的是,在具体实施中,预设骨骼变形数据集中的每个数据和预设服饰顶点数据集中的每个数据是一一对应的。
68.预设骨骼变形数据集的包括骨骼姿态数据和与骨骼姿态数据对应的虚拟人物模型中各个骨骼的四元数,骨骼的四元数是骨骼的多维数据的表现形式,是由身体骨骼的各个关节的旋转组成。
69.预设服饰顶点数据集包括骨骼姿态数据和与骨骼姿态数据和对应的服饰顶点数据,虚拟人物模型的顶点数据由虚拟人物模型的身体匹配各个服饰顶点的位置构成。
70.作为一个可选的实施例,可以通过获取不同姿态下所述虚拟人物模型的运动数据,根据运动数据驱动所述虚拟人物模型进行形态变换,得到所述虚拟人物模型的形态变换结果,即姿态a、姿态b
……
姿态n。
71.进一步地,设置插值提取节点,按照插值提取节点提取所述形态变换结果中虚拟人物模型的预设骨骼变形数据和预设服饰顶点数据集。
72.需要说明的是,每个插值提取节点之间的距离可以为30帧距,每两个插值提取节点之间可以但不限于设置30帧距的空帧节点,以确保获取到的每个姿态之间不重复,满足线性插值需求。
73.在一些实施例中,可以设置预设时间间隔,例如可以为30帧距,预设时间间隔可以以指令的形式插入执行设备,执行设备可以在接收到提取指令时,根据预设时间间隔按照
插值提取节点对形态变换结果中虚拟人物模型的预设骨骼变形数据和预设服饰顶点数据集进行提取操作。例如,在执行设备接收到包含预设时间间隔的提取指令时,可以每隔30帧距按照插值提取节点的排列顺序形态变换结果中虚拟人物模型的预设骨骼变形数据和预设服饰顶点数据集。
74.步骤s102,根据所述预设骨骼变形数据集和所述预设服饰顶点数据集以确定骨骼服饰权重矩阵。
75.具体地,得到预设骨骼变形数据集和预设服饰顶点数据集后,把预设骨骼变形数据集转换为预设骨骼变形矩阵,行为各个骨骼的旋转四元数,列为各个姿势。把预设服饰顶点数据集转换为预设服饰顶点矩阵,行为服饰的每个顶点,列为各个姿势。把预设骨骼变形矩阵之间的每行分别对应求轴角距离,再把该轴角距离带入高斯核函数得到phi矩阵,phi矩阵可以表征各个骨骼之间的关联性。将该phi矩阵的转置矩阵乘phi矩阵加上单位矩阵求逆后,与预设服饰顶点矩阵相乘,即可得到骨骼服饰权重矩阵。
76.具体地,预设服饰顶点数据集可以通过以下方式直观呈现:
77./3*n维数据姿态a{{顶点1位置},{顶点2位置},
……
{顶点n位置}}姿态b{{顶点1位置},{顶点2位置},
……
{顶点n位置}}姿态n{{顶点1位置},{顶点2位置},
……
{顶点n位置}}
78.具体地,预设服饰顶点矩阵由所述虚拟人物模型在不同姿态下的所有服饰顶点对应的服饰顶点三维坐标构成,可以通过以下方式表示:
79./4*n维数据姿态a{{骨骼1四元数},{骨骼2四元数},
……
{骨骼n四元数}}姿态b{{骨骼1四元数},{骨骼2四元数},
……
{骨骼n四元数}}姿态n{{骨骼1四元数},{骨骼2四元数},
……
{骨骼n四元数}}
80.进一步地,计算预设骨骼变形矩阵中每一行的数据与其它行的数据之间的轴角距离,得到第一轴角距离矩阵,根据第一轴角距离矩阵以及预设服饰顶点矩阵,得到所述骨骼服饰权重矩阵。
81.作为一个可选的实施例,在uv坐标系x方向上,可以将预设骨骼变形矩阵中任意一个骨骼的位置行坐标减去第i个骨骼的位置行坐标求出这两个骨骼之间的轴角距离,再把该轴角距离带入高斯核函数得到phi矩阵:
[0082][0083]
其中,表示轴角距离,exp(
·
)表示高斯核函数,表示两个骨骼之间的轴角距离所对应的phi矩阵。
[0084]
进一步地,遍历虚拟人物模型的所有骨骼,得到所有骨骼对应的phi矩阵:
[0085][0086]
骨骼服饰权重矩阵为:
[0087][0088]
其中,w
x
为在uv坐标系中x方向的骨骼服饰权重矩阵,d
x
为uv坐标系中x方向的预设服饰顶点矩阵。
[0089]
作为一个可选的实施例,在uv坐标系y方向上,可以将预设骨骼变形矩阵中任意一个骨骼的位置行坐标减去第j个骨骼的位置行坐标求出这两个骨骼之间的轴角距离,再把该轴角距离带入高斯核函数得到phi矩阵:
[0090][0091]
其中,表示轴角距离,exp(
·
)表示高斯核函数,表示两个骨骼之间的轴角距离所对应的phi矩阵。
[0092]
进一步地,遍历虚拟人物模型的所有骨骼,得到所有骨骼对应的phi矩阵:
[0093][0094]
骨骼服饰权重矩阵为:
[0095][0096]
其中,wy为在uv坐标系中y方向的骨骼服饰权重矩阵,dy为uv坐标系中y方向的预设服饰顶点矩阵。
[0097]
作为一个可选的实施例,在uv坐标系z方向上,可以将预设骨骼变形矩阵中任意一个骨骼的位置行坐标减去第k个骨骼的位置行坐标求出这两个骨骼之间的轴角距离,再把该轴角距离带入高斯核函数得到phi矩阵:
[0098][0099]
其中,表示轴角距离,exp(
·
)表示高斯核函数,表示两个骨骼之间的轴角距离所对应的phi矩阵。
[0100]
进一步地,遍历虚拟人物模型的所有骨骼,得到所有骨骼对应的phi矩阵:
[0101][0102]
骨骼服饰权重矩阵为:
[0103][0104]
其中,wz为在uv坐标系中z方向的骨骼服饰权重矩阵,dz为uv坐标系中z方向的预设服饰顶点矩阵。
[0105]
作为一个可选的实施例,骨骼服饰权重表示为:
[0106] 姿态a姿态b姿态c姿态d顶点10.200.30.5
顶点20.850.20.40.6顶点300.40.50.4顶点40.10.30.70.1
[0107]
步骤s103,驱动所述虚拟人物模型以获取目标姿态下的所述虚拟人物模型的实时骨骼变形数据集和实时服饰顶点数据集。
[0108]
在具体实施中,可以在游戏模拟其中驱动虚拟人物模型进行运动,可以根据实际需求确定一个虚拟人物模型合适的姿态,将该姿态确定为目标姿态,获取目标姿态下的所述虚拟人物模型的实时骨骼变形数据集和实时服饰顶点数据集。
[0109]
步骤s104,根据所述预设骨骼变形数据集和所述实时骨骼变形数据集以得到第一骨骼数据集。
[0110]
作为一个可选的实施例,根据实时骨骼变形数据集,得到实时骨骼变形矩阵,其中,实时骨骼变形矩阵由所述虚拟人物模型在当前姿态下的所有骨骼对应的骨骼变形四元数构成,计算实时骨骼变形矩阵中每一行的数据与预设骨骼变形矩阵与中每一行的数据的轴角距离,得到第二轴角距离矩阵,根据第二轴角距离矩阵和径向基函数公式,得到所述第一骨骼数据集,其中,第一骨骼数据集的长度为预设骨骼变形数据集的动作姿态数量。
[0111]
步骤s105,根据所述实时服饰顶点数据集、所述第一骨骼数据集和所述骨骼服饰权重矩阵以确定当前姿态下所述虚拟人物模型的服饰布料状态。
[0112]
作为一个可选的实施例,可以根据第一骨骼数据集和骨骼服饰权重矩阵执行权重提取操作,以得到所述虚拟人物当前姿态下的插值服饰顶点数据集,进一步地,根据实时服饰顶点数据集与所述插值服饰顶点数据集,得到综合服饰顶点数据集,最后,根据综合服饰顶点数据集确定当前姿态下虚拟人物模型的服饰布料状态。
[0113]
具体地,把第一骨骼数据集与离线步骤得到的骨骼服饰权重矩阵相乘做和,得到当前时刻服饰的顶点的值,该值加上实时服饰顶点数据集,即可得到综合服饰顶点数据集,最后,根据综合服饰顶点数据集在gpu中对当前虚拟人物的服饰布料状态进行调整。
[0114]
需要说明的是,本技术是根据虚拟人物模型的全部骨骼点数据和服饰顶点数据进行计算,全部服饰顶点数据在gpu中并行计算,所以调整虚拟人物模型的整体服饰状态所用的时间与调整虚拟人物模型的某一个服饰点位的服饰状态所用的时间是一样的,节省了运行时间,提高了服饰拟合效率。
[0115]
从上面所述可以看出,本技术提供的一种基于虚拟场景的服饰数据处理方法,在离线阶段获取虚拟人物模型的预设骨骼变形数据、预设服饰顶点数据以及可以表征虚拟人物模型的骨骼特征和服饰顶点特征的骨骼服饰权重矩阵,以实现在离线阶段解决在游戏场景中虚拟人物模型的服饰数据处理过程中所涉及的大量运算的问题,节约了解算数据的时间,此外,在运行阶段,驱动虚拟人物模型以获取当前姿态下的虚拟人物模型的实时骨骼变形数据集和实时服饰顶点数据集,根据离线阶段得到的预设骨骼变形数据集和运行阶段得到的实时骨骼变形数据集,得到第一骨骼数据集,进一步地,根据实时服饰顶点数据集、第一骨骼数据集和骨骼服饰权重矩阵对当前虚拟人物模型的变形情况自动插值生成服饰数据的变形过程的数据结果,以确定当前姿态下所述虚拟人物模型的服饰布料状态,本技术将离线阶段获取的虚拟人物模型的相关数据数据与实时蒙皮过程相结合,在兼顾效率的同时又能保证最终服饰数据的处理效果,使处理效果最大程度还原服饰所呈现出来的变化状
态,并且可以并行处理虚拟人物模型的所有骨骼点数据和服饰顶点数据,可以大大提高在虚拟人物模型开发过程中实时服饰数据的拟合速度。
[0116]
基于同一构思,本技术还提供了一种基于虚拟场景的服饰数据处理装置。
[0117]
参考图5,为本技术实施例提供的一种基于虚拟场景的服饰数据处理装置示意图。
[0118]
该装置包括:
[0119]
离线数据获取模块501,被配置为提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集;
[0120]
离线权重计算模块502,被配置为根据所述预设骨骼变形数据集和所述预设服饰顶点数据集以确定骨骼服饰权重矩阵;
[0121]
第一运行模块503,被配置为驱动所述虚拟人物模型以获取当前姿态下的所述虚拟人物模型的实时骨骼变形数据集和实时服饰顶点数据集;
[0122]
第二运行模块504,被配置为被配置为根据所述预设骨骼变形数据集和所述实时骨骼变形数据集以得到第一骨骼数据集;
[0123]
第三运行模块505,被配置为被配置为根据所述实时服饰顶点数据集、所述第一骨骼数据集和所述骨骼服饰权重矩阵以确定当前姿态下所述虚拟人物模型的服饰布料状态。
[0124]
可选的,所述离线数据获取模块501还被配置为获取不同姿态下所述虚拟人物模型的运动数据,根据所述运动数据驱动所述虚拟人物模型进行形态变换,得到所述虚拟人物模型的形态变换结果;
[0125]
设置插值提取节点,按照所述插值提取节点提取所述形态变换结果中所述虚拟人物模型的预设骨骼变形数据和预设服饰顶点数据集。
[0126]
可选的,所述离线数据获取模块501还被配置为获取虚拟人物的静态三维模型、所述虚拟人物的静态骨骼数据集以及目标服饰的静态服饰数据集;
[0127]
将所述静态骨骼数据集以及所述静态服饰数据集绑定在所述静态三维模型上以得到虚拟人物模型。
[0128]
可选的,所述离线权重计算模块502还被配置为根据所述预设骨骼变形数据集,得到预设骨骼变形矩阵;其中,所述预设骨骼变形矩阵由所述虚拟人物模型在不同姿态下的所有骨骼对应的骨骼变形四元数构成;
[0129]
根据所述预设服饰顶点数据集,得到预设服饰顶点矩阵;其中,所述预设服饰顶点矩阵由所述虚拟人物模型在不同姿态下的所有服饰顶点对应的服饰顶点三维坐标构成;
[0130]
计算所述预设骨骼变形矩阵中每一行的数据与其它行的数据之间的轴角距离,得到第一轴角距离矩阵;
[0131]
根据所述第一轴角距离矩阵以及所述预设服饰顶点矩阵,得到所述骨骼服饰权重矩阵。
[0132]
可选的,所述第二运行模块504还被配置为根据所述实时骨骼变形数据集,得到实时骨骼变形矩阵;其中,所述实时骨骼变形矩阵由所述虚拟人物模型在当前姿态下的所有骨骼对应的骨骼变形四元数构成;
[0133]
计算所述实时骨骼变形矩阵中每一行的数据与所述预设骨骼变形矩阵与中每一行的数据的轴角距离,得到第二轴角距离矩阵;
[0134]
根据所述第二轴角距离矩阵和径向基函数公式,得到所述第一骨骼数据集。
[0135]
可选的,所述第三运行模块505还被配置为根据所述第一骨骼数据集和所述骨骼服饰权重矩阵执行权重提取操作以得到所述虚拟人物当前姿态下的插值服饰顶点数据集;
[0136]
根据所述实时服饰顶点数据集与所述插值服饰顶点数据集,得到所述综合服饰顶点数据集;
[0137]
根据所述综合服饰顶点数据集确定当前姿态下所述虚拟人物模型的服饰布料状态。
[0138]
可选的,所述离线数据获取模块501还被配置为在每两个所述插值提取节点之间设置预设时间间隔;
[0139]
按照所述预设时间间隔执行简化操作以提取所述形态变换结果中所述虚拟人物模型的预设骨骼变形数据和预设服饰顶点数据集。
[0140]
为了描述的方便,描述以上设备时以功能分为各种模块分别描述。当然,在实施本技术实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0141]
上述实施例的设备用于实现前述实施例中相应的基于虚拟场景的服饰数据处理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0142]
基于同一构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的基于虚拟场景的服饰数据处理方法。
[0143]
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器610、存储器620、输入/输出接口630、通信接口640和总线650。其中处理器610、存储器620、输入/输出接口630和通信接口640通过总线650实现彼此之间在设备内部的通信连接。
[0144]
处理器610可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
[0145]
存储器620可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器620可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器620中,并由处理器610来调用执行。
[0146]
输入/输出接口630用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0147]
通信接口640用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0148]
总线650包括一通路,在设备的各个组件(例如处理器610、存储器620、输入/输出接口630和通信接口640)之间传输信息。
[0149]
需要说明的是,尽管上述设备仅示出了处理器610、存储器620、输入/输出接口630、通信接口640以及总线650,但是在具体实施过程中,该设备还可以包括实现正常运行
所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0150]
上述实施例的电子设备用于实现前述任一实施例中相应的基于虚拟场景的服饰数据处理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0151]
基于同一构思,与上述任意实施例方法相对应的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的基于虚拟场景的服饰数据处理方法。
[0152]
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
技术特征:1.一种基于虚拟场景的服饰数据处理方法,其特征在于,包括:提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集;根据所述预设骨骼变形数据集和所述预设服饰顶点数据集以确定骨骼服饰权重矩阵;驱动所述虚拟人物模型以获取当前姿态下的所述虚拟人物模型的实时骨骼变形数据集和实时服饰顶点数据集;根据所述预设骨骼变形数据集和所述实时骨骼变形数据集以得到第一骨骼数据集;根据所述实时服饰顶点数据集、所述第一骨骼数据集和所述骨骼服饰权重矩阵以确定当前姿态下所述虚拟人物模型的服饰布料状态。2.根据权利要求1所述的方法,其特征在于,所述提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集,还包括:获取不同姿态下所述虚拟人物模型的运动数据,根据所述运动数据驱动所述虚拟人物模型进行形态变换,得到所述虚拟人物模型的形态变换结果;设置插值提取节点,按照所述插值提取节点提取所述形态变换结果中所述虚拟人物模型的预设骨骼变形数据和预设服饰顶点数据集。3.根据权利要求1所述的方法,其特征在于,所述提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集,之前还包括:获取虚拟人物的静态三维模型、所述虚拟人物的静态骨骼数据集以及目标服饰的静态服饰数据集;将所述静态骨骼数据集以及所述静态服饰数据集绑定在所述静态三维模型上以得到虚拟人物模型。4.根据权利要求1所述的方法,其特征在于,所述根据所述预设骨骼变形数据集和所述预设服饰顶点数据集以确定骨骼服饰权重矩阵,还包括:根据所述预设骨骼变形数据集,得到预设骨骼变形矩阵;其中,所述预设骨骼变形矩阵由所述虚拟人物模型在不同姿态下的所有骨骼对应的骨骼变形四元数构成;根据所述预设服饰顶点数据集,得到预设服饰顶点矩阵;其中,所述预设服饰顶点矩阵由所述虚拟人物模型在不同姿态下的所有服饰顶点对应的服饰顶点三维坐标构成;计算所述预设骨骼变形矩阵中每一行的数据与其它行的数据之间的轴角距离,得到第一轴角距离矩阵;根据所述第一轴角距离矩阵以及所述预设服饰顶点矩阵,得到所述骨骼服饰权重矩阵。5.根据权利要求4所述的方法,其特征在于,所述根据所述预设骨骼变形数据集和所述实时骨骼变形数据集以得到第一骨骼数据集,还包括:根据所述实时骨骼变形数据集,得到实时骨骼变形矩阵;其中,所述实时骨骼变形矩阵由所述虚拟人物模型在当前姿态下的所有骨骼对应的骨骼变形四元数构成;计算所述实时骨骼变形矩阵中每一行的数据与所述预设骨骼变形矩阵与中每一行的数据的轴角距离,得到第二轴角距离矩阵;根据所述第二轴角距离矩阵和径向基函数公式,得到所述第一骨骼数据集。6.根据权利要求1所述的方法,其特征在于,所述根据所述实时服饰顶点数据集、所述
第一骨骼数据集和所述骨骼服饰权重矩阵以确定当前姿态下所述虚拟人物模型的服饰布料状态,还包括:根据所述第一骨骼数据集和所述骨骼服饰权重矩阵执行权重提取操作以得到所述虚拟人物当前姿态下的插值服饰顶点数据集;根据所述实时服饰顶点数据集与所述插值服饰顶点数据集,得到所述综合服饰顶点数据集;根据所述综合服饰顶点数据集确定当前姿态下所述虚拟人物模型的服饰布料状态。7.根据权利要求2所述的方法,其特征在于,所述设置插值提取节点,按照所述插值提取节点提取所述形态变换结果中所述虚拟人物模型的预设骨骼变形数据和预设服饰顶点数据集,还包括:在每两个所述插值提取节点之间设置预设时间间隔;按照所述预设时间间隔执行简化操作以提取所述形态变换结果中所述虚拟人物模型的预设骨骼变形数据和预设服饰顶点数据集。8.一种基于虚拟场景的服饰数据处理装置,其特征在于,包括:离线数据获取模块,被配置为提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集;离线权重计算模块,被配置为根据所述预设骨骼变形数据集和所述预设服饰顶点数据集以确定骨骼服饰权重矩阵;第一运行模块,被配置为驱动所述虚拟人物模型以获取当前姿态下的所述虚拟人物模型的实时骨骼变形数据集和实时服饰顶点数据集;第二运行模块,被配置为根据所述预设骨骼变形数据集和所述实时骨骼变形数据集以得到第一骨骼数据集;第三运行模块,被配置为根据所述实时服饰顶点数据集、所述第一骨骼数据集和所述骨骼服饰权重矩阵以确定当前姿态下所述虚拟人物模型的服饰布料状态。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至7任一所述方法。
技术总结本申请提供一种基于虚拟场景的服饰数据处理方法、存储介质及相关设备,所述方法包括:提取不同姿态下预先获取到的虚拟人物模型的预设骨骼变形数据集和预设服饰顶点数据集;根据所述预设骨骼变形数据集和所述预设服饰顶点数据集以确定骨骼服饰权重矩阵;驱动所述虚拟人物模型以获取当前姿态下的所述虚拟人物模型的实时骨骼变形数据集和实时服饰顶点数据集;根据所述预设骨骼变形数据集和所述实时骨骼变形数据集以得到第一骨骼数据集;根据所述实时服饰顶点数据集、所述第一骨骼数据集和所述骨骼服饰权重矩阵以确定当前姿态下所述虚拟人物模型的服饰布料状态。虚拟人物模型的服饰布料状态。虚拟人物模型的服饰布料状态。
技术研发人员:张旭辉 胡路 张科峰 侯杰 秦嘉 赵亦飞
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2022.07.19
技术公布日:2022/11/1