【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視圖中來編輯地形。



在地形菜單中有起個按鈕:


他們的含義分別爲:編輯地形高度,編輯地形特定高度,平滑過度地形,地形貼圖,添加樹模型,添加草與網格模型,其他設置。


接着下面便是地形畫筆:


brush size:畫筆寬度取值範圍

Opacity:畫筆高度的取值範圍


選擇地形菜單和畫筆後,便可以編輯地形的起伏了。不過因爲地形貼圖默認是灰色,故會非常的難看。


在地形菜單中點擊第二個按鈕(編輯地形特定高度),此時打開設置地形特定高度頁面。與先前的頁面一樣,只是多了一個Height:


在編輯地形高度頁面中,Opacity:是最大高度,而在編輯特定高度頁面,Height纔是最大高度。比如在編輯特定高度頁面,Opacity的值是100,而Height的值是80,那麼地形最高爲80


如下圖,在地形菜單中點擊第三個按鈕(平滑過渡地形),然後選擇一個適合的畫筆,接着就可以平滑過度地形了。


平滑後的地形圖:


每當創建完地形後,系統都會自動的將Terrain  Collider(地形碰撞)組件添加到地形中。該組件可以讓地形感應與其他物體之間的碰撞。給地形表皮一個物理材質後,地形上的物體將根據設置的碰撞參數而發生碰撞,比如說:彈力,動力,摩擦力等。


Material:物理材質,設置模型與地形碰撞後的物理摩擦效果

is trigger:是否開啓地形碰撞

Terrain  data:地形資源,連接project視圖中的地形文件

create tree colliders:是否創建樹木碰撞



地形貼圖

系統默認的灰色地形實在是不可恭維。在實際中,爲了讓地形看起來更加美觀。unity提供了地形標準資源包。首先我們需要將地形資源包導入當前的工程中。在project視圖中點擊鼠標右鍵,選擇import-----Terrain  Assets。

導入後,學習怎麼給地形添加新的貼圖。首先在地形菜單欄中點擊第四個按鈕(地形貼圖),可發現目前在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視圖中渲染就行了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章