2013年9月8日 星期日

Unity3D 教學 ﹥05 Unity 地形產生器

http://www.cg.com.tw/Unity/htm/Unity_005.asp

製作遊戲可以說少不了場景的地形,您可以透過 Unity 內建的地形編輯器快速製作各種地形,不需要使用其他的 3D 軟體製作。
注意!若在建立專案時沒有匯入 Terrain Assets 資源包,將無法使用部份的功能,請記得先匯入地形資源包。

建立地形
點選功能表 [ Terrain > Create Terrain ] 就可以在 Scene 場景檢視中建立新的地形物件。
點選功能表 [ Terrain > Set Resolution ] 即可設定地形的解析度,預設的地形寬度 ( Terrain Width ) 與地形長度 ( Terrain Length )皆為 2000 公尺。
選取地形物件時,屬性檢視器的 6 個工具可以讓您編輯地形物件的外觀。
Raise / Lower Terrain 凹凸地形
使用筆刷繪圖,可以讓地面產生凸起的效果,若按著 Shift 鍵繪圖則可以產生凹陷的效果。
Paint height 繪製高度
選擇 Paint Height 設定地形的高度,使用筆刷繪圖時,地形隆起最大高度可從 Height 參數設定。
Smooth Height 平滑高度
Smooth Height 可讓地形變得比較平滑。
Paint Texture 繪製紋理
Paint Texture 可在地形加上紋理,使地形的外觀擁有岩石、植被等真實的效果。
預設的情況,Unity 剛建立的地形物件並沒有任何的紋理。
為地形加入基本的紋理時,拼貼的預設值較小 ( Tile XY = 15 ) ,此時的地形物件像是貼了壁紙。
將拼貼的設定值增加 Tile XY = 100 的結果。
將拼貼的設定值增加 Tile XY = 200 的結果。
接著再繼續加入其他的紋理效果。
Place Trees 種植樹木
Place Trees 可以在地形物件上種植樹木。
Paint Details 繪製細節
Paint Details 繪製地形的細節,例如加上草叢、岩石等。
Terrain Settings 地形設定
地形物件的參數設定,一般維持預設值即可,不需要特別設定。
Base Terrain 基本地形設定
Pixel Error (像素誤差 / 預設值 = 50 )
控制地形幾何物件的顯示允許誤差值,基本上就是幾何 LOD 設定,設定值越高時,將會顯示密度較小的地形幾何形狀。
Base Map Dist (基本距離 / 預設值 = 500 公尺)
設定地形顯示高解析紋理的距離,地形超過設定距離的部份,只會顯示低解析的紋理。
Cast Shadows (投射陰影) 設定地形是否產生陰影的投射效果。

Wind Settings 風的設置
Speed (速度)設定風吹過草地的風速。
Size (大小)the areas of grass that are affected by wind all at once.
Bending (彎曲)設定草因風吹而彎曲的幅度。
Grass Tint (草色調)設定草與細節網格的整體色調。

樹木資源
Unity 預設的樹木資源只有 Big Tree 大樹與 Palm 棕櫚樹,不過您也可以從 Asset Store 資源商店下載植物資源包,即可加入更多植物的品種,這些植物資源包是由 Unity 原廠與其他廠商提供,讓您在製作遊戲場景時有更多的選擇。
Alder 赤楊∕樺樹
Bamboo 竹子
BananaPlant 香蕉樹
Banyan 榕樹
JapaneseMaple 日本楓樹
Materials ...
Mimosa 含羞草
Palm 棕櫚樹
Palm ( group )
ScotsPineTypeA
ScotsPineTypeB
Sycamore 梧桐樹
Sycamore ( With Collider )
Textures
ThinTree
Willow 楊柳樹

設定樹木在地表上的分佈。
按下 Edit Details 編輯細節按鈕,接著選擇 Add Grass Texture 新增草地紋理。
按下 Edit Details 編輯細節按鈕,接著選擇 Add Detail Mesh 新增細節網面。
點選功能表 [ Terrain Assets > Rocks > RockMesh ] 即可以在地形物件增加岩石。

除了自行製作遊戲的場景,您也可以到 Asset Store 資源商店免費或付費下載場景,相關說明請點選 這裡 。

Unity 官網對於地形編輯的教學
Terrain Texture 地形紋理
Trees 樹木
Grass 草地
Detail Meshes 細節網格
Terrain Engine Guide