IFC模型渲染思路

发布时间:2024年01月22日

其实也算是最近几个月的摸索一个小小的总结。让有缘人少走弯路。

IFC模型直接解析和渲染

前端引用ifc.js直接渲染

其实,我目前(也可能是从现在往后推一两年)很不推荐这个方法,大家看过我之前的文章也知道,我花费了比较多的时间在这,结果,之前研究的库被废弃了。
然后,新的库虽然部署方便,但是,里面很多的交互都是有问题(bug)的,例如分层、定位等等。有想法有能力的,可以贡献一下修复bug的代码上去,提升一下他们的效率。
当然,如果你只是单纯的想要展示这个模型,并不需要一些特别的交互,例如分层、广告牌展示等等,那这个还是可以使用的。
毕竟,从渲染的角度来说,它真的是挺好用的,也不用劳烦后端兄弟。

使用别的商用引擎来帮助渲染

这种方法没别的,就是要钱。
当然,要注意的是,这类方法其实并不是直接渲染IFC模型的,都是会帮你把IFC解析并转换成别的格式去渲染的。
只是表面上看,你上传的是一个IFC模型文件而已。

IFC模型间接解析和渲染

自己转模型

拿到IFC模型后,由自己或者建模师帮忙通过建模工具进行转换,建模工具一般都是要收费的,但是,价格跟商用引擎相比较肯定是小很多的。

别人转模型

目前,兜兜转转,我们找到了阿里云,它有一个云数据库可以提供这个服务,把IFC模型上传后,就可以转成想要的格式,目前我们是转成了3dtilesgltf(glb)的形式。然后,通过接口请求的形式获取模型数据并渲染。
难度瞬间下降了,有木有?!(玛德…)

关于大模型怎么渲染和怎么交互

1、别期待一个模型格式完成所有!
2、如果构件不多,就一个简单(里面空空)的 gltf外壳模型,等到进入到楼层级别的时候,再加载对应的精细完整的楼层模型;
3、如果构件多,那就换成外壳由 3dtiles 去加载,等到内部楼层等需要精细对待的时候,可以用别的模型去加载。我们这里用的是 3dtiles + glb 的形式去加载的,不知道还有没有别的更加优化的方法,也欢迎大家评论。
4、因为 3dtiles 作为外壳的话,那就意味着主要是渲染OK就行了,所以,可以使用NASA自己出的一个three.js渲染3dtiles的插件去渲染——NASA-AMMOS/3DTilesRendererJS

文章来源:https://blog.csdn.net/jiangxinyu50/article/details/135743196
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。