Hello,大家好!這次帶來了一份Shader圖文教程,製作一隻妙蛙種子。麵向有意了解Shader模塊的美術端的同學,基於ASE,不包含程序優化,所以本文不會涉及很多程序內容,隻介紹一些簡單的Shader編寫基礎。

首先,我準備了模型和貼圖,網上下載的,鏈接在最下麵。
我們將模型貼圖文件導入Unity,取消材質動畫攝像機等導入勾選。並且在Scene內搭建一個實時平行光源和一個點光照暗麵。

光照強度為1.25
新建一個Amplify Shader(基於表麵著色器)和一個材質球,然後雙擊Shader彈出ASE編輯器。
左側設置如下圖,
Shader Name設置你的名稱和路徑,斜杠代表子目錄,(腳本內原理相同)
Light model選擇自定義燈光模型
剔除背部
前向渲染
Shader LOD 200
Render type/Queue為不透明的幾何體
以上就是我們的Tags標簽設置,我們來看一下代碼

代碼內引用了一些帶有.cginc的內置文件,如果您想看這些文件,可在Unity官網下載源碼包,找到這些文件。看看在輔助代碼中到做了啥。

除此以外,我還勾選了Outline描邊,同樣的,我們來看看Tags

外描邊剔除了正麵(即攝像機正對的麵),並且定義了一堆不要的東西。
好,正文開始
我們首先新建一個World normal(世界空間法線)和World Space Light Dir(世界空間光)節點,再新建一個Texture sample節點,引入我們的法線貼圖(記得法線貼圖導入要將類型選為法線,否則不認的)


這裏我們要把貼圖類型標明為Bump,勾選Unpack。這裏對於標記為Unpack小科普:在檢查器中將法線貼圖標記為法線貼圖時,法線貼圖會丟失其alpha通道,但是,在犧牲Alpha通道的同時,可以極大地提高壓縮質量,從而提高了法線貼圖的保真度,從而減少了壓縮偽影,使整體法線貼圖看起來更好。

我們可以將法線理解為一個三維向量,如果你想提高法線強度,讓他和一個數值相乘就可以。
好,廢話少說,我們對這兩個得到的值進行第一次計算,將他們Dot(點積)
這裏我們就得到了第一個值,該值的公式(點積公式)為:Nx*Lx+Ny*Ly+Nz*Lz
接下來,我們繼續創建一個世界空間法線和一個View Dir(查看方向)節點然後點積。
這個節點由“ 空間”參數定義的坐標空間上輸出當前攝像機查看的視圖方向。
我們用來做菲涅爾效果,腦補一下菲涅爾啥樣,不會的去拖出去槍斃五分鍾。雖然有現成的菲涅爾節點。

下麵,我們創建一個Scale and Offset(縮放和偏移),按1快捷鍵創建一個Float,同一個值控製兩個參數,並且剛才世界法向量和世界空間光向量點積值。然後對其進行鉗製輸出不要大於1。

創建兩個Tex類型的Properties,一個用來放貼圖,一個用來放卡通獨有的強烈明暗交接

我們觀察一下塞爾達傳說的光照,是由強烈的明暗交接的,這裏可以自己寫一個,我這裏就效仿官方Demo內的方式,直接用一個強明暗交接過渡的貼圖,長這樣(臥槽還有中文,沒錯命名我都懶得改,最近在公司改的快吐了,有因必有果,我的報應就是我)

然後相乘一下(那一天,人類回憶起了被向量乘法支配著的恐怖,以及被被矩陣變換折磨的屈辱。)。

OK,這裏扔著不管了
接下來我們要細化一下菲涅爾和細化一下光照
新建一個值控製菲涅爾的強度,然後鉗製輸出在1內,最後用1減去這個值。


放著先不管,我們再新建一個Light Color光色和一個Light Attenuation光線衰減還有一個Indirect DiffuseLight間接漫反射
我們來看看這個光色節點,這貨獲取了我們空間內的燈光顏色和強度,RGBA通道輸出的是下麵兩個乘積的結果。


然後將他們相加,我們就得到了一個帶有背麵GI感覺的光照模型,舒服。
Ops,還沒有顏色,那就在和顏色相乘一下吧。

如果你感覺不夠強烈,還可以反向一波和顏色相乘補一補光,這個就看個人喜好吧,每個人的審美不一樣

現在長這樣了,惡龍咆哮有沒有?

最後我們來細化細化一下菲涅爾。
沒什麼要說的了,就是接入世界空間光,控製菲涅爾強度和顏色相乘就完事了。

最後將他們彙總到一個return裏麵,接入自定義光照,完美!

我們來看一下整體節點流程圖和效果圖

最後反複調整,加上後處理修飾修飾,什麼的,能堆的就堆,什麼性能不性能的,就是懟。

來源:Thepoly
熱門課程
專業講師指導 快速擺脫技能困惑相關文章
多種教程 總有一個適合自己專業問題谘詢
你擔心的問題,火星幫你解答《黑神話:悟空》作為一款現象級中國遊戲,其成功離不開多種先進計算機技術的支持。本文將深入解析該遊戲背後的關鍵技術,包括虛幻引擎......
在遊戲開發領域,Unity和Unreal Engine(虛幻引擎)都是備受推崇的遊戲引擎,但它們各自擁有不同的特點和優勢。
春節之後大量搶人!這6個行業是轉行首選,進去1年頂3年!火星畢業就能進
春節後求職,哪些行業進去能立馬漲薪?打破信息差很關鍵!
還沒畢業,就去幫電視台拍活動,作品被主任說“非常好”!猜猜是哪個專業呀?
回想過去,電子遊戲裏的草其實並不是真正的草。開發者們隻是簡單地把草的紋理直接貼在遊戲關卡的地板上
在火星的就業指導老師那裏,經常收到同學們這樣、那樣的提問。其中有一些共性問題,就業老師會根據自己豐富的經驗,為同學們給出合適的回答。