目錄
一、作業點評
二、作業答案
1、HalfLambert代碼
2、SSSLut
三、作業批改
01批改一
02批改2
三、情報·預積分皮膚
四、情報·TA專業向一、作業點評
純色hello word和Lambert代碼都沒有問題
右下角用了菲涅爾邊緣光的效果,還可以做的更細膩,
取世界座標法線的綠通道(RGB的G,也就是XYZ的Y),得到上下關係,用這個乘一下菲涅爾,這樣只有朝上的面片會有菲涅爾效果,會更真實
嘗試了卡通shader
1、會批改這個shader
2、用了兩層材質,內部是較為透亮的外層包了一個油漆,是寫shader的常用套路
3、Matcap超綱
4、今日作業唯一正解
代碼沒有問題,連連看也沒有得出正解
會拆解這個shader
二、作業答案
1、HalfLambert代碼
唯一需要修改的地方就是把截斷負值改為映射至0-1(*0.5+0.5)
2、SSSLut
做作業時想了半天也沒有想到居然是一張貼圖就可以實現的效果
SSS效果就是一個透光的效果(光線穿透皮膚的效果),次級表面散射
剛開始有SSS效果的時候,只集中在明暗交界線,後面擴散開
思路:讓RampTex上下有變化,並利用一個滑桿開放採樣RampTex的V座標,進行採樣
這張圖可以用PS畫出來,也可以用工具生成
貼圖的wrapmode改為clamp,圖片大小調小,不壓縮
三、作業批改
01批改一
光照模型乘上一個顏色,將它分為RGB三個通道並做三個截斷(step),因為每一種顏色通道的黑白信息不同,便會得到分層的效果
暗部部分:做了一個反色,可以直接用onemins節點,再乘以一個顏色控制暗部顏色
亮部部分:同樣乘上一個顏色並且給亮部賦予了一個貼圖紋理
(未完成,後面想思考一下如何可以分別控制每一部分的顏色)
02批改2
後續自己大概修改了下實現出了這個shader的效果
亮部檸檬黃部分可以跟隨視線的移動而變化不是固定在一個方向
同時明暗部分的界限有一個擾動的效果
面板如下
我們拆解下這個節點
先找到光的部分
這裏法線乘了一個半角,是下節課要講的內容,黑白灰可以隨着實現方向變化,
乘上了一個power這裏加了一個slider可以控制高光部分的大小
再來看一下上半部分
對UV座標,做了兩個乘法縮放UV,對同一張貼圖做了一大一小兩次採樣,得到兩張圖,相乘得到一個雙層紋理,這樣會得出兩層細節
將剛剛得到的兩個光照模型分別和得出的紋理進行混合,再四捨五入得到兩個不同的黑白紋理
用lerp節點將它們作為黑白遮罩賦予高光、亮部與暗部的顏色
三、情報·預積分皮膚
四、情報·TA專業向