貼合地形的矢量圖形實現方法
- 一、灰度圖的制作和拉伸換算
- 1、基于高程點集實現
- 2、基于等高線實現
- 3、拉伸計算
- 二、生成地形模型的實現方案
- 1、3Dmax導入灰度圖
- 2、使用ArcMap/Arcpro/FME等GIS數據處理工具
- 3、UE導入灰度圖
- 三、地形上疊加地形渲染效果的實現方案
- 1、貼花
- 2、數據渲染
- 3、材質貼圖
在3D GIS數據的生產過程中,有時需要用到2D的CAD地形圖(等高線或高程點)或是shp格式的高程點作為原始數據輸入,最后實現3D地形模型的構建,本文介紹三種實現方案,歡迎評論區交流。
一、灰度圖的制作和拉伸換算
1、基于高程點集實現
將高程點數據導入FME或arcMap中構建DEM,輸出PNG格式的灰度圖。
2、基于等高線實現
如果既有等高線又有高程點數據,可以在構建DEM的時候增加等高線約束。
如果只有等高線沒有高程點數據,則將等高線轉換為高程點數據,并提供插值來擴增區域高程點數據,再構建DEM,輸出PNG格式的灰度圖。
3、拉伸計算
由于PNG格式的灰度圖的色值范圍和實際DEM數據的高度色值不同,因此需要計算灰度圖色值的最大值和最小值和實際高度色值深度最大值和最小值的比例用于后期整體拉伸地形模型。
二、生成地形模型的實現方案
1、3Dmax導入灰度圖
-
導入灰度圖:
- 打開3ds Max并創建一個新的場景。
- 使用“Create”菜單中的“Bitmap”或“Texture”命令將灰度圖導入到場景中。選擇你的灰度圖并將其導入。
-
創建地形:
- 在3ds Max中,選擇“Create”菜單中的“Geometry”選項,并選擇“Plane”創建一個平面對象。這將作為你的地形基礎。
-
應用灰度圖到地形:
- 選中創建的平面對象,然后打開“Modify”面板。
- 在“Modify”面板中,找到“Displace”或“Displacement”選項。這通常在“Modifier List”中。
- 將灰度圖應用到“Displace”或“Displacement”通道中。通常,你需要將灰度圖拖放到相應的通道中,或者在通道的“Map”選項中選擇導入的灰度圖。
-
調整地形參數:
- 調整地形對象的參數,例如細分級別、平滑度等,以獲得想要的地形效果。
- 根據灰度圖和實際深度值的比例來設置縮放比例。
2、使用ArcMap/Arcpro/FME等GIS數據處理工具
基于DEM數據進一步構建模型面,轉換為fbx格式的模型數據導出。
3、UE導入灰度圖
- 導入灰度圖到UE5:
- 打開UE5項目,切換到地形編輯,點擊新增地形。
- 打開UE5項目,切換到地形編輯,點擊新增地形。
- 創建地形:
- 選擇導入的灰度圖,這將創建一個新的地形對象,并將灰度圖應用到地形上。
- 選擇導入的灰度圖,這將創建一個新的地形對象,并將灰度圖應用到地形上。
- 調整地形參數:
- 選擇創建的地形對象,然后在Details面板中調整地形的參數,例如分辨率、平滑度等,以獲得想要的地形效果。
- 根據灰度圖和實際深度值的比例來設置縮放比例。
4. 雕刻地形:
根據需要,可以在地形編輯模式下進一步修改地形的形狀和細節,例如使用平滑刷柔化地形線條。
三、地形上疊加地形渲染效果的實現方案
1、貼花
創建貼花材質
創建一個actor,在組件里添加貼花和平面。
添加后將貼花對準平面進行比例和方向和位置調整,調整后將平面設置為不可視。
將actor拖入場景中,調整到覆蓋地形即可。
2、數據渲染
通過代碼動態根據高度值修改材質渲染顏色。(暫不展開說)
3、材質貼圖
將渲染好的圖片賦予從外部導入的地形模型,或者直接賦予引擎的分塊地形。