一种基于Mesh合并的模型轻量化方法及系统与流程

文档序号:32051208发布日期:2022-11-03 09:35阅读:255来源:国知局
一种基于Mesh合并的模型轻量化方法及系统与流程
一种基于mesh合并的模型轻量化方法及系统
技术领域
1.本发明涉及模型轻量化领域,特别是涉及一种基于mesh合并的模型轻量化方法及系统。


背景技术:

2.三维模型可有效应用于建设项目全寿命周期的项目规划、协同设计、碰撞检查、性能分析、施工模拟、成本和进度控制等方面,能够有效控制设计变更,减少返工浪费和工期损失,对提高项目精细化管理水平以及增强后期物业管理维护的针对性等,都具有重要意义。
3.目前采用建模软件构建的大型三维模型的结构复杂,具有成千上万个文档,导致三维模型在浏览器网页中的运行速度非常慢,严重影响工作人员的施工进度。
4.基于上述问题,亟需一种模型轻量化方法以提高降低模型的大小,提高三维模型的运行速度。


技术实现要素:

5.本发明的目的是提供一种基于mesh合并的模型轻量化方法及系统,可实现三维模型的轻量化,提高模型的运行速度。
6.为实现上述目的,本发明提供了如下方案:
7.一种基于mesh合并的模型轻量化方法,包括:
8.获取待处理三维模型中各构件的mesh网格数据;所述待处理三维模型包括多个构件;
9.根据各构件的mesh网格数据,将所述待处理三维模型中的构件分为固定构件及待合并构件;
10.根据各待合并构件的mesh网格数据,确定各待合并构件的属性信息;
11.将各待合并构件的属性信息合并,得到合并文件;
12.根据所述固定构件的mesh网格数据及所述合并文件,确定所述待处理三维模型的轻量化模型。
13.可选地,所述根据各构件的mesh网格数据,将所述待处理三维模型中的构件分为固定构件及待合并构件,具体包括:
14.针对任一构件,根据所述构件的mesh网格数据,确定所述构件的材质;
15.根据各构件的材质,将所述待处理三维模型中的构件分为待合并构件及固定构件。
16.可选地,所述根据各构件的材质,将所述待处理三维模型中的构件分为待合并构件及固定构件,具体包括:
17.针对任一构件,判断所述构件的材质的颜色是否为纯色;
18.若所述构件的材质的颜色为纯色,则所述构件为待合并构件,否则所述构件为固
定构件。
19.可选地,所述属性信息包括待合并构件的顶点、法向量、颜色及纹理坐标。
20.可选地,所述将各待合并构件的属性信息合并,得到合并构件,具体包括:
21.将各待合并构件的属性信息存储至同一个第一自定义文件中;所述第一自定义文件为合并文件。
22.可选地,所述根据所述固定构件的mesh网格数据及所述合并文件,确定所述待处理三维模型的轻量化模型,具体包括:
23.将所述固定构件的mesh网格数据及所述合并文件存储至同一个第二自定义文件中;
24.将所述第二自定义文件导出为dat文件;所述dat文件为所述待处理三维模型的轻量化模型。
25.可选地,所述待处理三维模型为地铁站模型;所述待处理三维模型中的构件为地铁站中各物理实体的映射。
26.为实现上述目的,本发明还提供了如下方案:
27.一种基于mesh合并的模型轻量化系统,包括:
28.网格获取单元,用于获取待处理三维模型中各构件的mesh网格数据;
29.构件分类单元,与所述网格获取单元连接,用于根据各构件的mesh网格数据,将所述待处理三维模型中的构件分为固定构件及待合并构件;
30.属性确定单元,与所述网格获取单元及所述构件分类单元连接,用于根据各待合并构件的mesh网格数据,确定各待合并构件的属性信息;
31.合并单元,与所述属性确定单元连接,用于将各待合并构件的属性信息合并,得到合并文件;
32.轻量化模型确定单元,与所述构件分类单元及所述合并单元连接,用于根据所述固定构件的mesh网格数据及所述合并文件,确定所述待处理三维模型的轻量化模型。
33.可选地,所述构件分类单元包括:
34.材质确定模块,与所述网格获取单元连接,用于针对任一构件,根据所述构件的mesh网格数据,确定所述构件的材质;
35.分类模块,与所述材质确定模块连接,用于根据各构件的材质,将所述待处理三维模型中的构件分为待合并构件及固定构件。
36.可选地,所述轻量化模型确定单元包括:
37.存储模块,与所述构件分类单元及所述合并单元连接,用于将所述固定构件的mesh网格数据及所述合并文件存储至同一个第二自定义文件中;
38.导出模块,与所述存储模块连接,用于将所述第二自定义文件导出为dat文件;所述dat文件为所述待处理三维模型的轻量化模型。
39.根据本发明提供的具体实施例,本发明公开了以下技术效果:首先获取待处理三维模型中各构件的mesh网格数据,根据各构件的mesh网格数据,将待处理三维模型中的构件分为固定构件及待合并构件,然后根据各待合并构件的mesh网格数据,确定各待合并构件的属性信息,再将各待合并构件的属性信息合并,得到合并文件;根据固定构件的mesh网格数据及合并文件,确定待处理三维模型的轻量化模型。通过将构件的属性信息合并,降低
三维模型中的构件数量,进而提高了三维模型在浏览器中的运行速度。
附图说明
40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
41.图1为本发明基于mesh合并的模型轻量化方法的流程图;
42.图2为本发明基于mesh合并的模型轻量化系统的模块示意图。
43.符号说明:
44.网格获取单元-1,构件分类单元-2,属性确定单元-3,合并单元-4,轻量化模型确定单元-5。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.本发明的目的是提供一种基于mesh合并的模型轻量化方法及系统,通过将多个构件的属性信息合并,降低三维模型中的构件数量,进而提高了三维模型在浏览器中的运行速度。
47.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
48.如图1所示,本发明基于mesh合并的模型轻量化方法包括:
49.s1:获取待处理三维模型中各构件的mesh网格数据。所述待处理三维模型包括多个构件。在本实施例中,所述待处理三维模型为地铁站模型。所述待处理三维模型中的构件为地铁站中各物理实体的映射。
50.s2:根据各构件的mesh网格数据,将所述待处理三维模型中的构件分为固定构件及待合并构件。
51.s3:根据各待合并构件的mesh网格数据,确定各待合并构件的属性信息。具体地,所述属性信息包括待合并构件的顶点、法向量、颜色及纹理坐标。
52.s4:将各待合并构件的属性信息合并,得到合并文件。具体地,将各待合并构件的属性信息存储至同一个第一自定义文件中。所述第一自定义文件为合并文件。此外,还可以将各待合并构件的属性信息存储在一块内存中,再导出为dat文件。
53.s5:根据所述固定构件的mesh网格数据及所述合并文件,确定所述待处理三维模型的轻量化模型。
54.进一步地,步骤s2具体包括:
55.s21:针对任一构件,根据所述构件的mesh网格数据,确定所述构件的材质。
56.mesh是多边形网格,在多边形网格的面片中三角面片是被分割的最小单位,且表
示比较简单、灵活并且拓扑描述方便,所以被广泛使用。mesh网格数据中包括构件的顶点坐标、顶点坐标数组、顶点在uv坐标系中的位置信息数组,法向量,纹理坐标,三角形绘制序列、颜色等表示构件属性和功能的信息。
57.s22:根据各构件的材质,将所述待处理三维模型中的构件分为待合并构件及固定构件。
58.具体地,针对任一构件,判断所述构件的材质的颜色是否为纯色。若所述构件的材质的颜色为纯色,则所述构件为待合并构件,否则所述构件为固定构件。根据构件的材质是否有贴图和纹理,确定构件为待合并构件还是固定构件。即若构件的材质没有贴图和纹理,是纯色的材质,则为待合并构件,若有贴图或纹理,则为固定构件。
59.本发明根据构件的纹理颜色进行合并,如地铁站等建筑模型中,存在大量纯色的构件(墙面、天花板等),将这些纯色的构件合并为一个文件,极大地减少了三维模型的构件数量,提高模型在浏览器网页中的运行速度,而且不会占用太多浏览器的资源。
60.此外,本发明还可以获取各构件的材质类别。根据各构件的材质类别,对待处理模型中的构件进行分类,得到多个构件集合。对每个构件集合中的构件进行合并,得到多个合并文件。最后将多个合并文件存储至同一个自定义文件中,再导出为dat文件。此时,对每一个构件集合进行合并时,此构件集合中的构件为待合并构件,其他构件集合中的构件及已合并构件集合的合并文件均为固定构件。
61.具体地,首先根据各构件的材质id的大小进行排序,排序后即可根据材质对构件进行分类。即具有相同材质id的构件为同一类。三维模型中的各种材质均有其唯一的id标识。
62.进一步地,步骤s5具体包括:
63.s51:将所述固定构件的mesh网格数据及所述合并文件存储至同一个第二自定义文件中。
64.s52:将所述第二自定义文件导出为dat文件;所述dat文件为所述待处理三维模型的轻量化模型。
65.此外,本发明还可以将轻量化模型封装为由三角面片几何数据文件和属性数据文件组合的sbmz轻量化文件。sbmz轻量化文件由基于threejs开发的图形引擎工具加载展示并进行丰富的交互操作。
66.如图2所示,本发明基于mesh合并的模型轻量化系统包括:网格获取单元1、构件分类单元2、属性确定单元3、合并单元4及轻量化模型确定单元5。
67.其中,所述网格获取单元1用于获取待处理三维模型中各构件的mesh网格数据。所述待处理三维模型包括多个构件。
68.所述构件分类单元2与所述网格获取单元1连接,所述构件分类单元2用于根据各构件的mesh网格数据,将所述待处理三维模型中的构件分为固定构件及待合并构件。
69.具体地,所述构件分类单元2包括材质确定模块及分类模块。所述材质确定模块与所述网格获取单元1连接,所述材质确定模块用于针对任一构件,根据所述构件的mesh网格数据,确定所述构件的材质。所述分类模块与所述材质确定模块连接,所述分类模块用于根据各构件的材质,将所述待处理三维模型中的构件分为待合并构件及固定构件。
70.所述属性确定单元3与所述网格获取单元1及所述构件分类单元2连接,所述属性
确定单元3用于根据各待合并构件的mesh网格数据,确定各待合并构件的属性信息。
71.所述合并单元4与所述属性确定单元3连接,所述合并单元4用于将各待合并构件的属性信息合并,得到合并文件。
72.所述轻量化模型确定单元5与所述构件分类单元2及所述合并单元4连接,所述轻量化模型确定单元5用于根据所述固定构件的mesh网格数据及所述合并文件,确定所述待处理三维模型的轻量化模型。
73.具体地,所述轻量化模型确定单元5包括存储模块及导出模块。所述存储模块与所述构件分类单元2及所述合并单元4连接,所述存储模块用于将所述固定构件的mesh网格数据及所述合并文件存储至同一个第二自定义文件中。所述导出模块与所述存储模块连接,所述导出模块用于将所述第二自定义文件导出为dat文件。所述dat文件为所述待处理三维模型的轻量化模型。
74.相对于现有技术,本发明基于mesh合并的模型轻量化系统与上述基于mesh合并的模型轻量化方法的有益效果相同,在此不再赘述。
75.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
76.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1