1. 程式人生 > >CityEngine三維建模幾個常見問題解決方法(2)

CityEngine三維建模幾個常見問題解決方法(2)

慢慢整理一些CityEngine常見問題,不求數量,但求及格。
問題1:CityEngine中資料量較大的DEM和DOM,匯入CityEngine之後無法顯示。
解決思路:該問題是由於CityEngine紋理原理導致。CityEngine中將DEM和DOM作為紋理處理,顯示卡對單個紋理解析度限制值為8192*8192,.建議將DEM和DOM分割成相對小的紋理,比如4096*4096,再分塊匯入CityEngine使用。

問題2:CityEngine的DEMO規則檔案中就有道路自動根據地形生成等距橋墩的,但無法更靈活的生成橋墩,如不等距橋墩。如何解決?
解決思路:通過實測橋墩點位+DEM基高+三維橋面模型解算出橋墩的拉伸高度並賦值到屬性中,利用CityEngine的規則進行拉伸。橋面仍然使用CityEngine自動生成,但不再自動生成對應橋墩。具體操作步驟見後續《不等距橋墩生成流程》的部落格。效果示意圖如下:



問題3:CityEngine中匯出模型能否逐物件匯出,而非合併成一個大的物件?
解決思路:以3DS檔案匯出為例,可以在CityEngine匯出的時候設定引數為:“Create one file per shape”,這樣匯出的資料會按照Footprint為單位匯出獨立的3DS模型。操作介面截圖如下:


問題4:CityEngine中批量匯出成3DS檔案時,檔名為隨機生成,如何解決模型檔案與原有資料的屬性掛接?
解決思路:對於建築物,可以使用ArcGIS的工具箱Import 3D Files工具將這些3DS檔案轉換成File Geodatabase中的多面體圖層,該圖層中會有個屬性帶有轉入前3DS檔名。在ArcGIS中對模型進行一次整體平移後與原始的Footprint位置大致重合,提取每個模型中心點,再利用空間連線將帶有3DS檔名的中心點與Footprint屬性掛接,形成一張3DS檔名與Footprint對應的表,即完成了模型與原有屬性掛接。具體操作步驟可見後續《三維模型匯出與GIS屬性掛接流程》部落格。
CityEngine匯出的模型:

ArcGIS匯入模型工具: