一种三维仿真中服装搭配穿透问题解决方法与流程

文档序号:12604458阅读:来源:国知局

技术特征:

1.一种三维仿真中服装搭配穿透问题的解决方法,其特征在于:

步骤1、给定服装模型(上衣、裤子)通过模型层次关系计算所覆盖的网格面片;

步骤2、通过已知被覆盖的网格面片求出模型贴图所对应的透明区域;

其中,对于给定的上衣服装三维模型和裤子服装三维模型,按照模型层次不同分开处理:

当裤子层次比上衣低时,先获取上衣模型下边缘最高点,然后将高于最高点的裤子模型网格选取,之后将被选取的网格所对应UV空间映射至贴图空间,最后将贴图中被网格所对应的区域中的像素值的透明通道设为0;

当上衣层次比裤子低时,先获取裤子模型上边缘的最低点,然后将低于最低点的上衣网格进行选取;之后将被选取的网格进行过滤只保留躯干部分网格;之后将被选取的网格所对应UV空间映射至贴图空间,最后将贴图中被网格所对应的区域中的像素值的透明通道设为0。

2.如权利要求1所述的方法中,其中,所述获取上衣模型的下边缘最高点其方法为:

首先将模型网格的空间坐标系进行竖直按角度切分,在一定角度中包含的网格进行高度比较,同时找到每个角度中的最小值,比较所有角度中的最小值获取其中的最大值,该值可以看成是下边缘最高点的逼近值。

3.如权利要求2所述的方法中,其中,所述将模型空间坐标系进行竖直按角度切分,其方法为:

首先将模型所有点的信息和面的信息获取,将原来点中的笛卡尔坐标系坐标转换成极坐标形式,计算公式如下:

4.如权利要求1所述的方法中,其中,所述被选取的网格所对应UV空间映射至贴图空间,其方法为:将三角顶点映射至UV空间,并将在UV空间中的坐标值扩展至二维透明贴图空间,计算方法为:,W为透明贴图宽度,H为透明贴图高度。

5.如权利要求4所述的方法中,其中,所述三角面片在透明贴图空间中的矩形包围盒,其方法为:

找到不同模型顶点所对应的贴图空间坐标值后,将单个面片的三个顶点在贴图空间中的坐标值记录,并查找到三角面片的x最大值 最小值,y的最大最小值,通过这四个值构建三角形的矩形包围盒

6.如权利要求1所述的方法中,其中,所述贴图中被网格所对应的区域中的像素值的透明通道设为0,其方法为:

首先遍历所有在三角面片在贴图空间中所映射的三角形所对应包围盒中的像素点,将每个像素点进行判断,是否在三角形中,主要计算算法为:

求出点P与三角形一点A的向量AP,与该点和其他三角形顶点B,C 的向量 ,如果 所得向量在同一方向,然后分别求出是否在同一边,以及所得结果是否在同一边,如果三次计算都在同一边,认定该点在三角形中。

7.如权利要求1中所述的方法,其中,所述将被选取的网格进行过滤只保留躯干部分网格,其方法为:

将低于裤子上边缘最低点的上衣网格集合进行区分子网格,然后将每个子网格的包围盒大小和中心点计算出,最后将每个网格的包围盒中心点进行比较,如果在阈值中,就认为是躯干网格,并保留;否者就认为是其他网格,则删除。

8.如权利要求7所述的方法,其中,所述对上衣网格进行区分子网格,其方法为:

首先判断一个三角面片与另一个三角面片中是否有两个顶点的索引值是否相同,如果相同就认为两个面片相连接;如果不同则认为不相连,最终将离散的三角面片区分为几个大的子网格。

9.如权利要求7所述的方法,其中,所述对每个子网格的包围盒大小和中心点计算,其方法为:

遍历子网格中所有的网格,查找其中的坐标系x值中的最大最小值,获取到空间中的包围盒中心点。

10.如权利要求7所述的方法,其中,所述判断躯干网格时的阈值,其内容为:

本发明提出为0.2,根据Unity 3D中单位转换,该值为20dm。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1