一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于三维轻量化引擎的RVM二进制模型解析方法与流程

2021-12-01 01:05:00 来源:中国专利 TAG:
一种用于三维轻量化引擎的rvm二进制模型解析方法
技术领域
1.本发明涉及三维模型轻量化技术领域,尤其涉及到一种用于三维轻量化引擎的rvm二进制模型解析方法。


背景技术:

2.目前在移动互联网上应用大规模web3d内容的趋势越来越明显。然而欲将大规模
3.虚拟场景构筑在移动互联网上却充满了挑战,这也是为什么一直困扰并阻碍着移动互联网上3d应用的大规模普及。其原因分析如下:
4.1、目前的大多3d模型与虚拟场景的数据量过于“沉重”。虽然移动互联网的带宽与网速在不断提高,然而相对与其要承载的3d模型与虚拟场景来说还是远远不够的,而且即便网速与带宽提高了一些,可是用户欲浏览的虚拟场景的规模与3d模型的复杂度也都更急剧地增加着。目前绝大多数单机版与网络客户端(c/s)的3d游戏是无法直接移植到在网页与手机上的,因为其场景规模和模型复杂度对于网页和手机3d内容创作与网上实时虚拟浏览来说,实在是过于“沉重”。若想想有效地降低复杂3d模型/大规模虚拟场景在移动互联网上的传输负担,必须要对这些复杂3d模型与大规模虚拟场景进行轻量化处理。
5.2、手工3d模型与虚拟场景的轻量化处理的周期长而效率低,3d场景建模是虚拟现实系统开发的第一环节,目前的轻量化3d模型处理的手段基本上是手工进行的,而且手工3d轻量化建模的时间和成本也占整个项目成本的一半以上。美工建模人员往往需要大量时间来人工地去掉那些对视觉没有贡献的冗余的点、边、面片等。这样既费时、费力,而且成本也高。因此,需要一种低成本且高效的轻量化建模手段。当前,实际应用的大量三维模型通常均由建模工具创建(例如著名的3ds max),这些模型通常是多连通的,往往包含(形状与结构相似)的重复几何模型单元,它们往往仅仅具有不同的空间位置、缩放大小和旋转方向,如果能寻找出并重用这些重复存在的模型单元,在网络上传输它们时,只需传输这些重复几何单元一次,便可以多次引用。这样既减小了模型传输的数据量,同时也提高了模型的传输效率。本发明正是基于这样的想法来进行模型的轻量化处理的。
6.因此,现有技术还有待于改进和发展。


技术实现要素:

