Unity3D場景搭建之地形編輯


游戲場景中不僅有各個游戲對象以及相應的建築物,其中各式各樣的地形也是令人身入其中。
本文嘗試在Unity3D編輯器中進行地圖編輯的學習,來搭建一個工廠場景,有山,有水,有樹,有草,有建築。
為了方便地形編輯,Unity官方提供了標准的資源包:
Assets → Import Package → Environment 導入環境資源包
Environment屬於Unity所提供的標准資源包, 但如果沒有可以去官網下載
下載地址為 http://unity3d.com/cn/get-unity/download?ref=personal
導入到自己的項目中去,Assets/Standard Assets文件夾提供了標准的Assets:

在層次面板中執行菜單Asset->3D Object->Terrain,點擊后會創建一個地形

點擊Terrain,在inspector視圖中點擊設置按鈕,可以設置很多它的屬性,例如Terrain Width(地形寬度),Terrain Length(地形長度),Terrain Height(地形高度)

在設置的左邊有很多按鈕,下面一個個來介紹下:

首先介紹第二個按鈕 Paint Height (繪制高度)
這個按鈕是用來改變地形高度的
Brushes下面的圖形是筆刷形狀
Settings下面可以設置Brush Size(筆刷大小),Opacity(透明度),Height(高度)
高度的旁邊有一個Flatten按鈕,點擊后會一下子把地形全部提高到設置的高度,為后續提供方面
重要:將地形的高度抬高是為了使地形上可以往下刷深度,從而制造湖泊之類的地形
現在我們介紹第一個按鈕:Raise/Lower Terrian(地形升降)

第一個按鈕是讓部分地方隆起或凹陷
按住Shift鍵刷就會凹陷(Lower),不按就是隆起(Raise)
可以使用不同的畫刷繪制各種地形,隆起的部分就是山脈,凹陷的就是湖泊
接下里我們是用第三個按鈕:Smooth Height(平滑高度)
第三個按鈕可以柔化地形的高度差,讓山脈看着平滑一些然后我們通過第四個按鈕:Paint Texture(繪制紋理) ,為地形放上點擊Edit Textures按鈕,選擇Add Texture,在彈出的對話框中單擊Albedo(RGB)中的Select按鈕


然后就會彈出選擇紋理的對話框:

選擇叫做 GrassRockyAlbedo的紋理
最后點擊Add Terrain Texture對話框的Add按鈕,完成紋理的添加
選中這個紋理,通過畫筆在地形部分刷上該紋理
重復上面的操作,再添加一個叫做 CliffAlbedoSpecular的紋理
選中這個紋理,通過畫筆在地形的山脈部分刷上該紋理,以便山脈和平地有所區分
接下來我們添加 樹木和植被
在我們下載的Environment資源包中有一個叫SpeedTree資源,里面包含樹木和植被的一些預制體
然后我們使用Terrain的第五個按鈕: Places Trees(添加樹木)
點擊下面的Edit Trees按鈕,選擇AddTree選項,在彈出的AddTree對話框中,單擊 Tree Prefab后面的按鈕
然后會彈出Select GameObject對話框,在里面選中Broableaf_Desktop,點擊Add,添加完畢

按照上面的步驟再添加Palm_Desktop的樹木:

下面設置中的屬性分別是
Brush Size: 畫筆大小,一次性添加多少顆樹,要批量添加時調大
Tree Density: 樹的密度,控制樹的密度
Tree Height:  樹的高度,后面有個Random的選項,是否隨機的意思,選中后可以選一個范圍高度,然后添加的樹的高度在這個范圍中隨機高度 (現實中樹怎么可能都一樣高)
Lock Width to Height:  是否鎖定樹的寬度和高度(和圖片一樣,拉伸就不好看了)
Random Tree Rotation:  是否隨機樹的方向(樹有的會長歪,隨機歪向一個方向)
設置好之后在場景里單擊就能添加了,在需要的位置添加大樹木和小樹木,示例圖:

接下來,添加草地,點擊倒數第二個按鈕: Paint Details(繪制細節單擊 Edit Details按鈕,選中Add Grass Texture....(跟前面一樣),選中 GrassFrond02AIbedoAlpha
在Add Grass Texture中把Min Width設置為0.3,Max Width設置為0.5,Min Height設置為0.3,Max Height設置為0.5(根據需要設置),單擊Add,完成添加
然后通過左鍵點擊Terrain添加草地, Shift+左鍵可以去除草地
注意:考慮到性能消耗問題,unity默認設置,調試模式下草地在超出一定高度后就無法看到,但是最終作為游戲運行時是可以看到的,效果圖:


接下來添加水的效果,創造湖泊

Water(Basic)->Prefabs,其中有兩個水效果的預制體,將WaterBasicDaytime拖到地形的大坑中,名字改為Water

通過縮放按鈕 拉伸水的大小,填滿整個大坑,然后通過移動按鈕把水向上移動到合適的高度,效果圖:
 
創建光源,光源是場景的重要組成部分。光源決定了場景環境的明暗、色彩和氛圍。合理使用光源才可以創造出完美的視覺效果
GameObject → Light 會出現可供選擇的光源類型
因為場景中有一個默認的方向光源就夠用了,所以無需添加其他光源
導入外部模型
可以把需要的外部模型導入到場景中,調整在地形上合適的位置,如廠房、煙囪、油桶等等...
添加角色和控制
Assets ->import package->Characters
在Assets->Standard Assets->Characters中有一個FirstPersonCharacter(第一人稱角色控制器)文件夾和ThirdPersonCharacter(第三人稱角色控制器)文件夾
把FirstPersonCharacter ->Prefabs文件夾中RigidBodyFPSController拖到場景里

此時,運行游戲,恭喜你,做出了一個能漫游操作的游戲,WASD前后左右,鼠標控制方向。
最終我做的效果圖:

好像有模有樣的,作為入門地形編輯學習,僅供參考,當然一個完整的游戲,還需要好多東西需要去做。
參考: https://www.cnblogs.com/nicopoiduang/p/8179935.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM