BIM轻量化平台的大模型问题其实已经困扰了我很久了。曾经想过动态加载,遮挡剔除,Lod等方法,但是都不尽人意。最后发现使用实例化才是最好的解决方案,动态加载,遮挡剔除等都只能算是实例化后的补充。
解决方法:
1、导出模型的时候确定哪些元素需要实例化(当然这里很多讲究,模型轻量化、矩阵等等,我最多优化到原Revit模型的四十分之一大小)
2、用threejs加载的时,多用InstancedMesh(还有很多其他的东西,但都是其次问题)
最终效果如下图,几个g的模型仍然可以加载并进行操作。
BIM轻量化平台的大模型问题其实已经困扰了我很久了。曾经想过动态加载,遮挡剔除,Lod等方法,但是都不尽人意。最后发现使用实例化才是最好的解决方案,动态加载,遮挡剔除等都只能算是实例化后的补充。
解决方法:
1、导出模型的时候确定哪些元素需要实例化(当然这里很多讲究,模型轻量化、矩阵等等,我最多优化到原Revit模型的四十分之一大小)
2、用threejs加载的时,多用InstancedMesh(还有很多其他的东西,但都是其次问题)
最终效果如下图,几个g的模型仍然可以加载并进行操作。
相关文章: