UE4_BIM替换材质处理流程
UE4 處理BIM流程
Revit
BIM的處理軟件Revit
百度云網(wǎng)盤
鏈接:https://pan.baidu.com/s/1HW1E6_zcm6u-qkDG9Tj8cA
提取碼:BNBN
DataSmith
鏈接:https://www.unrealengine.com/zh-CN/datasmith/plugins
有Revit版本
安裝流程
安裝Revit,是Autodesk 出品的軟件,網(wǎng)上破解很多
安裝DataSmith的插件到Revit
安裝成功后,在軟件里會有如下截圖所示:
安裝DataSmith的插件到UE4對應(yīng)的引擎版本(如果引擎的插件里已經(jīng)存在,就不需要安裝了)
處理流程
用Revit打開BIM的源文件
使用Revit的DataSmith工具把文件從.rvt格式導(dǎo)成udatasmith格式
使用ue4的 DataSmithImporter 導(dǎo)入udatasmith格式文件到UE4引擎中
導(dǎo)入設(shè)置如下
可根據(jù)項目具體需求選擇是否導(dǎo)入燈光、相機、動畫以及光照貼圖
要了解的東西
在BIM模型的模型,在UE4里邊一定會生成對應(yīng)的StaticMeshActor進行掛載。一個BIM模型對應(yīng)一個StaticMeshActor。
實際情況會有Actor的產(chǎn)生,有的映射成Actor,有的映射成StaticMeshActor,筆者暫時沒搞清楚。
Actor 目前來看都沒有Asset User Data 的屬性字段,只有Actor里邊掛載的組件才有。
必須選中組件才能看到。
StaticMeshActor有Asset User Data 的屬性字段。
我們要讀取的就是DatasmithUserData里的元數(shù)據(jù)
UDataSmith文件數(shù)據(jù)的讀取
官方參考鏈接:https://docs.unrealengine.com/4.27/zh-CN/WorkingWithContent/Importing/Datasmith/Overview/UsingDatasmithMetadata/
支持藍圖和python對于udatasmith上資源里的對象的鍵值對的讀取操作
簡單概括,BIM里得元數(shù)據(jù)一定是可以讀出來的。但是不能修改。
在UDataSmith文件添加屬性字段
用記事本可以打開.udatasmith文件
文件的內(nèi)容是xml格式
可以使用腳本語言對文件進行批量化處理
DataprepAsset
處理udatasmith的一個工具
DataAsset的使用
DataPrep的主要操作步驟如下
執(zhí)行邏輯之前的效果如下:
看到線管都是灰色的材質(zhì)
執(zhí)行上述的腳本會變成如下的截圖效果
沒有同步到項目之前,場景中是這個效果
同步之后場景是這個效果
每次點擊完提交之后,這個文件就會變成這樣的效果。如果想要再次修改提交,需要重新導(dǎo)入。因此需要多次修改完畢之后,再點擊提交。
程序測試
編輯器模式
在Editor Utility Widget 測試
獲取所有BIM元數(shù)據(jù)
根據(jù)Key獲取Value 和 Actor
通過鍵值獲取對應(yīng)得Actor,Actor下邊掛StaticMesh組件,組件上可以設(shè)置材質(zhì)
GetAllObjectsAndValuesForKey 返回的是Objects的對象類型是DataSmithSceneActor的類型
通過以上代碼,把線管得顏色換成黃色
UE4 圖層
導(dǎo)入.udatasmith進入引擎之后,發(fā)現(xiàn)圖層Layers的Tab也被展開
通過研究.udatasmith文件可以發(fā)現(xiàn)
線框標紅的地方,Element_Category所有列舉的值跟UE4 中的Layer的值是匹配對應(yīng)的
圖層的操作,UE4 專門有一套子系統(tǒng)負責(zé)處理圖層
BIM材質(zhì)替換標準
根據(jù)我們素材庫的材質(zhì)id,寫入到對應(yīng)的bim模型的屬性字段中,通過觀察udatasmith文檔,可以找到bim的屬性規(guī)則。因此我們可以加一個屬性key字段
Element_BNMaterialID ,值為我們材質(zhì)庫的ID
通過分析Dataprep的工具,可以發(fā)現(xiàn)該工具用的是模糊匹配。我們也可以用字段模糊匹配的方式進行設(shè)置。假設(shè)BIM模型里可能會有攝像頭,攝像頭按照bim的命名規(guī)范,一定會有攝像頭的中文或者英文的關(guān)鍵字,根據(jù)這個關(guān)鍵字也可以去設(shè)置材質(zhì)。上文中的測試案例用的就是模糊匹配。
最后的最后,如果您覺得這篇文章幫助到您,請資助下這位朋友的糧食,謝謝!
總結(jié)
以上是生活随笔為你收集整理的UE4_BIM替换材质处理流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC设置CEdit控件背景透明、文字背景
- 下一篇: 《Android应用开发攻略》——2.1