一种布料仿真处理方法和装置制造方法及图纸

技术编号:34485469 阅读:14 留言:0更新日期:2022-08-10 09:02
本发明专利技术提供一种布料仿真处理方法和装置。所述方法包括:获取虚拟人体对应的人体网格数据,人体网格数据是多个预设网格单元中包含虚拟人体的网格单元;根据人体网格数据,对布料仿真模型的多层结构的距离场数据和多层结构的速度场数据进行更新,得到更新后的布料仿真模型;根据更新后的布料仿真模型对虚拟人体进行布料仿真处理,得到布料仿真结果;其中,距离场数据包括每个预设网格单元到虚拟人体表面的距离参数,速度场数据包括每个预设网格单元对应的虚拟人体移动速度参数;距离场数据和速度场数据中,相同层结构对应网格单元大小相同,不同层结构对应的网格单元大小不同。本发明专利技术的方案适用于动态人体,提高了布料的仿真效果。果。果。

【技术实现步骤摘要】
一种布料仿真处理方法和装置


[0001]本专利技术涉及数字内容
,特别是指一种布料仿真处理方法和装置。

技术介绍

[0002]现有技术中,为了使得布料仿真能够与人体自然贴合,布料仿真中的人体碰撞处理是一个重点和难点。人体碰撞通常采用距离场表达方法,距离场表达方法考虑到人体是封闭表面,因此把人体附近的空间体素化,然后每个体素存储到人体表面的距离,最后检测布料每个顶点所在体素的距离值,并把距离小于0,也就是人体内部的布料顶点外推出人体。在距离场建立好之后,这个方法的复杂度非常低;但是距离场的构建过程本身需要较高复杂度。对于动态人体,每帧都需要构建距离场,因此无法适用于动态人体的情况。

技术实现思路

