土木在线论坛 \ BIM技术 \ 行见BIM \ BIMFACE工程师现身说法,带你了解BIM模型轻量化技术细节

BIMFACE工程师现身说法,带你了解BIM模型轻量化技术细节

发布于:2022-06-08 11:22:08 来自:BIM技术/行见BIM 3 13 [复制转发]

 伴随着互联网的发展,越来越多的BIM用户希望在Web端直接浏览三维模型。传统的BIM应用程序都基于桌面客户端,且需要较高的计算机配置:高频CPU大内存独立显卡。在从桌面端走向Web端移动端的过程中,由于受浏览器计算能力内存限制等方面的影响,基于桌面的对模型的数据组织和消费方式必须做出相应调整,即需要更多的使用三维模型轻量化技术对模型进行深度处理。三维模型轻量化主要包括两个方面:模型轻量化显示模型文件转换

1、模型轻量化显示

近几年,随着WebGL标准被广泛接受,涌现出许多基于HTML5的开源三维显示引擎,如threejsscenejs等。尤其threejs使用非常广泛,一方面由于其使用门槛较低,另一方面是其支持若干种三维文件格式,如3ds、obj、dae、fbx等。对于中小规模的三维模型,使用threejs可以快速搭建一个基于Web的模型浏览应用。但对于模型构件比较多的应用场景,如BIM应用,直接使用threejs必然会遇到性能瓶颈,因此,必须针对threejs进行深度定制,甚至从零开始。

对threejs深入研究后,我们决定在threejs的基础上进行扩展,主要从以下几个方面展开:

1)场景空间八叉树划分

空间八叉树是一种高效的三维空间数据组织方式,使用八叉树可以快速剔除不可见图元,减少进入渲染区域的绘制对象。这部分技术在桌面端的三维显示引擎已非常成熟

2)增量绘制

绘制效率跟场景中绘制对象的数量紧密相关。对象越多,绘制效率越低。而绘制效率又会影响用户的交互体验。因此,在绘制图元达到一定数量的时候,需要使用增量绘制技术,减少等待时间,提高交互响应速度。

3)绘制对象内存池

浏览器分配给Javascript虚拟机的内存是有限的,当内存超出限制,整个页面就会崩溃。这是由于Javascript是一种运行时解释性语言,自身具有垃圾回收机制,当分配的Javascript对象过多,垃圾回收会占用大量时间,影响浏览器响应。使用对象池可以最大限度的减少对象分配,降低内存使用,从而减少垃圾回收产生的负担。

4)图元合并

图元个数越多,显示效率越低。这是由于每绘制一个图元就会进行一次draw call。而在浏览器端的draw call比在桌面端draw call的调用代价更大。合并图元可以减少draw call,从而提示显示效率。

2、模型文件转换

基于桌面的三维模型大多数采用单文件或几个文件来存储模型信息,比如几何信息、材质信息、纹理贴图及属性。这样的组织方式便于桌面程序管理,也便于用户之间以文件的方式传输数据。但单个大文件却不利于网络端传输,尤其是从服务器端下载一个三维模型,使其在浏览器中显示。一方面,大的文件传输需要更多的等待时间,另一方面,用户需等待模型下载完成后才能解析显示。 没有人愿意等待,因此,我们需要定义适合网络传输的大模型组织方式,把原始的模型文件转换为适合网络传输和轻量化显示的文件格式。

我们主要从以下几个方面设计三维模型轻量化转换:

1)构建“模型流”

与在线视频播放一样,用户不需要下载和缓存完整的视频才能观看,只要点击播放后边下载边缓存边播放。以模型流的方式,用户可以实时看到已经下载的部分,对显示影响较大的部分先下载先显示,细节部分可以后显示。下载过程,用户不需要等待,可以进行其他操作。

2)几何唯一性表达

在模型转换过程中,把具有相同形状的几何对象进行唯一性表达。大的模型一般会存在相同几何的多份拷贝,而实际上可以用相同的几何描述不同的构件。使用相似体的识别算法可以大大减少几何体的数量,减少模型的大小,也能减少显示时GPU的占用。

3)数据压缩

数据压缩可以大大减少网络传输时间,尤其对于json几何数据gz算法可以达到几倍的压缩率。

模型轻量化显示和模型文件转换是BIM模型轻量化的核心技术,具有一定的技术门槛。BIMFACE本着开放的精神,把核心技术提供给广大的BIM开发者,使得开发者即使没有掌握任何图形技术,也能轻松开发强大的BIM应用。


全部回复(3)

只看楼主 我来说两句
  • 爱吃炸鸡番茄酱

    模型轻量化显示和模型文件转换是BIM模型轻量化的核心技术,具有一定的技术门槛。BIMFACE本着开放的精神,把核心技术提供给广大的BIM开发者,使得开发者即使没有掌握任何图形技术,也能轻松开发强大的BIM应用。

    2022-06-08 17:38:08

    回复 举报
    赞同0
  • 芭比美人鱼

    谢谢楼主分享

    2022-06-08 14:03:08

    回复 举报
    赞同0
  • 伸手碰阳光

    很不错的资料,学习了

    2022-06-08 13:52:08

    回复 举报
    赞同0
评论帖子
评论即可得
+1经验值
+10土木币

请先 登录,再参与讨论!

这个家伙什么也没有留下。。。

行见BIM

返回版块

7622 条内容 · 46 人订阅

猜你喜欢

阅读下一篇

BIMTrack协同平台了解下

笔者也是刚刚了解到BIM Track其实在国外非常流行,很多BIM manager的职位都是要求熟悉一款BIM协同平台,比如BIMTrack。在Revit APPStroe中初步的了解些东西,没有很深入,但是已经感觉非常强大了,有兴趣的看官们可以访问官网进行更深层一步的了解。接下来让我们一起来认识一下BIM track,官网对它的介绍: BIM Track is a web-based collaboration platform that empowers your team with better BIM coordination workflows. BIM Track becomes a central location for all the information, issues, and communications that team members need for a project: from design to construction. With information at your fingertips, you can review the project design at anytime, anywher

请选择删除原因

回帖成功

经验值 +10