《Unity Shader入門精要》第11章小結(jié)
????先講一下為什么從第11章才開始寫:對于本人學(xué)習(xí)方法來說,讀書記筆記是一件比較費力不討好的事,往往記得不精,自己也不會回去看。于是基本沒有過同步跟進(jìn)閱讀的筆記發(fā)布。
?但是這時看到同學(xué)在學(xué)習(xí)完一整本書后,想要去總結(jié)一本書的時候,筆者想到或許這種總結(jié)式的回顧可能不但有助于復(fù)習(xí),加深記憶,而且能夠產(chǎn)出一些自己的東西,于是筆者開始嘗試寫這種章節(jié)式的小結(jié)來產(chǎn)出并加深自己的記憶。(當(dāng)然還有為了裝B,證明一下自己學(xué)過了捏)
????本章學(xué)習(xí)了主要時間變量、紋理動畫(利用貼圖不同位置的代表了不同幀像素所應(yīng)播放的動畫)、頂點動畫(利用頂點偏移使得片元看起來像動起來一樣)。
????時間變量如下,體感來說四種變量各有各的場合,沒有優(yōu)劣。

????關(guān)于紋理動畫有序列幀和滾動動畫。序列幀關(guān)鍵要確定紋理行列以及計算當(dāng)前圖元所對應(yīng)的n行m列的uv,而滾動動畫關(guān)鍵在于frac的循環(huán),多個重疊紋理可以使用lerp差值。
????名稱類型描述_Timefloat4場景開始時總時間(t/20,t.2t,3t)_SinTimefloat4總時間正弦.(t/8,t/4,t/2,t)_CosTimefloat4余弦.(t/8,t/4,t/2,t)unity_DeltaTimefloat4dt是每幀時間增量.(dt,1/dt,smoothDt,1/smoothDt)頂點動畫最重要的是理解頂點如何動。比如普通動,周期性動(河流效果),還是改變坐標(biāo)系的動(廣告牌效果)。比較有意思的就是廣告牌構(gòu)造旋轉(zhuǎn)矩陣,我們需要先找到一個新的旋轉(zhuǎn)矩陣,然后利用頂點到錨點的偏移,計算出新的頂點。
最后關(guān)于陰影,如果直接使用fallback diffuse或vertexlit中的Shadowcaster,由于它并不知道我們偏移了頂點,因此會產(chǎn)生不正確的陰影效果。所以需要自己寫一個包含相同定點動畫與SHADOW_CASTER與SHADOW_CASTER_FRAGMENT()的pass.
????這一章就記錄到這吧,感謝觀看。
????
