1. 程式人生 > >從零開始的unity2017筆記【shader與特效】

從零開始的unity2017筆記【shader與特效】

一、建立材質

Assets面板右鍵——creat——material建立一個新的材質球。

ps:Rendering Mode(渲染模式)【opaque(不透明模式),cutout(鏤空模式),fade(隱現模式),transparent(透明模式)】

  1. Albedo(反光)【讓材質具有特定顏色的單色反光,如果給這裡加入貼圖圖片則會給材質加上貼圖
  2. Metallic(金屬光澤)【預設可以調節右邊材質條和smoothness(平滑度)去設定基本的金屬質感。Metallic只對所放圖片的紅色通道生效,藍色、綠色通道顏色深度不影響圖片光澤,紅色顏色越深金屬越亮,若所給的圖片沒有通道格式,則預設平滑度最大,通常想設定成某種金屬光澤就直接使用一些純金屬貼圖圖片】
  3. smoothness(平滑度)【設定金屬材質的平滑度】
  4. source暫時不知道幹嘛用的,大概是材質紅通道所取的來源?
  5. Normal map(法線貼圖)【取代原模型表面的法線,重新定義反射光線的方向,用於讓低精度的模型擁有高精度的細節,用貼圖的三個通道去定義法線向量,圖片必須有rbg通道】
  6. Height map暫時未知
  7. Occlusion(環境光遮蔽)【用於模型凹陷處的光照效果,和metallic、normal map結合可以使複雜模型變得更真實。使用灰度rbg貼圖】
  8. Detail Mask暫時未知
  9. Emission(自發光)【使模型自己發出特定顏色的光】【ps:這裡面的tiling是指模型一面上面鋪幾張貼圖,x表示一面上x軸方向鋪幾張,y是y軸,若設定成負數則貼圖會水平或者垂直倒置,而offset是設定貼圖的初始位置】
  10. Secondary Maps(二級貼圖)【給材質疊加上第二張貼圖,下面的引數是設定第二張貼圖的平鋪數和uv起始座標】
  11. ....略

二、材質的製作

  1. 給材質球加貼圖:直接在Albedo裡面加【這裡加入一個呆毛圖片,因為又設定了棕紅色單色反光因此才會這樣顯示,預設白色就沒事】
  2. 給材質球加金屬質感:在Metallic裡面新增某金屬圖片或者已經處理過的紅色通道圖片。使用這張金屬圖給盔甲加金屬感→【←before】【←after】
  3. 給材質加法線貼圖:在normal map裡面加入圖片(一般和原貼圖一樣,否則反射光會很亂)【注意:若提示“該圖片不能作為normal map使用”這個提示可以無視掉,若點了下角fix now修改圖片檔案原貼圖會翻車】                                             
    【←before】【←after】
  4. 給材質加環境光遮蔽:在Occlusion中新增圖片(和原材質一樣或者進行過修改),再通過調整滑動條調出想要的效果預設是1,我們調成0.5     【←1時】【←0.5時】
  5. 材質自發光:在Emission上打勾啟用自發光功能,新增上原貼圖檔案,在HDR中選擇想要發光的顏色
  6. 使材質透明,做出玻璃效果:在Rendering mode中改為Transparent(透明),單擊Albedo右邊選色框,在RBGA中,A的值就是透明度,設定其大小便可改變物體透明度大小,從而調出玻璃效果。(更好的玻璃效果需要寫shader指令碼給正面和後面進行渲染,還要根據需要加上法線貼圖製作玻璃劃痕)
  7. 為模型疊加貼圖(貼花):新建要疊加的材質(貼花),然後做出透明效果。找到需要疊加貼圖的模型,找到Mesh Renderer(網格渲染器),在Materials中的size裡面加1(增加一個貼圖)然後把透明貼圖放入就實現貼花效果。(這裡說的是疊加貼圖會有效能損失,更高效的混合紋理後面再講)      (話說為什麼突然會有水印..)
  8. 為模型新增bloom反光: 需要匯入bloom特效外掛包,特效指令碼放攝像機裡生效
  9. 建立光源閃爍效果:建立一個點光源(create-light-pointlight),調整其發光到需要的顏色。然後建立燈光閃爍動畫,上面windows-animation開啟動畫編輯器,為點光源建立動畫。點add property新增屬性,再點強度(intensity)右邊的+號新增屬性,像這樣(還可以新增其他屬性,包括位置移動等)。往時間線中間新增一個關鍵幀,給該幀的強度設為0,這樣迴圈播放的時候閃爍就自然了。

三、為模型新增材質

將新建的材質球拖進場景物體裡或者拖進Hierarchy裡面的模型物件裡

四、設定天空盒

  1. 新建新材質,在inspector最上面的shader下拉表裡選擇skybox(其中6 sided是指用6張圖片拼成天空盒,cubemap是指使用立體貼圖作為天空盒,panoramic是指使用全景圖形成天空盒,procedural是指使用系統預設天空盒但可以調整裡面的元素)
  2. 選好skybox型別並且放好圖片後點擊頂部windows裡面的lighting然後setting開啟光照面板,將skybox material替換為新做的材質便可。
  3. 新增霧效果:在lighting(光照)面板裡的other settings裡面把fog勾上,調整引數到適合的值

五、粒子系統(particles)

1.Duration(時長,單位秒,每個粒子發射週期)

2.Looping(保持迴圈,只會在一個週期播放粒子)

3.Prewarm(保持預熱,每次都從頭開始播放粒子動畫)

4.start delay(開始延遲,多少秒之後才播放動畫)

5.start lifetime(開始生命值,設定粒子生命值,可以通過下拉欄點選random between two constants來設定隨機值)

6.start speed(開始速度值,設定速度,也可以設定隨機值)

7.3D start size(這個估計是把粒子做成3D立體,並且設定開始大小)

8.start size(開始尺寸)

9.3D start rotation(保持三維粒子旋轉,很少被使用,會暴露出模擬粒子的矩形幾何體)

10.start rotation(開始旋轉角度,可以設定隨機值)

11......略

ps:

Emission(勾選後可以設定粒子發射率)

Shape(形狀,勾選後可以設定發射角度和半徑等)

Color over Lifetime(勾選後可以從裡面下拉表裡設定粒子顏色漸變)

Size over Lifetime(勾選後可以從下拉表裡面設定粒子大小變化曲線)

Roation over Lifetime(勾選後可以從下拉表設定粒子旋轉的角速度,也可以隨機)

Texture Sheet Animation(紋理表動畫【tiles用於指定紋理中橫向和縱向的動畫幀數量;cycles指定粒子發射到消失的過程中動畫的播放次數】)

建立粒子材質

1.建立新材質,點選材質的著色器屬性(shader),在下拉表裡選中粒子(particles),再點裡面的疊加(Addictive)

2.然後選擇一種灰度圖作為粒子的形狀,還可以指定一種顏色作為粒子的顏色

3.然後將這個材質拖進粒子物件裡面生效