http://mahaile.blog.51cto.com/2891586/771167
上一章我們講解了 如何創建一個簡單的游戲世界 這一章我們來 看看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:風的范圍
學習了這一章 童鞋們趕快 試試 制作自己的喜歡的游戲地形吧 , 哈哈 ,, 這章暫時就到這了 , 有什么不明白的地方或遺漏的地方 歡迎積極留言 , 大家共同學習 共同進步 咔咔