1. 程式人生 > >BIGEMAP如何用通過Unity 3D生成真實地形

BIGEMAP如何用通過Unity 3D生成真實地形

使用Unity3D製作真實地形的兩種方法:

1、在SceneView中使用height tools直接繪製;

2、使用外部工具製作的heightmaps;

 

具體操作如下:

1、準備一塊DEM資料,格式為img或tiff,並準備好Global Mapper和Photoshop兩款軟體;

2、在Global Mapper 14.1中文版中“檔案”->“開啟資料檔案”,選擇DEM資料檔案,比如test.img,然後彈出對話方塊選“全是”;

image.png

開啟後如圖所示:

image.png

3、開啟地形檔案後,在工具欄下拉列表中選擇“梯度渲暈”,在此列表框後面有一個“啟用/取消暈渲”的按鈕,我們需要取消渲染;

image.png

4、此時顯示的是此dem資料的灰度圖,如下:

image.png

我們可以匯出這幅圖;點選“檔案”->“輸出光柵/影象格式”,彈出對話方塊內選擇JGP,然後點確定,又彈出一個框,還選確定,彈出下一個框。

image.png

5、在此對話方塊內設定jpg的屬性;取樣間距可以自己填寫,值越小,圖片經度越大,若不知道怎麼選擇可以先按預設值,後期看圖片解析度,根據需要在重設此引數,“影象品質”也可自行選擇,而“光柵輸出的帶設定”中必須選擇“灰度(1 8-位元組帶)”,下面的“生成世界檔案”和“生成投影檔案”可以不勾選,此檔案對匯入地形無關;

6、此時生成了一個“test.jpg”;我們用photoshop進行開啟編輯;開啟圖片後選擇“影象”->“畫布大小”;單位選擇畫素,長寬值填寫值需要是2的指數次冪比如1024或2048(我用的Unity版本中匯入的圖片大小貌視不能大於2048,否則會出錯),這時我將寬度和高度均設定為2048(這裡需要將長寬設定成一樣值),點選確定;

image.png

7、匯出raw檔案;選擇“檔案”->"儲存為",格式中選擇raw,“儲存”生成一個test.raw的檔案;

image.png

8、開啟Unity,在"Terrain"->"Create Terrain"中建立地形,然後點選“Terrain”->"Import Heightmap - Raw",匯入剛生成的raw檔案;

點選“設定”:

image.png

“Import Raw”在這兒:

image.png

9、在彈出對話方塊中進行設定,Depth選擇8bit,Width選擇2048,Height輸入2048,ByteOrder根據自己的情況選擇Mac或Windows,地形x,z先預設2000,y是高度,表示地形最高處的高度,我寫200,直接點選“Import”即可以匯入該地形;

10、如果原來地形有地貌,可以在Globalmap中使用地貌匯出一張jpg檔案作為Unity中可匯入的紋理,按地形大小貼到匯入的這塊地形上。

這裡的x,y要和之前地形的x,y大小保持一致才可以完整貼到地形上。

(PS:如果匯入圖片後發現圖片和地形位置不對應可以在ps裡對圖片進行翻轉和旋轉等操作,進行調整)