Unity3D遊戲開發 地形系統(四)

 
上一章我們講解了 如何創建一個簡單的遊戲世界 這一章我們來 看看unity3d中的地形系統 廢話少說 趕緊開始吧,,哈哈

 
首先創建一個新的場景 
 
 
點擊菜單欄中的 Terrain-> create Terrain 菜單  

 
 
完成後如 下圖
 
 
 
 
 
 

創建地形系統的時候 unity會按默認的 寬高 圖像分辨率,紋理分辨率 等創建一個地形  不過不怕 這些我們都可以修改滴  

  如果需要在game 窗口(即是遊戲運行窗口)中看效果 ,需要調整下攝像機的位置和角度  

操作方式  選中  Hierarchy 中的 main camera 攝像機 然後使用 場景編輯器上面那4 個 功能(拖動,移動,旋轉,縮放)進行調節即可 調節過程中就可以再game 窗口中看到效果啦,   各位童鞋 多操作幾次就可以熟練操作了


 
點擊 Terrain ->resolution 菜單 可以設置地形的各個參數
 
 
 
如下圖
 
 
 
 
 
 
 
 

 
如上圖所示從上到下分別代表的含義是

 
Terrain Width: 地形的寬度

Terrain Height: 地形的高度

Terrain Length:地形的長度
 
HeightMap Resolution:地形高度圖的分辨率
 
Detail Resolution:細節分辨率,控制草和細節網格地圖的分辨率。數值越高標示效果越好,想對也越消耗機器性能,可能會卡。根據情況適當的調節。
 
Control Texture Resolution:控制不同紋理的分辨率。
 
Base Texture Resolution:控制相對紋理分辨率,這裏指一定範圍內的。

 
 
設置完畢點擊 set Resolution按鈕,有興趣的朋友可以動態的修改一下參數,看看你的地形發生了什麼樣的改變?

 
修改完後我們來給地形添加點元素吧 

 
選中 Hierarchy 中的 剛剛創建的terrain 地形 右邊出現了地形的編輯窗口
 
如圖
 
 
 
 
 
 
 
 
 
 
上圖中 的紅框框 講解  從上 到下
 
 
1: position 是地形的 位置座標  
 
   rotation 的旋轉座標
 
   scale   縮放比例
 
   這個位置任何遊戲組件都有這 3 個屬性
 
 
 
2:  這7 個屬性 從左往右 分別是 編輯高度、編輯特定高度、設置平滑、紋理貼圖、畫樹模型、畫草模型、其他設置.善用着七個工具可以編輯一個非常不錯的遊戲地形,稍後我會介紹這七個按鈕的具體操作流程。
 
 
 
 2.1 選中編輯高度   下面出現 barusher 和 settings  屬性欄

Brushes:地形繪製畫筆,這裏有很多種畫筆的圖案可供我們選擇。
 
Brush Size :畫筆寬度取值範圍
Opacity :畫筆高度取值範圍
 

 
如圖 
 
 
 
 
 
各位童鞋 可以修改參數 在地圖系統上 繪製 高度 感受這些參數的 意義 
 
 
 
 
 
 
上圖是我使用編輯高度拖拽出來的效果  現在有點難看哈 ,,沒事滴   我們繼續完善它 

 
 
2.2  編輯特定高度
 
 
和編輯高度頁面中的信息差不多,只是多了一個Height用來設置最大的高度,編輯高度中Opacity是最大高度,但是在這裏Height纔是最大高度但是Opacity必需有數值,舉個例子Opacity設置爲100  Height設置 80 最高的高度就是80   .Opacity設置爲20  Height設置 100最高的高度還是20.   
 
 
 
 
2.3 設置平滑
 
用上面拉出來的地形 如果 近距離看 會發現 有些山峯 的邊角會有些粗糙, 這時我們就可以使用 設置平滑來 山峯的邊角平滑過渡

 
2.4  紋理貼圖
 
這個東東呢 ,就是給地圖加上圖片 ,從而實現 好看的地圖 而非像上面光光的  圖片資源方面我們可以導入系統標準的資源庫,裏面有很多好看的地形資源,當然也可以自己添加喜歡的圖片做地形資源。
 
導入系統 圖片資源  選擇  菜單欄中的assets -> import package -> terrain assets   點擊導入 ,這裏只是導入 地形系統的資源  在此次你也可以導入其他資源   如下圖
 
 
 
 
 
 
 
 

 
點擊Edit Textures  出現一個下拉列表
 add Textures 添加一個貼圖 
 Edit Textures  編輯貼圖
 Remove Textures刪除貼圖
 
