此篇博客仅为记录,记录钻研过程的零碎思路。
之前考虑过很多可能性,对rvt文件转换格式:.obj、JSON、.gltf等等。这些可能性前人一般都尝试过,而且也都做出来了东西。
最近联想到之前做的一个小东西——unity模型在web端的显示。
思路一:Revit直接导出FBX
于是乎,就想到revit模型既然可以导出FBX,那么那么可不可以将导出的FBX文件导入到unity中,再通过unity发布到WebGL平台。
为了省去不必要的麻烦,在导入unity之前,事先用Windows自带的3D查看器浏览一下3D模型,结果是……模型所有的材质都丢失了,这样的话再次导入unity之后还需要重新赋予材质,又增添了工作量。
如下图,从全体构件为灰色和窗户材质丢失,可以看出,这一方法并不那么有效。
思路二:尝试用3DsMax打开.rvt文件,再导出FBX
该思路对于使用默认材质的BIM模型,材质在3DsMax中保持不丢失,同样的,再次导入unity之后,材质也不会丢失,但是如果最初在Revit中建模使用的是自定义的材质,举例,墙体为“带砖与金属立筋龙骨复合墙”时,最终放到unity里面的材质显示“No name”,原因应该是unity标准材质并没有此项。
unity↑
revit↑
总结:
以上两种并不高效,需要在导入unity时,重新赋予某些构件的材质,而且部分场景构件会丢失(比如树木),可以考虑,但不是最优解。