一种三维模型的抽壳方法技术

技术编号:34629853 阅读:20 留言:0更新日期:2022-08-20 09:42
本发明专利技术公开了一种三维模型的抽壳方法,属于多维模型创建技术领域。所述方法包括:获取模型的深度图;对深度图中的像素进行计算,生成若干空间点;利用空间点构建三角网,得到顶点数据、顶点索引数据以及法线数组;利用每个三角网的法线方向获取模型拍摄位置,拍摄得到第二纹理图;根据第二纹理图获取每个三角网对应的纹理像素值;将所有三角网对应的纹理像素值填充到空白纹理中,得到纹理图以及每个三角网的每个顶点的纹理坐标;将顶点数据、顶点索引数据、法线数组、纹理坐标以及纹理图输出成可用于三维显示的数据格式。本发明专利技术实现了模型的自动抽壳,与人工手动抽壳相比,省时省力,提高了效率,降低了成本,而且降低了对技术人员的业务要求。的业务要求。的业务要求。

【技术实现步骤摘要】
一种三维模型的抽壳方法


[0001]本专利技术涉及多维模型创建
,尤其涉及一种三维模型的抽壳方法。

技术介绍

[0002]多维模型一般通过模型软件创建,随着软件与技术的不断升级,通过软件创建的模型越来越精细、越来越复杂并且内部结构也越来越丰富。但是,并不是在所有场景下都需要展示精细、复杂模型的内部结构,有时只需要显示模型的外壳即可。因此,模型抽壳和模型壳体生成方法就成为了模型创建领域的关键技术。
[0003]目前,通常都是采用人工手动方式制作模型外壳,例如专利申请CN112258654A、CN112149252A中提出的模型抽壳和模型壳体生成方法,人工方式不仅效率低、成本高,而且与技术人员操作模型软件的熟练程度密切相关,对技术人员的业务要求高。

技术实现思路

[0004]为了解决现有技术的不足,本专利技术提供了如下技术方案。
[0005]本专利技术提供了一种三维模型的抽壳方法,包括:获取模型的深度图;对所述深度图中的像素进行计算,生成若干空间点;利用所述空间点构建三角网,得到顶点数据、顶点索引数据以及法线数组;利用每个所述三角网的法线方向获取模型拍摄位置,拍摄得到第二纹理图;根据所述第二纹理图获取每个所述三角网对应的纹理像素值;将所有所述三角网对应的纹理像素值填充到空白纹理中,得到纹理图以及每个所述三角网的每个顶点的纹理坐标;将所述顶点数据、顶点索引数据、法线数组、纹理坐标以及纹理图输出成可用于三维显示的数据格式。
[0006]优选地,所述获取模型的深度图包括:将拍摄工具设置在以模型中心点为球心,固定长度为半径的球面上的多点位置;利用各位置点的拍摄工具对所述模型分别进行拍摄,得到所述模型的深度图。
[0007]优选地,所述拍摄工具的位置按照如下公式计算:拍摄工具的位置=视点位置+ viewDirection * R其中,视点位置为模型中心点位置,R为固定长度的球半径,viewDirection为拍摄工具在球面上的方向向量。
[0008]优选地,所述对所述深度图中的像素进行计算,生成若干空间点包括:获取与所述深度图对应的第一纹理图;根据所述第一纹理图标记所述深度图中的无效深度像素,并对所述深度图中的有效深度像素进行计算,生成若干空间点。
[0009]优选地,所述根据所述第一纹理图标记所述深度图中的无效深度像素,包括:
标记所述第一纹理图的透明像素;对比所述深度图和第一纹理图,将与所述第一纹理图的透明像素对应的深度图的像素标记为无效深度像素。
[0010]优选地,所述对所述深度图中的有效深度像素进行计算包括:将所述有效深度像素通过视口变换到[0, 1]之间后,再缩放到[

1, 1]之间;将缩放后得到的所述有效深度像素依次乘投影矩阵的逆矩阵、所述模型的视图矩阵的逆矩阵。
[0011]优选地,所述利用所述空间点构建三角网包括:对所述空间点的数量进行减少处理,并利用处理后得到的所述空间点构建三角网。
[0012]优选地,所述对所述空间点的数量进行减少处理包括:获取所述模型的外包盒;将所述外包盒划分成L*L*L个相同大小的立方体,其中L为所述深度图的宽度;对含有多个点的立方体计算得到平均位置点,并利用所述平均位置点代替多个点。
[0013]优选地,所述利用每个所述三角网的法线方向获取模型拍摄位置,按照如下公式计算:拍摄位置=模型中心点位置+ viewDirection * R其中,视点位置为模型中心点位置,R为固定长度,viewDirection为拍摄工具在三角网的法线上的方向向量。
[0014]优选地,所述根据所述第二纹理图获取每个所述三角网对应的纹理像素值包括:将三角网的每个顶点,依次变换到模型视图矩阵和投影矩阵中;将变换到投影矩阵中的顶点缩放到[0, 1]的映射区间中;通过视口的位置和大小,计算得到所述顶点在第二纹理图上的坐标;利用三个顶点在第二纹理图上的坐标形成所述三角网对应的纹理像素值。
[0015]本专利技术的有益效果是:本专利技术提供了一种三维模型的抽壳方法,首先通过对模型深度图中的像素进行计算,生成若干空间点,然后利用空间点构建三角网,得到顶点数据、顶点索引数据以及法线数组;并利用每个所述三角网的法线方向获取模型拍摄位置,拍摄得到第二纹理图;根据所述第二纹理图获取每个所述三角网对应的纹理像素值;将所有所述三角网对应的纹理像素值填充到空白纹理中,得到纹理图以及每个所述三角网的每个顶点的纹理坐标;最后将所述顶点数据、顶点索引数据、法线数组、纹理坐标以及纹理图输出成可用于三维显示的数据格式。采用本专利技术提供的方法可以实现模型的自动抽壳,与人工手动抽壳相比,省时省力,提高了效率,降低了成本,而且降低了对技术人员的业务要求。
附图说明
[0016]图1为本专利技术所述三维模型的抽壳方法流程示意图;图2为本专利技术所述三维模型的抽壳装置的结构示意图。
具体实施方式
[0017]为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
[0018]实施例一本专利技术提供的方法可以在如下的终端环境中实施,该终端可以包括一个或多个如下部件:处理器、存储器和显示屏。其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现下述实施例所述的方法。
[0019]处理器可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行终端的各种功能和处理数据。
[0020]存储器可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read

