Unity 3D 使用高度圖創(chuàng)建地形

2020-07-13 16:27 更新

在 Unity 3D 中編輯地形有兩種方法:

  • 通過(guò)地形編輯器編輯地形。

  • 通過(guò)導(dǎo)入一幅預(yù)先渲染好的灰度圖來(lái)快速地為地形建模。

地形上每個(gè)點(diǎn)的高度被表示為一個(gè)矩陣中的一列值。這個(gè)矩陣可以用一個(gè)被稱為高度圖(heightmap)的灰度圖來(lái)表示。

灰度圖是一種使用二維圖形來(lái)表示三維的高度變化的圖片。近黑色的、較暗的顏色表示較低的點(diǎn),接近白色的、較亮的顏色表示較高的點(diǎn)。

通常可以用 Photoshop 或其他三維軟件導(dǎo)出灰度圖,灰度圖的格式為 RAW 格式,Unity 3D 可以支持 16 位的灰度圖。

Unity 提供了為地形導(dǎo)入、導(dǎo)出高度圖的選項(xiàng)。

  • 單擊 Settings tool 按鈕,找到標(biāo)記為 Import RAWExport RAW 的按鈕。

  • 這兩個(gè)按鈕允許從標(biāo)準(zhǔn) RAW 格式中讀出或者寫入高度圖,并且兼容大部分圖片和地表編輯器。

案例構(gòu)思

在 Unity 3D 中支持 RAW 格式的高度圖導(dǎo)入。

RAW 格式相當(dāng)于各種圖片格式的“源文件”,它的轉(zhuǎn)換是不可逆的。

注:

  • 在 Photoshop 軟件中可以使用濾鏡功能制作高度圖。

本案例根據(jù)在 Photoshop 中制作好的高度圖導(dǎo)入 Unity 3D 系統(tǒng),自動(dòng)生成地形。

案例設(shè)計(jì)

本案例通過(guò) Photoshop 中制作好的高度圖在 Unity 3D 中創(chuàng)建一個(gè)簡(jiǎn)單的地形,在地形參數(shù)列表里設(shè)置導(dǎo)入高度圖的信息,導(dǎo)入的高度圖地形效果如下圖所示。

案例實(shí)施

  1. 創(chuàng)建地形。執(zhí)行 GameObject3D ObjectTerrain 菜單命令。

  1. 在 Inspector 面板中單擊 Import Raw 按鈕添加地形,如下圖所示。

  1. 設(shè)置地形參數(shù),如下圖所示。

  1. 進(jìn)行測(cè)試,即可觀察到基于高度圖創(chuàng)建出來(lái)的地形效果,如下圖所示。

參數(shù)列表

參數(shù) 含義 描述
Depth 深度 根據(jù)文件格式設(shè)置,可以是8位或16位。
Width 寬度 設(shè)置高度圖的寬。
Height 高度 設(shè)置高度圖的高。
Byte Order 字節(jié)順序 根據(jù)文件格式設(shè)置,可以是MacWindows。
Terrain Size 地形大小 定義地形的大小。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)