天天看點

UE4真實地形制作

制作地形方法很多,今天給大家分享一種原創野套路。此方法特點是将現實中的地形于UE4中呈現,而不是手動繪制地形。首先從地理空間資料雲獲得指定區域的地理資料,然後使用GlobalMapper更準确選出區域并把資料轉換成WorldMachine可識别的格式,通過WorldMachine生成準确地形,最後導入UE4修改細節并添加材質。

目錄

  1. 獲得DEM資料
  2. 選取指定區域并轉換格式
  3. World Machine地形處理
  4. 導入UE4制作地形

1. 獲得DEM資料

通過政府網站獲得準确的地形高程資料,世界任意位置可以通過www.usgs.gov 擷取相關資料。但是國内項目基本隻需要中國的地理資料,是以推薦地理空間資料雲獲得國内任意位置的DEM高程資料(USGS同樣可以獲得國内的DEM資料但是精度不高)。打開網頁之後可以選擇很多種搜尋資源的方式,此處推薦進階檢索,較為直覺。

UE4真實地形制作

位置選擇方式有幾種,選擇适合你的方式。此處使用地圖選擇,框選出吉林長白山的區域并點選搜尋。左側顯示的清單是此區域所占的資料格。因為資料格是經緯度0.5 * 0.5 的格子,我們框選的區域恰恰在橫向豎向分别跨了兩個格子。是以我們需要下載下傳四個檔案。

UE4真實地形制作

2. 選取指定區域并轉換格式

可以下載下傳GlobalMapper讀取下載下傳好的DEM資料,并截取我們想要的區域,切轉換成World Machine可以識别的檔案格式。此處使用的是GlobalMapper 10.0(連結:http://pan.baidu.com/s/1eRXSnOA 密碼:jrf4)。打開此軟體,将之前下載下傳的dem資料解壓,并且把名字字尾為dem的檔案依次拖入GlobalMapper,并選擇Yes to all。

UE4真實地形制作

四張圖拼合之後的中心區域便是我們之前選擇的長白山

UE4真實地形制作

左上角點選File選擇導出elevation,并且格式選擇HF2/HFZ

UE4真實地形制作

頁籤中第三個分頁導出邊界範圍選擇draw a box

UE4真實地形制作

按住SHIFT左鍵拖拽選擇指定區域可以拉出長寬1:1的區域

UE4真實地形制作

點選确定之後選擇導出位置。然後把此檔案拖進GlobalMapper,點選Tools—Configure,修改顯示機關

UE4真實地形制作

然後打開control center,點選選擇最後導出的hfz檔案,之後點選左下角選擇Metadata,顯示該區域的資料,三個資料需要記下來。面積,最低海拔高度,最高海拔高度。

UE4真實地形制作

3. World Machine(以下簡稱WM)地形處理

下載下傳安裝WM (連結:http://pan.baidu.com/s/1i5e7J8p 密碼:5wo7)

打開WM, 選擇項目設定,地形的寬和高是之前面積開根号 √7482 ≈ 86.499 ,右側分辨率可以給1024作為預覽的分辨率。分辨率越高建構速度越慢精度越高

UE4真實地形制作

第三個選項頁的最大高度給一個512的倍數(由于機關換算,導入UE4時,Z軸縮放100倍相當于512米,此處給512倍數友善後續操作)并且高于之前測出的高度2743.145m。 于是此處給3072。

UE4真實地形制作

面闆中添加file input節點

UE4真實地形制作

輕按兩下節點加載 .hfz檔案,并且修改寬高與上面一緻,下面的elevation調整與實際相同(最低海拔和最高海拔)

UE4真實地形制作

為了梳理流程,此處不進行複雜的修改和雕琢。直接連接配接一個Basic Coverage

UE4真實地形制作

輕按兩下進入,給R G B三種顔色表示三種不同區域,調整一下HEIGHT CUTOFF和SLOPE CUTOFF到你滿意的效果。

UE4真實地形制作

将輸出的RGB通道拆成單獨通道的灰階圖

UE4真實地形制作

連接配接heightmap output輸出灰階圖

UE4真實地形制作

最終地形後面需要連接配接一個height output輸出高度圖用于UE4中生成地形

UE4真實地形制作

同樣還需要連接配接一個法線轉換節點,并且連接配接bitmap output輸出這個法線圖

UE4真實地形制作

最終連接配接圖如下

UE4真實地形制作

導出之前需要進行最終建構,是以進入項目設定把分辨率調成UE4支援的最大精度(UE4建議如下)

UE4真實地形制作

項目設定面闆,修改分辨率8129*8129,下面勾選conserve memory,記憶體大的也可以不勾選。具體差別先不詳解。

UE4真實地形制作

點選建構

UE4真實地形制作

如果記憶體夠大,可以修改項目設定中第二個分頁,然後選擇最後面綠色的Tiled build

UE4真實地形制作

因為沒有添加過多新節點,是以計算建構時間較短。計算結束後。分别選擇不同輸出節點選擇輸出路徑和檔案名。先選擇格式,然後添加路徑,最後選擇write output to disk。注意高度圖格式RAW16!

UE4真實地形制作

BITMAP導出格式為PNG 8 bit

UE4真實地形制作

單通道灰階圖導出PNG格式

UE4真實地形制作

4. 導入UE4制作地形

首先建立一個地圖,然後建立一個初始材質,不用太細節。貼圖細分由landscape coord控制,數值越大,細分越少。Landscape blend細節面闆中添加三層,分别給不同的名字。

UE4真實地形制作

建立地形,從檔案導入,檔案選擇raw16格式的Heightmap,材質連接配接剛剛建立的材質。Layers右側點選+加号選擇第一個權重,并且連接配接不同的對應的灰階圖。Scale這裡 X和Y值是我們實際的尺寸86499 / 8129 * 100 = 1064, Z值是之前WM輸入的最大高度3072 / 512 * 100 = 600,最下面的alpha type選擇 layered。

UE4真實地形制作
UE4真實地形制作

如果沒有顯示正确,可以在地形的細節面闆中重新添加一下此材質,有時會遇到顯示錯誤的BUG。如果覺得天池中應該是雪不是岩石,可以用筆刷進行修改。

UE4真實地形制作
UE4真實地形制作
UE4真實地形制作

如果想要達到下圖這種效果,需要在WM中對地形進行很細節的刻畫,以及對UE4中材質進行複雜的處理如貼圖混合,法線混合等等。

UE4真實地形制作

另外有的小夥伴發現地面貼圖重複度太高,很不真實,那麼可以與平鋪次數較低的貼圖lerp一下解決。下面是對比圖。

UE4真實地形制作
UE4真實地形制作
UE4真實地形制作

END

繼續閱讀