Unity Shader 中實現凹凸對映

2021-08-21 21:56:28 字數 1265 閱讀 4910

每乙個頂點都有自己的切線空間。在該空間中,z軸是頂點的法線方向,x軸是頂點的切點方向,而y方向則是兩者叉積的方向。

我們需要在頂點著色器中把視角方向和光照方向從模型空間變換到切線空間中,即我們需要從模型空間到切線空間的變換矩陣。而很好求的是,這個變換矩陣的逆矩陣正是在頂點著色器中切線(x軸),副切線(y軸),法線(z軸)的順序!!按列!!排列即可得到。

並且,如果變換中僅存在平移和旋轉變換,則變換矩陣的逆矩陣就是它的轉置。所以變換矩陣即是按行排列xyz軸之後的結果。

使用切線空間來實現的方式

可以通過修改material上的引數面板來調整效果。比如:

調整了bumo scale之後,顯得更加突起

Unity Shader實現模糊效果

今天分享乙個超簡單實現模糊效果的方法,先上圖 核心 就這句 注意要在3.0以上的版本才能使用 在取樣後做偏移取樣再疊加,效果與下面的 類似 float4 frag v2f o sv target 下面的完整 shader custom testshader40 scale scale range 0...

Unity Shader實現翻書效果

這裡就隨便用的一張紋理了,我們還是稱為 翻木板 吧,哈哈。實現過程 其實這個效果實現起來還是挺簡單的,大概思路其實就是讓所有頂點都繞z軸旋轉,並且通過正余弦使之帶有一點弧度。下面開始讓我們一步一步的實現該效果。首先開啟unity新建乙個工程,場景,並且建立乙個名為openbookeffect的sha...

Unity Shader中實現漫反射光照模型

逐頂點漫反射光照模型。頂點著色器的最基本任務就是把頂點位置從模型位置轉換到裁剪空間中。pos mul unity matrix mvp,pos2 pos為float4型別,pos2為float4型別。其中pos2要獲得模型空間座標 可在定義時 float4 pos2 position 計算漫反射光照...