天天看點

【7.3D遊戲制作】2.建立工程場景及場景中的地形

作者:青少年程式設計ABC

2.建立工程場景及場景中的地形

2.1建立工程場景

在 Unity Hub 中單擊 New Project,給工程命名,選擇 3D,單擊 Create Project 按鈕。将事先準備好的素材拖拽到工程視窗中,該遊戲使用的素材為 2 個模型,檔案擴充名為 fbx,fbx 格式是 3D 模型的标準格式。

Unity 可以解析的 3D 模型檔案格式:Maya、Max、Blender、Cinema4D、Modo 等。

設定移動平台,選擇 File -> Build Settings,選擇對應的平台,然後單擊 Switch Platform。單擊場景視圖中的 Game 标簽,選擇合适的畫面尺寸。

右擊層級視窗中的場景,選擇 Save Scene as,将場景儲存為 “GameScene”。

在層級視窗中,可以看到在 3D 遊戲中添加了 Directional Light,這是遊戲世界中的光源。

2.2 3D 遊戲的坐标系

剛建立的遊戲場景如下圖所示:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

此時,錄影機被設定為朝向舞台原點,在這個位置觀察,x 軸表示左右方向,y 軸表示上下方向,z 軸表示前後方向。開發 3D 遊戲時,經常需要旋轉場景來配置對象,這樣很容易搞不清目前的朝向,也就是空間感失調。解決這個問題,可以使用場景視圖右上角顯示的場景 Gizmo (如下圖所示)來确認目前的方向。

【7.3D遊戲制作】2.建立工程場景及場景中的地形

2.3 使用 Terrain 建立地形

Terrain 是 Unity 提供的用于建立地形的工具。使用 Terrain 可以建立:

  • 山川、河流等地形
  • 鋪設地面紋理
  • 建立地面上的 3D 樹木和草地等對象

1.配置 Terrain

在層級視窗中選擇 Create -> 3D Object -> Terrain,這時,場景視圖中出現一個巨大的正方形 Terrain(如下圖所示),我們可以改變 Terrain 的形狀并添加紋理來建立出地形。

【7.3D遊戲制作】2.建立工程場景及場景中的地形

如果沒有顯示 3 色箭頭,單擊界面左上方移動工具,然後在層級視窗中單擊 Terrain,然後單擊界面上的 Center 按鈕使它變為 Pivot。如下圖所示的紅色框:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

為友善操作,最好讓移動工具箭頭移到靠近眼前的位置,在場景視圖中按住 Alt 鍵并拖拽滑鼠即可旋轉視圖,在此基礎上,使用手型工具或者按住滾輪拖動來平移畫面,使用滾輪來縮放畫面,最終,讓視圖呈現為下圖所示:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

這時,Terrain 的左下角位于原點,從錄影機看過去,Terrain 的邊界會完全顯示出來,是以,最好将 Terrain 的中心點移到原點。

在層級視窗中選中 Terrain,在檢視器視窗中将 Transform 項的 Position 中的 x、y、z 設定為 -256、0、-256。

2.設定地面隆起

在層級視窗中選中 Terrain,在檢視器視窗中單擊 Paint Terrain,單擊下面的下拉清單框選擇 Raise or Lower Terrain,如下圖所示:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

将滑鼠移到場景視圖中的 Terrain 上,Terrain 上會出現藍色的圓形區域,它可以控制地面隆起的範圍,如下圖所示:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

在該狀态下,在 Terrain 上拖拽,滑鼠指針經過的 Terrain 上面的區域将會隆起,這時,筆刷的種類、粗細及效果強弱都可以在檢視器視窗中調整。如下圖所示:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

隆起效果如下圖所示:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

3.設定地面凹陷

要使地面凹陷,按住 Shift 同時在 Terrain 上拖拽,這時,雖然可以使地形凹陷,但凹陷的深度無法低于其原始的高度,是以,在建立河流、溪谷之類的對象時,必須提示地形的高度。

4.建立山脈

我們現在在畫面的内側,z 軸正方向建立山脈,選用模糊筆刷,将 Brush Size 設定為 100,Opacity 設定為 20。場景視圖如下圖所示:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

啟動遊戲後,因為錄影機正對着 z 軸正方向,是以可以看到山脈的正面,如下圖所示:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

5.用 Terrain 設定紋理

可以使用帶紋理的筆刷在地形上塗抹來設定紋理。

Unity 提供了一個包含樹木、草地、水面等紋理和 3D 模型的素材包 Environment Package,将其導入工程後即可使用。

首先安裝 Environment Package,在 Asset Store 中找到 Environment Package,打開 Asset Store,在搜尋欄中輸入 “Environment ”,在右側的選項中設定:

  • All Categories:選中 3D
  • Unity Versions:選擇 Unity 2018.x
  • Publisher:搜尋“unity”并選擇 Unity Technologies

搜尋結果如下圖所示:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

單擊包,然後單擊 Download,等待下載下傳完畢,最後單擊 Import 即可。

建立草地紋理筆刷,在層級視窗中選中 Terrain,在檢視器視窗中單擊 Paint Terrain,在下拉清單中選擇 Paint Texture ,單擊 Edit Texture Layers 選擇 Create Layer,在 Select Texture 2D 中輸入 “Grass“,選擇其中的 ”Grass01_Albedo“,由于是第一個紋理,是以整個地形被該紋理全面塗抹。

同樣建立岩石紋理,單擊 Edit Texture Layers 選擇 Create Layer,選擇合适的紋理使用即可,第二張紋理之後就不會用于全面塗抹,在檢視器視窗中 Settings 項中的 Brush Size 設定為 60,用滑鼠在山頂區域來回拖拽,滑鼠指針經過的區域都會被岩石紋理覆寫。

此時,我們看到地形比較亮,選擇 Window -> Rendering -> Lighting Settings,打開 Lighting Settings 對話框,将 Intensity Multiplier 值減少到 0.3。

效果如下圖所示:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

2.4 調整錄影機位置

為了擡高視線,需要調整錄影機位置,在層級視窗中選中 Main Camera ,在檢視器視窗中 Transform 項的 Position 位置設定 x、y、z 值為 0、5、-10。

啟動遊戲,畫面效果如下:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

2.5 添加樹木

導入 Lemon Trees 資源包,建立 3D 樹木筆刷,在層級視窗中選中 Terrain,在檢視器視窗中單擊 Paint Trees,在 Trees 項中單擊 Edit Trees -> Add Tree。打開Add Tree 界面後單擊 Tree Prefab 右側的圓形按鈕,選擇一個樹木生成器,最後單擊 Add 按鈕。如下圖所示:

【7.3D遊戲制作】2.建立工程場景及場景中的地形
【7.3D遊戲制作】2.建立工程場景及場景中的地形

設定 Brush Size 為 30,Tree Density 為 50,在畫面上拖拽筆刷,即可看到生成的樹木。設定項如下:

  • Brush Size - 筆刷粗細
  • Tree Density - 樹木密度
  • Tree Height - 樹木的高度偏差
  • Lock Width to Height - 固定寬高比
  • Random Tree Rotation - 随機選中樹木

啟動遊戲,畫面效果如下:

【7.3D遊戲制作】2.建立工程場景及場景中的地形

繼續閱讀