日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UE4_BIM替换材质处理流程

發布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UE4_BIM替换材质处理流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UE4 處理BIM流程

Revit

BIM的處理軟件Revit

百度云網盤

鏈接:https://pan.baidu.com/s/1HW1E6_zcm6u-qkDG9Tj8cA
提取碼:BNBN

DataSmith

鏈接:https://www.unrealengine.com/zh-CN/datasmith/plugins

有Revit版本

安裝流程

  • 安裝Revit,是Autodesk 出品的軟件,網上破解很多

  • 安裝DataSmith的插件到Revit

    安裝成功后,在軟件里會有如下截圖所示:

  • 安裝DataSmith的插件到UE4對應的引擎版本(如果引擎的插件里已經存在,就不需要安裝了)

  • 處理流程

  • 用Revit打開BIM的源文件

  • 使用Revit的DataSmith工具把文件從.rvt格式導成udatasmith格式

  • 使用ue4的 DataSmithImporter 導入udatasmith格式文件到UE4引擎中

  • 導入設置如下

  • 可根據項目具體需求選擇是否導入燈光、相機、動畫以及光照貼圖

  • 在場景中會生成一個DataSmithSceneActor的實例
  • 要了解的東西

    在BIM模型的模型,在UE4里邊一定會生成對應的StaticMeshActor進行掛載。一個BIM模型對應一個StaticMeshActor。

    實際情況會有Actor的產生,有的映射成Actor,有的映射成StaticMeshActor,筆者暫時沒搞清楚。

    Actor 目前來看都沒有Asset User Data 的屬性字段,只有Actor里邊掛載的組件才有。

    必須選中組件才能看到。

    StaticMeshActor有Asset User Data 的屬性字段。

    我們要讀取的就是DatasmithUserData里的元數據

    UDataSmith文件數據的讀取

    官方參考鏈接:https://docs.unrealengine.com/4.27/zh-CN/WorkingWithContent/Importing/Datasmith/Overview/UsingDatasmithMetadata/

    支持藍圖和python對于udatasmith上資源里的對象的鍵值對的讀取操作

    簡單概括,BIM里得元數據一定是可以讀出來的。但是不能修改。

    在UDataSmith文件添加屬性字段

    用記事本可以打開.udatasmith文件

    文件的內容是xml格式

    可以使用腳本語言對文件進行批量化處理

    DataprepAsset

    處理udatasmith的一個工具

    DataAsset的使用

  • 新建一個Dataprep文件
  • DataPrep的主要操作步驟如下

    執行邏輯之前的效果如下:

    看到線管都是灰色的材質

    執行上述的腳本會變成如下的截圖效果

    沒有同步到項目之前,場景中是這個效果

    同步之后場景是這個效果

    每次點擊完提交之后,這個文件就會變成這樣的效果。如果想要再次修改提交,需要重新導入。因此需要多次修改完畢之后,再點擊提交。

    程序測試

  • 編輯器模式

  • 在Editor Utility Widget 測試

  • 獲取所有BIM元數據

    根據Key獲取Value 和 Actor

    通過鍵值獲取對應得Actor,Actor下邊掛StaticMesh組件,組件上可以設置材質

    GetAllObjectsAndValuesForKey 返回的是Objects的對象類型是DataSmithSceneActor的類型

    通過以上代碼,把線管得顏色換成黃色

    UE4 圖層

    導入.udatasmith進入引擎之后,發現圖層Layers的Tab也被展開

    通過研究.udatasmith文件可以發現

    線框標紅的地方,Element_Category所有列舉的值跟UE4 中的Layer的值是匹配對應的

    圖層的操作,UE4 專門有一套子系統負責處理圖層

    BIM材質替換標準

  • 根據我們素材庫的材質id,寫入到對應的bim模型的屬性字段中,通過觀察udatasmith文檔,可以找到bim的屬性規則。因此我們可以加一個屬性key字段

    Element_BNMaterialID ,值為我們材質庫的ID

  • 通過分析Dataprep的工具,可以發現該工具用的是模糊匹配。我們也可以用字段模糊匹配的方式進行設置。假設BIM模型里可能會有攝像頭,攝像頭按照bim的命名規范,一定會有攝像頭的中文或者英文的關鍵字,根據這個關鍵字也可以去設置材質。上文中的測試案例用的就是模糊匹配。

  • 最后的最后,如果您覺得這篇文章幫助到您,請資助下這位朋友的糧食,謝謝!

    總結

    以上是生活随笔為你收集整理的UE4_BIM替换材质处理流程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。