Unity BIM模型導入調研

項目需要加載BIM模型,我們是用Unity做開發的,搜索相關解決方案

通常將BIM數據清理提煉進行可視化應用需要花費2-3周的工作時間,而且BIM當中的原始數據不一定得到全部保留。
這其實是行業當中普遍存在的問題,除了處理BIM數據的時間,後期還需要更長的時間來做lightmap和材質的生成,大大壓縮了做創造性開發的時間。

按我的理解

BIM模型的特點是全面、準確,作爲程序的模型來說,會導致性能問題。

1.刪減:沒用的部分

2.合併:把細節按物體分組併合並;按建築結構合併(1樓和2樓分開)

3.效果:材質、顏色、透明、貼圖

4.LOD:

5.加載:AssetBundle加載

------------------------------------------------------------------------------------------------------------------------------

參考1:Unity Reflect:Revit與Unity實時數據交互

參考2:Tridify:在Unity中實現可視化BIM模型

參考3:技術操作:BIM導入unity (VR操作)

參考4:BIM中IFC介紹

參考1按我理解是Unity新出的一個產品,能夠直接讓Unity加載BIM,但是關鍵是,現在還沒出來,官方頁面也只有一個登記表格。

參考2是一個Tridify的插件,在AssetStore上能夠搜到的BIM相關的東西就它了,還是免費的。

它是官網加載並處理IFC文件(BIM中IFC介紹),然後在Unity中顯示。

插件本身是免費的,雲轉換服務是收費的。

參考3是在Revit中導出BV,然後在Unity中導入。

另外找了一些論文,是通過Revit二次開發,導出json,再導入unity。

基於BIM技術的管廊工程協同管理平臺開發研究_王思琦

基於WebGL的古建築BIM模型輕量化研究與實現_趙菲

基於Web建築模型輕量化的研究與實現_殷鑑飛

文章裏面之所以提到json是因爲webgl中支持這種格式,而且容易直接生成,而對於我們unity開發來說,其實把rvt轉成fbx導入unity是更合適的。

說實話我不覺得導出json能夠比IFC保存更多的信息。

----------------------------------------------------------------------------------------------------

用Revit打開rvt文件,導出fbx文件,只有一個fbx文件,放到unity裏面沒有材質。

參考:怎麼才能讓Revit場景導入到Unity而不會丟失材質和紋理?

------------------------------------------------------------------------------------------------------------

在unity論壇上也有人提問,BIM導入Unity的方案。

參考:Bim: Tridify Vs Pixyz Vs Native

Tridify:
Unity-Blog, December 6, 2018
Unity-Blog, April, 18, 2019
AssetStore
Website

PIXYZ:
Unity-Blog, December 14, 2018
UnityStore

Native:
Unity-Blog, November 13, 2018
Unity-Reflect

Native Revit To Unity to be expected in Fall of 2019.

 

參考:Unity PiXYZ Collaboration Lets Users Take BIM 3D

當前來說 Unity-Reflect是要再等等的。Tridify嘗試了,可以用,收費嘛,看項目需要,也不算貴,但是碰到轉換失敗的情況。

PIXYZ的話,發現居然可以。

下載插件 PiXYZ Plugin:https://download.csdn.net/download/realizz/11261761,淘寶上也有賣的,不知道是不是一樣的。

按說明導入並破解。

導入可以支持ifc格式,帶三維的autocad格式應該也支持的吧。

rvt格式,不一定,我們自己連續用的簡單rvt文件直接能導入,下載下來的複雜rvt文件則不支持。

---------------------------------------------------------------------------------------------------------------------------

PiXYZ Plugin導入導出還是有差異的。

Revit裏面:

Revit渲染:

IFC:有結構信息,顏色灰暗,門有透明,其他沒有透明

DXF、DWG:沒有透明,顏色不一致,沒有結構

--------------------------------------------------------------------------------------------------------------------------------

FBX(Revit to Unity):沒有結構,沒有材質,不透明。

總的效果來說,還是IFC的好,關鍵是有解構,材質什麼的手動處理一下好了。

在官網下載最新的PiXYZ4Unity-2019.1.1.11,用不起來,7天的測試liscence也裝不上。

--------------------------------------------------------------------------------------------------------------------------------

找到一個在線看IFC文件的網站:https://ifcwebserver.org/index.rb

可以自己上傳IFC文件的

https://ifcwebserver.org/bim-annotator/index.php?url=/dae/user1/%E9%A6%99%E9%9B%AA%E4%B8%BB%E4%BD%93%E7%BB%93%E6%9E%84.dae&model=%E9%A6%99%E9%9B%AA%E4%B8%BB%E4%BD%93%E7%BB%93%E6%9E%84&user_id=user1

和導入Unity的效果差不多,Unity裏面右下角的門是透明的。

我在懷疑IFC標準,裏面是否包含完整的材質信息。

--------------------------------------------------------------------------------------------------------------------------------------------------

發現有個xBim的庫:https://github.com/xBimTeam

參考:xBIM 實戰03 使用WPF技術實現IFC模型的加載與瀏覽

這是一系列文章:https://www.cnblogs.com/SavionZhang/category/1474287.html

有點好奇,Unity裏面怎麼只有那麼兩個插件可以加載IFC呢,還都是收費的....

門有透明的。

-----------------------------------------------------------------------------------------------------------

Revit導出IFC時的選項

前面的IFC都是默認設置,沒改動過,也就是IFC2x3 Coordination View 2.0

把幾種格式都導出,然後打開,結果有些沒透明,有些有點怪,但沒有效果更好的。

另外試了3個上傳Tridify,不行,用完了免費次數了。

----------------------------------------------------------------------------------------------------------------------------

下載並安裝了3dmax2019了

FBX(Revit 導出FBX, 3dmax再導入FBX):沒有結構,顏色一致,大部分透明,有部分沒有透明。

3Dmax再導出FBX(比原來的FBX大),Unity加載FBX:顏色亂了,門沒有透明,屋頂沒有透明,窗戶有透明。

-----------------------------------------------------------------------------------------------------

發現實際上3dmax可以直接導入rvt文件的,導入後的效果和通過FBX導入的效果一樣........................,前面搞那些幹嘛呢,想不看效果,從技術上講,3dmax導入rvt文件,再導出fbx給unity就可以了。

另外好像3dmax2016不能導入rvt文件,應該說連續用的自己創建的模型可以導入,下載下來的複雜的不能導入,導入失敗。

導入rvt文件時有個合併選項,不合並的話每個物體都是獨立的分開的,需要手動合併,合併選項裏面沒有一個能夠按照IFC那種建築結構合併的。

--------------------------------------------------------------------------------------------------------

現在還存在的問題 1.3dmax導出後材質球混亂 2.需要人工手動分組

問題1再研究一下導入導出。

問題2可能需要做3dmax二次開發,讀取結構文件(IFC,或者Json),自動分組。實際上不應該啊,應該3dmax自身就提供這種選項的嘛,甚至應該3dmax能夠讀取IFC文件的。

--------------------------------------------------------------------------------------------------------------------

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章