Only Memory)。存储器可用于存储指令、程序、代码、代码集或指令。
[0021]显示屏用于显示各个应用程序的用户界面。
[0022]除此之外,本领域技术人员可以理解,上述终端的结构并不构成对终端的限定,终端可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、电源等部件,在此不再赘述。
[0023]如图1所示,本专利技术提供了一种三维模型的抽壳方法,包括:S101,获取模型的深度图;S102,对所述深度图中的像素进行计算,生成若干空间点;S103,利用所述空间点构建三角网,得到顶点数据、顶点索引数据以及法线数组;S104,利用每个所述三角网的法线方向获取模型拍摄位置,拍摄得到第二纹理图;S105,根据所述第二纹理图获取每个所述三角网对应的纹理像素值;S106,将所有所述三角网对应的纹理像素值填充到空白纹理中,得到纹理图以及每个所述三角网的每个顶点的纹理坐标;S107,将所述顶点数据、顶点索引数据、法线数组、纹理坐标以及纹理图输出成可用于三维显示的数据格式。
[0024]由于模型的外壳包括形状和纹理,所以,本专利技术中,通过分别获取形状和纹理的可用于三维显示的数据,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种三维模型的抽壳方法,其特征在于,包括:获取模型的深度图;对所述深度图中的像素进行计算,生成若干空间点;利用所述空间点构建三角网,得到顶点数据、顶点索引数据以及法线数组;利用每个所述三角网的法线方向获取模型拍摄位置,拍摄得到第二纹理图;根据所述第二纹理图获取每个所述三角网对应的纹理像素值;将所有所述三角网对应的纹理像素值填充到空白纹理中,得到纹理图以及每个所述三角网的每个顶点的纹理坐标;将所述顶点数据、顶点索引数据、法线数组、纹理坐标以及纹理图输出成可用于三维显示的数据格式。2.如权利要求1所述的三维模型的抽壳方法,其特征在于,所述获取模型的深度图包括:将拍摄工具设置在以模型中心点为球心,固定长度为半径的球面上的多点位置;利用各位置点的拍摄工具对所述模型分别进行拍摄,得到所述模型的深度图。3.如权利要求2所述的三维模型的抽壳方法,其特征在于,所述拍摄工具的位置按照如下公式计算:拍摄工具的位置=视点位置+ viewDirection * R其中,视点位置为模型中心点位置,R为固定长度的球半径,viewDirection为拍摄工具在球面上的方向向量。4.如权利要求1所述的三维模型的抽壳方法,其特征在于,所述对所述深度图中的像素进行计算,生成若干空间点包括:获取与所述深度图对应的第一纹理图;根据所述第一纹理图标记所述深度图中的无效深度像素,并对所述深度图中的有效深度像素进行计算,生成若干空间点。5.如权利要求4所述的三维模型的抽壳方法,其特征在于,所述根据所述第一纹理图标记所述深度图中的无效深度像素,包括:标记所述第一纹理图的透明像素;对比所述深度图和第一纹理图,将与所述第一纹理图的透明像素对应的...

【专利技术属性】
技术研发人员:张强朱旭平宋彬何文武
申请(专利权)人:北京飞渡科技有限公司
类型:发明
国别省市:

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

1