APP下载

glTF在BIM模型轻量化中的应用

2020-02-29吕婧金浩然谭军王鹏

科技创新与应用 2020年6期
关键词:轻量化

吕婧 金浩然 谭军 王鹏

摘  要:BIM以数字信息模型为基础对建筑物整个生命周期进行信息化管理。BIM的最终需求是展示在电脑、移动终端等显示设备上。冗余海量的建筑信息加上巨大的建筑体量使得BIM数据量非常庞大,对服务器硬件要求非常苛刻。针对上述问题,文章提出一种基于glTF格式的BIM数据轻量化方法,降低BIM数据量,并运用案例进行验证其可行性。

关键词:glTF;BIM模型;轻量化

中图分类号:TU17         文献标志码:A         文章编号:2095-2945(2020)06-0174-03

Abstract: BIM carries on the information management to the whole life cycle of the building based on the digital information model. The ultimate requirement of BIM is to display on computers, mobile terminals and other display devices. The huge amount of redundant building information coupled with the huge volume of buildings makes the amount of BIM data very large, and the requirements for server hardware are very stringent. In view of the above problems, this paper proposes a lightweight method of BIM data based on glTF format to reduce the amount of BIM data, and uses a case to verify its feasibility.

Keywords: glTF; BIM model; lightweight

引言

BIM技术已经越来越多地应用于工程建设领域,BIM模型由专门的建模软件创建,根据创建软件系列的不同而采用不同的专有文件格式:Autodesk Revit软件系列的模型存储为*.rvt格式;Bentley MicroStation系列采用*.dgn文件格式; Catia系列產品使用 *.catPart等,这些BIM数据的解析需要依靠专有的BIM软件且包含精细的几何信息与丰富的语义信息,大多数BIM应用场景都是建筑群或特大高复杂度模型,因此模型体量非常大,即使在桌面客户端运行都需要高频CPU、大内存、独立显卡等较高的计算机配置。HTML5和WebGL等出现的互联网技术为开发一种不需要浏览器扩展功能或插件的虚拟三维应用场景提供了新的可能[1]。但是WebGL 技术在浏览器端利用本地客户端显卡,内存资源进行图形渲染,受限于网络宽带和服务器性能,当BIM模型体量超过终端设备承受范围时,容易出现加载时间过长、程序卡死或者系统崩溃等现象。网络传输与浏览器端图形渲染效率低下。因此要实现BIM模型在浏览器端的展示,需要将BIM数据格式转化为一种统一的、图形引擎可以识别和处理的数据格式。

1 BIM模型轻量化原理

BIM模型轻量化是指在不损失模型真实性的前提下通过先进算法把模型重构并且进行更轻便更灵活地显示。BIM模型采用WebGL引擎在Web和移动端显示需要经过图形数据转换和浏览器渲染处理两个过程,这两个过程正好是BIM模型轻量化的关键环节。模型数据转换是指将三维模型数据转换为可被图形引擎识别和处理的数据格式,并且在转换中进行数据压缩,转换后的模型数据量可以压缩到比原始三维网格的数据量小,简化后的数据格式用于优化存储和网络传输过程。模型轻量化显示是指转换后的模型被图形引擎解析和显示过程中通过提升渲染处理速度,达到流畅实时显示,如图1所示。

BIM模型主要由几何信息与非几何信息组成。非几何信息是指构件属性等相关数据,其轻量化方法比较简单,只要将其剥离于几何信息存储和压缩为DB文件或者JSON文件即可。

图形数据格式转换为轻量化的源头和核心。几何信息的轻量化方法可以分为:参数化几何描述,减面优化处理,实例化图元描述,数据压缩四种方法。

参数化几何描述:单个构件的轻量化参数表示,比如一个圆柱体可以使用五个参数来存储数据。参数1:底面原点坐标(x、y、z,3个小数);参数2:底面半径(r,1个小数);参数3:柱子高度(h,1个小数);减面优化处理:BIM模型中存在含有三角面的构件,模型越精细,其三角面片含量将越高,使用BIM三角网简化功能,删除模型中多余或重叠的点和面,简化模型构件的三角面片数;实例化图元描述:BIM模型一般会存在相同几何图元的多个实例,通过渲染管线绘制成几何构件。相同的构件通过添加一个引用和空间坐标来区别绘制在模型内不同地点。使用相似体的识别算法可以大大减少渲染几何体的数量;数据压缩:进行数据文件的无损压缩可以大大减少网络传输时间。Draco是glTF的扩展,用于网格压缩,用于压缩和解压缩3D网格以显著减小3D内容的大小[2]。它压缩顶点位置、法线、颜色、纹理坐标以及任何其他通用顶点属性,从而提高了在Web上传输3D内容的效率和速度。

模型轻量化显示:主要在解析模型文件,渲染绘制于浏览器端的过程中进行优化和加速。包括:可视域剔除、多重LOD (Level of Detail)、批量绘制、数据动态调整等技术提升渲染流畅度方法。

多重LOD(Levels of Detail):多重LOD用不同精细级别的几何体来表示物体,从轮廓模型到精细实体模型等不同的精度。在浏览器实时渲染模型中,在不影响视觉效果的前提下根据空间距离变化视点周围的物体精度,距离越远加载的模型越粗糙,距离越近加载的模型越精细,从而提高显示效率并降低存储。剔除技术是计算机图形学加速算法之一,包括视锥体剔除,遮挡剔除,背面剔除等方法如图2[3]。遮挡剔除(Occlusion Culling)是指消耗一小部分CPU来去掉不可见的物体,不改变最终渲染的画面的同时,降低GPU的负载,如图2所示。

猜你喜欢

轻量化
基于碳纤维复合材料的新能源汽车前车门轻量化设计研究
探析汽车轻量化材料及制造工艺
瑞典Floby公司推出轻量化铝制制动盘
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
某车型后端低速碰撞的安全性能分析及优化
纯电动客车车身结构轻量化研究
除了核心技术的缺失,成本控制也是自主品牌实现轻量化的一大难点
重量都去哪儿了?