【Unity 3D】學習筆記三十:遊戲元素——遊戲地形
遊戲地形
在遊戲的世界中,必然會有非常多豐富多彩的遊戲元素融合當中。
它們種類繁多。作用也不大同樣。一般對於遊戲元素可分為兩種:經經常使用。不經經常使用。經常使用的元素是遊戲中比較重要的元素。一般須要使用腳本來實現某些特殊功能。比方:玩家控制的主角對象,須要攻擊的敵人等。
因此經常使用的元素直接影響遊戲的執行,而不常有的元素。比方說遊戲裏的天空,雲朵等。不影響遊戲的主線。只提升遊戲的總體效果。
創建地形
在3D遊戲裏,常常會出現起伏的地形。
本文變總結回想下怎樣在遊戲裏創建遊戲地形。
首先在導航菜單條裏選擇Terrain----Create Terrain創建一個遊戲地形。出現入選圖:
(經過我旋轉拉近後的,方便更加直觀的觀看)
地形參數
地形參數包含地形的寬度,高度,長度,分辨率,高度圖等。創建完地形後。便能夠隨意的改動它們。在導航菜單裏選擇Terrain----Set Resolution後,彈出Heightmap resoluton窗體。直接輸入改動就可以。
簡單的介紹下Heightmap resoluton窗體中的參數:
Terrain Width:地形總寬度
Terrain Height:地形總高度
Terrain Length:地形總長度
Heightmap resoluton:地形高度圖的分辨率
Detail Resolution:細節分辨率,主要用於地形上的草或者其它模型。其數值越高,顯示效果越好。當然同一時候也須要越高的機器配置。
Detail Resolution per patch:細節分辨率補丁
Control Texture Resolution :控制貼圖分辨率
Base Texture Resolution :相對貼圖分辨率
編輯地形
到如今為止,我們的地形還僅僅是一個巨大的平面。
要實現起伏的效果,首先在hierarchy視圖中,選擇Terrain 。此時會在右側的inspector視圖中來編輯地形。
在地形菜單中有起個button:
他們的含義分別為:編輯地形高度。編輯地形特定高度,平滑過度地形。地形貼圖,加入樹模型,加入草與網格模型,其它設置。
接著以下便是地形畫筆:
brush size:畫筆寬度取值範圍
Opacity:畫筆高度的取值範圍
選擇地形菜單和畫筆後,便能夠編輯地形的起伏了。
只是由於地形貼圖默認是灰色,故會很的難看。
在地形菜單中點擊第二個button(編輯地形特定高度),此時打開設置地形特定高度頁面。與先前的頁面一樣,僅僅是多了一個Height:
在編輯地形高度頁面中,Opacity:是最大高度。而在編輯特定高度頁面,Height才是最大高度。比方在編輯特定高度頁面,Opacity的值是100。而Height的值是80,那麽地形最高為80
例如以下圖。在地形菜單中點擊第三個button(平滑過渡地形),然後選擇一個適合的畫筆,接著就能夠平滑過度地形了。
平滑後的地形圖:
每當創建完地形後,系統都會自己主動的將Terrain Collider(地形碰撞)組件加入到地形中。該組件能夠讓地形感應與其它物體之間的碰撞。
給地形表皮一個物理材質後。地形上的物體將依據設置的碰撞參數而發生碰撞,比方說:彈力,動力。摩擦力等。
Material:物理材質,設置模型與地形碰撞後的物理摩擦效果
is trigger:是否開啟地形碰撞
Terrain data:地形資源。連接project視圖中的地形文件
create tree colliders:是否創建樹木碰撞
地形貼圖
系統默認的灰色地形實在是不可恭維。
在實際中。為了讓地形看起來更加美觀。unity提供了地形標準資源包。首先我們須要將地形資源包導入當前的工程中。在project視圖中點擊鼠標右鍵,選擇import-----Terrain Assets。
導入後。學習怎麽給地形加入新的貼圖。首先在地形菜單條中點擊第四個button(地形貼圖),可發現眼下在Textures列表中沒有不論什麽地形貼圖。點擊右下角edit---textures(編輯貼圖)。將彈出一個選擇列表。
在選擇列表中。選擇add Textures選項。將會出現下圖左邊窗體。
先簡要說明下各參數意義:
texture:在資源目錄中選擇一張地形貼圖
normal map:在資源目錄中選擇一張正常地形貼圖
size x:貼圖x軸寬度
size y:貼圖y軸寬度
offset x:貼圖x軸偏移量
offset y:貼圖y軸偏移量
點擊texture中的select,將彈出select texture2D窗體,該頁面全部的貼圖文件都源於project視圖中的目錄。
然後在select texture2D窗體中選擇隨意貼圖雙擊,然後在add terrain Textures窗體中右下角點擊add就可以.
在加入地形貼圖後,就能夠渲染貼圖了。首先選擇一個渲染的貼圖目錄。然後選擇一個渲染筆。最後直接在scene視圖中渲染即可了。
【Unity 3D】學習筆記三十:遊戲元素——遊戲地形