[0003]本专利技术的目的是提供一种布料仿真处理方法和装置,以避免现有技术中的人体碰撞的距离场的构建过程复杂度较高,不适用于动态人体,导致布料仿真效果较差的影响。
[0004]为达到上述目的,本专利技术的实施例提供一种布料仿真处理方法,包括:
[0005]获取虚拟人体对应的人体网格数据,所述人体网格数据是多个预设网格单元中包含所述虚拟人体的网格单元;
[0006]根据所述人体网格数据,对布料仿真模型的多层结构的距离场数据和多层结构的速度场数据进行更新,得到更新后的布料仿真模型;
[0007]根据更新后的布料仿真模型对所述虚拟人体进行布料仿真处理,得到布料仿真结果;
[0008]其中,所述距离场数据包括每个预设网格单元到虚拟人体表面的距离参数,所述速度场数据包括每个预设网格单元对应的虚拟人体移动速度参数;所述距离场数据和所述速度场数据中,相同层结构对应网格单元大小相同,不同层结构对应的网格单元大小不同。
[0009]可选的,根据所述人体网格数据,对布料仿真模型的多层结构的距离场数据进行更新,包括:
[0010]针对每层结构,分别确定每个三角面片对应的多个目标网格单元;其中,所述三角面片是对所述虚拟人体的人体表面划分得到三角面片;
[0011]针对每个三角面片,分别确定所述目标网格单元的中心与所述三角面片之间的最小距离;
[0012]针对每层结构,将所述距离场数据中对应所述目标网格单元的距离参数,更新为所述最小距离。
[0013]可选的,根据所述人体网格数据,对布料仿真模型的多层结构的速度场数据进行更新,包括:
[0014]针对每层结构,分别确定每个三角面片对应的多个目标网格单元;其中,所述三角面片是对所述虚拟人体的人体表面划分得到三角面片;
[0015]针对每个三角面片,根据所述三角面片的移动速度,确定所述三角面片对应的每个目标网格单元的移动速度;
[0016]针对每层结构,根据所述目标网格单元的移动速度,对所述速度场数据中对应所述目标网格单元的人体移动速度参数进行更新。
[0017]可选的,根据所述三角面片的移动速度,确定所述三角面片对应的每个目标网格单元的移动速度之前,还包括:
[0018]针对每个三角面片,计算所述三角面片在第i时刻的位置以及在第i+1时刻的位置的偏移量;
[0019]根据所述偏移量,以及所述第i时刻与所述第i+1时刻之间的时间差,确定所述三角面片的移动速度,其中,i为正整数。
[0020]可选的,针对每个三角面片,根据所述三角面片的移动速度,确定所述三角面片对应的每个目标网格单元的移动速度,包括:
[0021]针对每层结构,分别确定每个三角面片与所述三角面片对应的多个目标网格单元之间的最小距离;
[0022]针对每个目标网格单元,根据所述目标网格单元对应的最小距离,确定所述目标网格单元对应的权重值;
[0023]针对每个三角面片,根据所述三角面片的移动速度以及所述权重值,确定所述三角面片对应的多个目标网格单元的移动速度。
[0024]可选的,对所述速度场数据中对应所述目标网格单元的人体移动速度参数进行更新,包括:
[0025]针对每层结构,将所述距离场数据中对应所述目标网格单元的人体移动速度参数,更新为所述目标网格单元对应的移动速度以及所述权重值。
[0026]可选的,针对每层结构,分别确定每个三角面片对应的多个目标网格单元,包括:
[0027]针对每层结构,分别确定每个三角面片所在的第一网格单元;
[0028]将所述第一网格单元以及与所述第一网格单元相邻的多个第二网格单元,确定为所述多个目标网格单元。
[0029]可选的,针对每层结构,分别确定每个三角面片所在的第一网格单元,包括:
[0030]针对每层结构,分别确定所述人体网格数据中的原点位置;
[0031]针对每个三角面片,根据所述三角面片的顶点位置、所述原点位置,以及每层结构的网格单元大小,确定所述三角面片所在的第一网格单元。
[0032]可选的,所述针对每层结构,分别确定所述人体网格数据中的原点位置,包括:
[0033]针对每层结构,分别获取所述人体网格数据中每个网格单元在三维方向上的顶点位置;
[0034]针对每个维度,分别确定顶点位置中的最小值;
[0035]根据三维方向上的顶点位置中的最小值,确定所述原点位置。
[0036]可选的,针对每个三角面片,根据所述三角面片的顶点位置、所述原点位置,以及每层结构的网格单元大小,确定所述三角面片所在的第一网格单元,包括:
[0037]根据所述三角面片的顶点位置,确定所述三角面片的中心位置;
[0038]计算所述根据所述三角面片的中心位置与所述原点位置的差值;
[0039]根据所述差值与所述每层结构的网格单元大小的比值,确定所述三角面片所在的第一网格单元。
[0040]可选的,对布料仿真模型的速度场数据进行更新,还包括:
[0041]针对所述速度场数据中未更新的网格单元,确定所述网格单元相邻的多个网格单元的平均速度;
[0042]根据所述平均速度进行热扩散迭代处理,得到目标速度;
[0043]根据所述目标速度,对所述速度场数据中未更新的网格单元的人体移动速度参数进行更新。
[0044]可选的,所述根据更新后的布料仿真模型对所述虚拟人体进行布料仿真处理,得到布料仿真结果,包括:
[0045]根据所述更新后的布料仿真模型的速度场数据对布料数据进行更新,得到更新后的布料数据;
[0046]根据所述更新后的布料仿真模型的距离场数据和所述更新后的布料数据进行布料仿真处理,得到布料仿真结果。
[0047]可选的,根据所述更新后的布料仿真模型的速度场数据对布料数据进行更新,得到更新后的布料数据,包括:
[0048]计算第一时间差与第i时刻的布料仿真模型的速度场数据中的人体移动速度参数的乘积;其中,所述第一时间差是第i+1时刻与所述第i时刻之间的时间差,i为正整数;
[0049]根据所述乘积与所述第i时刻所述布料仿真模型输出的第一仿真结果之和,对布料数据进行更新,得到更新后的布本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种布料仿真处理方法,其特征在于,包括:获取虚拟人体对应的人体网格数据,所述人体网格数据是多个预设网格单元中包含所述虚拟人体的网格单元;根据所述人体网格数据,对布料仿真模型的多层结构的距离场数据和多层结构的速度场数据进行更新,得到更新后的布料仿真模型;根据更新后的布料仿真模型对所述虚拟人体进行布料仿真处理,得到布料仿真结果;其中,所述距离场数据包括每个预设网格单元到虚拟人体表面的距离参数,所述速度场数据包括每个预设网格单元对应的虚拟人体移动速度参数;所述距离场数据和所述速度场数据中,相同层结构对应网格单元大小相同,不同层结构对应的网格单元大小不同。2.根据权利要求1所述的方法,其特征在于,根据所述人体网格数据,对布料仿真模型的多层结构的距离场数据进行更新,包括:针对每层结构,分别确定每个三角面片对应的多个目标网格单元;其中,所述三角面片是对所述虚拟人体的人体表面划分得到三角面片;针对每个三角面片,分别确定所述目标网格单元的中心与所述三角面片之间的最小距离;针对每层结构,将所述距离场数据中对应所述目标网格单元的距离参数,更新为所述最小距离。3.根据权利要求1所述的方法,其特征在于,根据所述人体网格数据,对布料仿真模型的多层结构的速度场数据进行更新,包括:针对每层结构,分别确定每个三角面片对应的多个目标网格单元;其中,所述三角面片是对所述虚拟人体的人体表面划分得到三角面片;针对每个三角面片,根据所述三角面片的移动速度,确定所述三角面片对应的每个目标网格单元的移动速度;针对每层结构,根据所述目标网格单元的移动速度,对所述速度场数据中对应所述目标网格单元的人体移动速度参数进行更新。4.根据权利要求3所述的方法,其特征在于,根据所述三角面片的移动速度,确定所述三角面片对应的每个目标网格单元的移动速度之前,还包括:针对每个三角面片,计算所述三角面片在第i时刻的位置以及在第i+1时刻的位置的偏移量;根据所述偏移量,以及所述第i时刻与所述第i+1时刻之间的时间差,确定所述三角面片的移动速度,其中,i为正整数。5.根据权利要求3所述的方法,其特征在于,针对每个三角面片,根据所述三角面片的移动速度,确定所述三角面片对应的每个目标网格单元的移动速度,包括:针对每层结构,分别确定每个三角面片与所述三角面片对应的多个目标网格单元之间的最小距离;针对每个目标网格单元,根据所述目标网格单元对应的最小距离,确定所述目标网格单元对应的权重值;针对每个三角面片,根据所述三角面片的移动速度以及所述权重值,确定所述三角面片对应的多个目标网格单元的移动速度。
6.根据权利要求5所述的方法,其特征在于,对所述速度场数据中对应所述目标网格单元的人体移动速度参数进行更新,包括:针对每层结构,将所述距离场数据中对应所述目标网格单元的人体移动速度参数,更新为所述目标网格单元对应的移动速度以及所述权重值。7.根据权利要求2或3所述的方法,其特征在于,针对每层结构,分别确定每个三角面片对应的多个目标网格单元,包括:针对每层结构,分别确定每个三角面片所在的第一网格单元;将所述第一网格单元以及与所述第一网格单元相邻的多个第二网格单元,确定为所述多个目标网格单元。8.根据权利要求7所述的方法,其特征在于,针对每层结构,分别确定每个三角面片所在的第一网格单元,包括:针对每层结构,分别确定所述人体网格数据中的原点位置;针对每个三角面片,根据所述三角面片的顶点位置、所述原点位置,以及每层结构的网格单元大小,确定所述三角面片所在的第一网格单元。9.根据权利要求8所述的方法,其特征在于,所述针对每层结构,分别确定所述人体网格数据中的原点位置,包括:针对每层结构,分别获取所述人体网格数据中每个网格单元在三维方向上的顶点位置;针对每个维度,分别确定顶点位置中的最小值;根据三维方向上的顶点位置中的最小值,确定所述原点位置。10.根据权利要求8所述的方法,其特征在于,针对每个三角面片,根据所述三角面片的顶点位置、所述原点位置,以及每层结构的网格单元大小,确定所述三角面片所在的第一网格单元,包括:根据所述三角面片的顶点位...

【专利技术属性】
技术研发人员:张健李冬平
申请(专利权)人:中国移动通信集团有限公司杭州相芯科技有限公司
类型:发明
国别省市:

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

1