貼圖、紋理、材質的區別是什么? 還有shader
材質 Material包含貼圖 Map,貼圖包含紋理 Texture。紋理是最基本的數據輸入單位,游戲領域基本上都用的是位圖。此外還有程序化生成的紋理 Procedural Texture。貼圖的英語 Map 其實包含了另一層含義就是“映射”。其功能就是把紋理通過 UV 坐標映射到3D 物體表面。貼圖包含了除了紋理以外其他很多信息,比方說 UV 坐標、貼圖輸入輸出控制等等。
材質是一個數據集,主要功能就是給渲染器提供數據和光照算法。貼圖就是其中數據的一部分,根據用途不同,貼圖也會被分成不同的類型,比方說 Diffuse Map,Specular Map,Normal Map 和 Gloss Map 等等。另外一個重要部分就是光照模型 Shader ,用以實現不同的渲染效果。
首先我們先將以下unity的材質。
第一步:打開一個新的項目文件。點擊菜單欄的GameObject->Create Other->Cube
這樣就在我們的scene場景里面出現了一個box。並且在Herarchy視圖中出現了一個名為Cube的物體兩者為同一個物體。
選中這個物體(注:可以在兩個視圖中的任意一個鍾選擇)然后查看Inspector視圖,這里面存儲的是這個物體的所有的組件和屬性。
1:Transform叫做變換組件。用來控制和記錄物體的位置、旋轉、縮放。
2:為mash網格。
3:碰撞體(后面的章節會詳細講解)
4:渲染組件刪除或者去掉前面的選擇物體將不可見。
我們發現這個物體沒有可以調節材質的地方。那是因為新建的物體時沒有材質球的。我們呀新建一個材質球。把他添加的物體上才可以。新建方法:1:點擊菜單欄Assets—>Create->Material如圖:
2:在Project視圖中單擊右鍵選擇Create->Material如圖:
你會發現在Project視圖中出現一個名為New Material文件如圖:將名字修改為Cube Material拖方到Cube的Inspector視圖中(注:修改名字的方法點擊project中的物體等待片刻在點擊一次當物體變成
時即可修改名稱)
如圖:
材質添加完畢。可以通過調節Cube Material來改變物體的材質屬性。
unity自帶了很多種材質類型點擊Shader下拉按鈕可以更換材質類型。具體參數可參考http://game.ceeger.com/Manual/Materials.html當然一些特殊材質球需要自己編寫(這個屬於比較高端的應用,在這里不做講解)
下面我們有一個例子來看下材質球是怎么調節的
首先我們把一個名為Players的文件夾拷貝到我們的工程文件夾的Assets文件夾中,打開unity拖動player
文件到場景視圖了。調整攝像機(能再Game視圖中清楚的看到我們的物體)添加一個平行光。添加方發如圖:
Game中的物體如圖
發現貼圖丟失
第一步我們就要把貼圖添加到物體上面,我們點擊Hierarchy視圖中player的下拉按鈕得到如圖:
player下拉列表下第一個物體為空的,不管他,第二個物體為人體,下面一個是綁定的骨骼。
選擇第二個物體。查看Inspector視圖。
發現有兩個材質球(一般我們導入的物體都會自帶材質球,不需要我們新建)第一個材質球為人物背后的熒光板我們不用管它。第二個材質球是人物主體。現在要給他添加貼圖,一般有兩種方式
1點擊材質球下放的sellect按鈕 選擇點擊接你需要的圖片 如圖:
方法2:在project視圖中找到你需要的圖片直接拖放的材質球的Texture中
如圖:
加入圖片后的效果
你還可以試一下其他的材質類型。我在附件里面提供了法線和環境貼圖。可以增加效果和真實感。