此篇部落格僅為記錄,記錄鑽研過程的零碎思路。
之前考慮過很多可能性,對rvt檔案轉換格式:.obj、JSON、.gltf等等。這些可能性前人一般都嘗試過,而且也都做出來了東西。
最近聯想到之前做的一個小東西——unity模型在web端的顯示。
思路一:Revit直接匯出FBX
於是乎,就想到revit模型既然可以匯出FBX,那麼那麼可不可以將匯出的FBX檔案匯入到unity中,再通過unity釋出到WebGL平臺。
為了省去不必要的麻煩,在匯入unity之前,事先用Windows自帶的3D檢視器瀏覽一下3D模型,結果是……模型所有的材質都丟失了,這樣的話再次匯入unity之後還需要重新賦予材質,又增添了工作量。
如下圖,從全體構件為灰色和窗戶材質丟失,可以看出,這一方法並不那麼有效。
![BIM輕量化——瀏覽器展示](https://i.iter01.com/images/297191055b03c6f91860a40a6b72e0bbdcbe5df357e367fe419a6fa92ffc0b64.jpg)
思路二:嘗試用3DsMax開啟.rvt檔案,再匯出FBX
該思路對於使用預設材質的BIM模型,材質在3DsMax中保持不丟失,同樣的,再次匯入unity之後,材質也不會丟失,但是如果最初在Revit中建模使用的是自定義的材質,舉例,牆體為“帶磚與金屬立筋龍骨複合牆”時,最終放到unity裡面的材質顯示“No name”,原因應該是unity標準材質並沒有此項。
![BIM輕量化——瀏覽器展示](https://i.iter01.com/images/d1190852ab99c036e0f16692b465ca8e114d52c2e66de1ac316fe3495d7ad570.jpg)
unity↑
![BIM輕量化——瀏覽器展示](https://i.iter01.com/images/4afef5dcb1dd369f6e02d94fdb427deefe7998ec12d3bc6a18d6f5cbae7984f9.png)
revit↑
![BIM輕量化——瀏覽器展示](https://i.iter01.com/images/a9d3a175aa1db3622baf61519af574815c37c4ebaed9c17e22ba162e6b8cf10d.jpg)
總結:
以上兩種並不高效,需要在匯入unity時,重新賦予某些構件的材質,而且部分場景構件會丟失(比如樹木),可以考慮,但不是最優解。