1. 程式人生 > >Unity3D學習筆記之五為Prefab新增材質

Unity3D學習筆記之五為Prefab新增材質

本次筆記中,我們將利用unity來建立並使用材質,把材質新增到我們的Prefab中去。 這一系列教程以及素材均參考自人人素材翻譯組出品的翻譯教程《Unity遊戲引擎的基礎入門視訊教程》,下載連結附在第二篇學習筆記中。      繼續上次筆記中所記錄的東西,在Project檢視中,ImportedAssets-Meshes-Materials下我們可以看到一個沒有紋理的材質球,這個材質是跟隨我們的3d Max模型來的預設材質。因為這裡我們要新增自己的材質,所以我們直接把這個材質球刪除。 
刪除後,我們看到本來的Prefab顏色也發生了改變。
接下來我們在Materials資料夾下,右鍵新建一個材質(Material),命名為Stone_Floor。現在這是一個空白的材質,我們要為他選擇著色器,Unity提供了十分多樣的著色器(shader),這裡我們先不做深入的討論,直接選擇Bumped Specular(凹凸高光),這是十分常用的著色器。
     Bumped Specular中可以從下往上看,BaseMap和Normal map(基礎貼圖和法線貼圖);Shininess是反射度;Specular Color就是高光顏色;Main Color也就不需要解釋了。。
現在我們還沒有匯入任何的紋理(Texture),接下來我們來匯入紋理。       先在ImportedAssets資料夾下面新建一個資料夾,命名為Textures,進入Textures 後,引入我們的第一個紋理。       右鍵Import -New Assets,然後進入我們的工程檔案中,找到我們想要找的紋理。路徑是:Imported Assets——Textures——Floor_Tile_Diffuse.tga。
引入紋理貼圖之後,選中它,將目光移到Inspector檢視上去,首先是Texture Type,材質的型別,有Texture, Normal Map(法線貼圖)等選擇,這裡我們就選擇Texture,如果你要作類似第一人稱射擊的遊戲介面, 我們可以選擇GUI相關的型別。
接下來是第二個Texture,繼續右鍵,Import new Assets,將Floor_Tile_Normal_Output.tga引入。顧名思義,我們可以看得出來這個紋理是我們的法線貼圖,我們可以直接在Inspector檢視中將其Texture Type修改為Normal Map,但Unity可以自動檢測,來為我們提供的貼圖進行訂正,所以這裡我們先不修改第二個Texture的型別。
     我們先回到Materials資料夾,找到我們之前建立的那個新材質球,來為他新增貼圖。      方法有兩種:      第一種方法是選中材質球后,移動到Textures資料夾,直接把兩個材質拖動到對應位置。下面我們把基礎貼圖拖動過去。拖動之後,我們會在又下角看到這個紋理的效果。      第二種方法是選擇Normalmap空白紋理框中的select按鈕,來選擇紋理。我們選中Floor_Tile_Normal_Output.tga,雙擊就可以匯入。


這個時候,你會發現紋理有些不正常,是因為Unity現在沒有識別法線貼圖。我們看到在效果顯示圖上方,有一行小字,This texture is not marked as a normal map。正是因為我們引入的時候沒有修改紋理的型別,所以才會這樣,我們點選Fix Now,就能夠迅速修復。      這個時候,回到我們匯入的第二個紋理,會發現它的型別已經被訂正為Normal map。

現在,我們的材質球已經制作完成,可以將它拖動到任何我們想賦予此種材質的物體上。

這裡還要說的是,我們可以調整此地板材質的分格數量,選中材質球后,Inspector檢視中,將兩個紋理貼圖的Tiling中XY均改為2,那麼地面的“瓷磚”就會多一倍。應該儘量讓兩個Tiling的數值保持一致,否則有時候效果會看起來怪怪的。      我們可以通過下面兩個圖地面和右下角預覽的對比中觀察出來。

 這裡視訊的原作者為大家推薦了一款功能強大的紋理製作軟體叫做Substance Designer,可以結合PS來處理十分細節的紋理圖案,我們即將匯入的兩個紋理就是視訊作者使用這款軟體製作的,大家有興趣的可以自己探索一下~我現在真的還不會用。       我們知道如何匯入紋理製作自己的材質後,我們再引入幾種材質,來將牆壁和天花板的材質也填充完畢。在Materials資料夾下,右鍵,Import New Asset,選擇工程檔案Materials資料夾下的Rock.sbsar和WoodPlank.sbsar。我們會發現,Materials資料夾下會多出兩個材質球。這是石頭和木板的紋理。       這裡要說明一下,這兩個紋理是使用第三方外掛製作,所以有一個小弊端就是,在Project檢視中無法將材質球拖動賦予給一個物體。我們需要這樣將材質賦予給一個物體。首先選中Rock.sbsar材質球,我們會在Inspector中發現有關這個材質的更多細節。我們需要拖動Inspector中間的小Rock材質球才可以將材質賦予物體。如下面第二張圖。
按照同樣的方法,將石頭材質再賦給天花板,將木板材質賦給兩邊的牆。這樣我們就已經完成了對元件材質的新增,我們選中當前Scene檢視中的元件,點選Apply,就可以將材質變化同步到Prefab中,這樣以後新增的所有Prefab都會帶有紋理。

至此,我們已經可以自己為物體新增材質了。      2015.2.28     19:42      By Mr.Losers