7.本发明的目的在于克服现有技术的不足,提供了一种用于三维轻量化引擎的rvm二进制模型解析方法,相比于现有技术,本发明解决现有的轻量化3d模型处理的手段所花的时间和成本都很高的问题。
8.本发明是通过以下技术方案实现的:一种用于三维轻量化引擎的rvm二进制模型解析方法,应用于服务器端和浏览器端,所述服务器端与所述浏览器端相连,其特征在于,包括以下步骤:
9.所述服务器端预先将bim模型文件分解进行预处理并且转换为模型数据进行储存;
10.浏览器端登录所述服务器端时,将所述模型数据传递给当前浏览器端;
11.当前浏览器端将所述模型数据转换为目标bim模型;
12.将所述目标bim模型通过webgl进行渲染显示;
13.其中,所述预处理为对所述bim模型文件的姿态对齐处理和匹配处理,所述对齐处理的包括平移无关处理、旋转无关处理和缩放无关处理中的一种或者多种处理,所述匹配处理包括在对齐处理后抽取每个单元的特征描述符,再通过匹配方法来对所有的模型单元进行匹配和分类,找出可重用的模型单元,在寻找出可重用的模型单元后,去掉冗余的重复单元以达到轻量化模型数据的效果。
14.本发明公开了一种用于三维轻量化引擎的rvm二进制模型解析方法,与现有技术相比:
15.本发明是通过一种基于体素化的三维模型单元匹配新方法,寻找三维模型中不同姿态的相同模型单元,并重用这些相同单元以达到三维模型轻量化的效果。该方法采用了几何不变性的预处理,然后对模型单元进行体素化,并将与模型单元表面相交的体素作为模型单元的特征描述符,最后,通过比较相同索引的体素状态有多少相同数目来确定两模型单元是否相同,与其他方法相比,轻量化所花费时间和人工成本都有明显的降低。
具体实施方式
16.本发明公开一种用于三维轻量化引擎的rvm二进制模型解析方法,本发明是通过以下技术方案实现的:一种用于三维轻量化引擎的rvm二进制模型解析方法,应用于服务器端和浏览器端,所述服务器端与所述浏览器端相连,其特征在于,包括以下步骤:
17.所述服务器端预先将bim模型文件分解进行预处理并且转换为模型数据进行储存;
18.浏览器端登录所述服务器端时,将所述模型数据传递给当前浏览器端;
19.当前浏览器端将所述模型数据转换为目标bim模型;
20.将所述目标bim模型通过webgl进行渲染显示;
21.其中,所述预处理为对所述bim模型文件的姿态对齐处理和匹配处理,所述对齐处理的包括平移无关处理、旋转无关处理和缩放无关处理中的一种或者多种处理,所述匹配处理包括在对齐处理后抽取每个单元的特征描述符,再通过匹配方法来对所有的模型单元进行匹配和分类,找出可重用的模型单元,在寻找出可重用的模型单元后,去掉冗余的重复单元以达到轻量化模型数据的效果。
22.优选地,所述平移无关处理中的平移操作是将模型单元置于世界坐标系的原点位置,并将模型单元的拓扑结构考虑在内,使得预处理后不同模型单元区别加大。
23.优选地,在对齐姿态下抽取每个单元的特征描述符的方法为:对模型进行体素化,用表面体素状态序列来表示模型单元即每个单元的特征描述符,具体为:求出其最小的轴对齐aabb包围盒,然后将aabb包围盒进行均匀立方体分割,并将这些体素存储为一维体素状态序列,序列中的索引唯一对应于体素的空间位置,用布尔量来记录模型单元体素化后体素的状态,用该体素状态序列来表示模型单元的空间轮廓信息。
24.优选地,所述浏览器端处理所述模型数据设置有预览模式,所述预览模式包括:
25.步骤1:在服务器端预先将bim模型文件进行预处理之间,对打开后的bim模型进行
截图,并且将图片随模型数据一起进行储存;
26.步骤2:在模型数据传递给当前浏览器端的过程中,步骤1中截取的图片也随之上;
27.步骤3:图片格式的文件被识别,并且显示在当前浏览器端的界面上。
28.优选地,所述bim模型文件被分解的过程包括:
29.检索每个零件的最后一个面的信息,获取该面的行号,并定义该行号为第一行号;
30.检索每个零件的第一个顶点的信息,并获取该顶点的行号,并且定义该行号为第二行号;
31.第一行号与第二行号之间即为相对应的零件的所有模型信息,从这些模型信息中获取该零件的顶点信息、纹理坐标信息、顶点法向量信息和面信息;
32.计算当前零件之前存在的累计顶点索引数、累计纹理坐标索引数和累计顶点法向量索引数,更新当前零件的面的表达式;
33.将上述获取的顶点信息、纹理坐标信息、法向量信息和计算后的面信息;
34.信息存入到新建的细分零件的文件中。
35.本发明还公开了一种面向webgl引擎和bim应用的三维模型轻量化的设备,其特征在于,应用于服务器端和浏览器端,所述服务器端与所述浏览器端相连接,其中,所述服务器端预先将bim模型文件转换为模型数据,所述浏览器端至少为一个,包括:
36.传递模块,用于在检测到任一浏览器端登录所述服务器端时,将所述模型数据传递给当前浏览器端;
37.转换模块,用于以令所述当前浏览器端将所述模型数据转换为目标bim模型;
38.渲染模块,用于将所述目标bim模型通过webgl进行渲染显示。
39.优选地,一种面向webgl引擎和bim应用的三维模型轻量化的设备还包括控制模块和存储控制指令的存储模块,控制模块读取所述指令执行以下步骤;
40.步骤a、分解bim模型文件进行存储;
41.步骤b、将分解的bim模型文件上传至云端;
42.步骤c、可以通过云端下载被分解的bim模型文件;
43.步骤d、通过webgl引擎对下载的bim模型文件进行显示。
44.其中,在步骤b中和步骤c中均需要进行身份验证,验证身份相同后,继续进行操作,若步骤b与步骤c的身份不同,且无法进行步骤c的下载操作;
45.所述身份验证的方法包括a至f中至少之一:a、瞳孔身份识别;b、指纹身份识别;c、磁卡身份识别;d、密码身份识别;e、地理位置身份识别;f、网络身份识别,用户可以通过这些验证方法进行组合的形式,防止问文件被不相干的人员所下载。
46.综合的本发明还公开一种方法:
47.一种用于三维轻量化引擎的rvm二进制模型解析方法,包括以下步骤:
48.s1.读取pdmsrvm二进制模型文件;
49.s2.遍历所述模型组成的层级结构,获取基本图元的信息;
50.s3.根据不同基本图元的特点,将数学模式表达的基本图元组织成计算机图形学所要求的表达模式,包括以dmesh3存储的一个基于索引的三角形网格数据结构,即一种用不规则三角网来近似构成三维图元的中间格式的临时文件。
51.还包括步骤:
52.s4.将所述三角形网格数据用于基于多分辨率细节层次技术组织模型的分层结构,根据场景远近不同,使用不同精细程度的三角网绘制同一个模型对象。
53.3.根据权利要求2所述的一种用于三维轻量化引擎的rvm二进制模型解析方法,其特征在于,步骤s4中,所述使用不同精细程度的三角网绘制同一个模型对象包括:远景时,使用较少的三角形模拟模型对象;近景时,使用精细的三角形模拟模型对象。
54.步骤s3中,根据不同基本图元的特点,先将基本图元进行分类,分类后的基本图元包括表示图元类型的属性、表示包围图元的轴对齐最小矩形边界框的属性,以及读取图元的接口方法和将图元转换成不规则三角网的接口方法。
55.步骤s3中,所述以dmesh3存储的一个基于索引的三角形网格数据结构,通过存储顶点、边、三角形以及顶点与边、边与三角形的关系来表示一个由三角网拟合的三维对象。
56.其包括:预处理模块,用于读取pdmsrvm二进制模型文件,遍历所述模型组成的层级结构,获取基本图元的信息;
57.以及解析模块,用于根据不同基本图元的特点,将数学模式表达的基本图元组织成计算机图形学所要求的表达模式,包括以dmesh3存储的一个基于索引的三角形网格数据结构,即一种用不规则三角网来近似构成三维图元的中间格式的临时文件。
58.还包括绘制模块,能够将所述三角形网格数据用于基于多分辨率细节层次技术组织模型的分层结构,根据场景远近不同,使用不同精细程度的三角网绘制同一个模型对象。
59.所述绘制模块中,所述使用不同精细程度的三角网绘制同一个模型对象包括:远景时,使用较少的三角形模拟模型对象;近景时,使用精细的三角形模拟模型对象。
60.所述解析模块中,根据不同基本图元的特点,先将基本图元进行分类,分类后的基本图元包括表示图元类型的属性、表示包围图元的轴对齐最小矩形边界框的属性,以及读取图元的接口方法和将图元转换成不规则三角网的接口方法。
61.所述解析模块中,所述以dmesh3存储的一个基于索引的三角形网格数据结构,通过存储顶点、边、三角形以及顶点与边、边与三角形的关系来表示一个由三角网拟合的三维对象。
62.综上,相比于现有技术,本发明解决现有的轻量化3d模型处理的手段所花的时间和成本都很高的问题。
63.以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
64.需要要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献