在今年GDC上發現一個很是有趣的演講,叫作Animating With Math,遂實現之,是講述頂點shader動畫的,舉了幾個經典的例子,可是講者並無給代碼,而是像虛幻引擎那樣的節點,這樣更加清楚明瞭
以前博主經過頂點着色器實現了水的波動算法:
html
頂點着色器動畫能夠減小動畫的開銷,並減小關節joint的數量
開始舉的例子都很簡單,能夠着手一試
關於vertex color是自定義的一個貼圖,會控制各類參數下面會說明
接下來的例子是一個怪物的「收縮」,相似氣泡沸騰有凹有凸的動態效果
藍色通道是cos函數的相位,控制了凹凸動做的「時差」,產生沸騰效果的根本緣由
紅色通道控制總體收縮大小(程度)
能夠經過添加通道來添加控制相位變量的數量,從而增長凹凸效果的多樣性和複雜性
虛幻引擎的例子
效果以下:
下一個是博主最喜歡的一個效果,實現頭髮隨風飄動,效果絕贊
以前在14年siggraph Bungie的TA講頭髮也講了這個效果,叫HAIR IN DESTINY
這裏增長了一個noise,博主經過一張模糊過的(爲了效果平滑)noise貼圖實現
和上一個例子同樣,
紅色通道:飄動強度
藍色通道:相位時差
用可愛的塞拉醬的實現效果以下:
算法
強烈飄動:函數
輕微飄動動畫
還能夠用貼圖實現總體變化,能夠用來模擬動畫,表情動畫等等
下一個例子是模擬繩子的彈性
經過looseness和wire slack兩個變量來控制振幅
spa
實現結果:.net
手頭沒有繩子模型,,隨便找了個石頭模型拉長代替了。。。。
3d
而後最後一個感受很重要的就是旋轉
經過各頂點與以下相乘來旋轉物體,基礎知識,不知道的快去惡補數學
實現結果以下:
htm
博主近期渲染:blog
近期渲染get
---- by wolf96