Unity學習筆記之五為Prefab添加材質,unityprefab
本次筆記中,我們將利用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。 Assets檔案的為:http://pan.baidu.com/s/1bn8MSlL
引入紋理貼圖之後,選中它,將目光移到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