點擊 addTextures 添加一個貼圖 
 
如圖 中的 箭頭 標記  選擇一個 你喜歡的地形圖片  給地形 
 
 
 
 
 

Add Terrain Texture (添加貼圖)
splat :選擇一個貼圖,上面導入了系統自帶的地形資源,在這裏隨便添加兩個貼圖用於區分資源。也可以添加自己喜歡的圖片,拖放在工程中就可以在這裏看到圖片資源。
 
Tile size x: 設置貼圖X軸寬度
Tile size x:設置貼圖Y軸寬度
Tile offset x:設置貼圖X軸偏移量
 

Tile offset y:設置貼圖Y軸偏移量


 

有興趣的童鞋修改一下參數方可看到效果,這裏暫時使用默認數值。。


 
 
現在回頭看看 是不是好看多了 , 精彩還在後面的 ,我們繼續 ....

 
 
2.5   畫樹模型 
 
 
既然 是地形 當然是有樹啦  
 
 
Hierarchy 標籤欄中,點擊Create - > Tree 可以創建一個樹的模型,設置自己的樹木模型,這裏我們先導入系統自帶的樹木模型,以後在討論自定義模型的製作。

 
因爲新建的工程中是沒有樹木和草地的貼圖元素,可以在Unity3D 的標準資源庫中導入,導入的方法和紋理貼圖介紹的一樣。打開Unity3D 在Project標籤欄中 鼠標右鍵 Import package - > Tree Creator 將標準樹木資源模型導入工程。
 
 
點擊 Add Terrain Texture 添加一個 樹模型  過程和 添加紋理貼圖 類似 
 
 
如下圖  
 
 
 
 
 
在上圖中 花樹模型的 屬性 
 
 
Brush Size : 畫筆繪製一次樹木添加數量,數值越大越多,越小則越少,取值範圍0到100。
Tree Density:樹之間的百分比,在一片樹中間在放入量一片樹就得修改這個數值了,取值範圍0到100。
Color Variation:樹之間顏色差的範圍,取值範圍0到1。
TreeHeight:樹的高度,它是與場景模型有一定比例,越大樹越高,取值範圍0到200。
Variation:樹與樹之間的高度比例,取值範圍0到30。
Tree Width:樹的寬度,它是與場景模型有一定比例,越大樹越寬,取值範圍0到200。
Variation: 樹與樹之間的寬度比例,取值範圍0到30。


 
 
 
 
 
 
童鞋可以 調整這些參數 才地形上 花 並觀看 效果 

 
我在 地形上 添加了 樹 效果如下

 
 
 
 
game 遊戲運行時的效果 如圖
 
 
 
但我們在 遊戲 的 game 窗口中 看 效果 會 發現  地形中 灰暗暗的一片  這是爲什麼呢 , 這是因爲 光線不夠 ,   這些unity 都爲我們想好了 ,記得我們 前面有一章講了 game object 嗎 ?  現在我們來添加一個 平行光 (如何添加平行光 不知道的童鞋去看 Unity3D遊戲開發 創建簡單的遊戲世界(三)  添加遊戲組件 ),給 地形加點 亮度
 
各位童鞋注意哦,平行光的位置對遊戲中的亮度是沒有關係的, 角度纔對亮度有關係, 所以我們添加了 平行光 旋轉旋轉角度就可以搞定了   

 
如下圖 是不是好看多了  
 
 
 
 
畫草模型:

起始它不僅能草,還能畫一些自定義模型,可以處理一些零碎的小東西豐富遊戲場景 它或 畫樹模型有些類似  這裏就不再多囉嗦了 
 
主要設置一些3D遊戲地形的一些參數


一下面列出一些主要參數的介紹,盆友們可以自己拖動鼠標修改一下其中的具體數值就可以在遊戲視圖中清晰的看到效果。

Pixel Error:控制地形密度容差,數值越大越圓滑,越小地形角度越明顯。
Base Map Dist:控制地形貼圖的距離.
Case shadows: 是否顯示地形陰影
Draw:是否繪製繪製場景模型,比如樹,草等等。
Wind Settings 地形中風的設置
Speed:風速 
Size:風的範圍


 
 
學習了這一章 童鞋們趕快 試試 製作自己的喜歡的遊戲地形吧 ,   哈哈 ,, 這章暫時就到這了 ,  有什麼不明白的地方或遺漏的地方  歡迎積極留言 , 大家共同學習 共同進步 咔咔 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章