1. 程式人生 > >【Unity 3D】學習筆記三十:遊戲元素——遊戲地形

【Unity 3D】學習筆記三十:遊戲元素——遊戲地形

nbsp 3d遊戲 strong 直觀 分辨率 == 摩擦力 fill 世界

遊戲地形

在遊戲的世界中,必然會有非常多豐富多彩的遊戲元素融合當中。

它們種類繁多。作用也不大同樣。一般對於遊戲元素可分為兩種:經經常使用。不經經常使用。經常使用的元素是遊戲中比較重要的元素。一般須要使用腳本來實現某些特殊功能。比方:玩家控制的主角對象,須要攻擊的敵人等。

因此經常使用的元素直接影響遊戲的執行,而不常有的元素。比方說遊戲裏的天空,雲朵等。不影響遊戲的主線。只提升遊戲的總體效果。


創建地形

在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】學習筆記三十:遊戲元素——遊戲地形