GDC2016: Animating With Math

Unity和UE4的Material Editor中都有類似VertexOffset的功能, 可以在VertexShader中驅動頂點, 做一些程序控制的頂點動畫
這裏寫圖片描述
用頂點動畫的原因: 骨架是共享的, 骨骼動畫是共享的等, 同時節省了骨骼數和動畫師的工作量
這裏寫圖片描述
使用cos三角函數+Time是基本的技巧, 配合頂點色控制每個部分的權重
這裏寫圖片描述
材質參數暴露出來能夠使用程序邏輯進行動態控制
這裏寫圖片描述
頂點色的RGBA通道可以都用上, 進行不同的權重控制, 配合隨時間變化的三角函數值, 可以做出蠕動的效果
這裏寫圖片描述
其實水面的做法跟這個很類似
這裏寫圖片描述
自從用了Unreal的MaterialEditor, 都懶得直接寫Shader了
這裏寫圖片描述

另外一個應用就是做頭髮的動畫
這裏寫圖片描述
同樣的, 頂點紅色通道可以控制移動動的權重
這裏寫圖片描述
藍色通道能夠控制移動的時間
這裏寫圖片描述

模型的運動也可以通過頂點色進行控制
這裏寫圖片描述
甚至是面部的結節形狀也可以通過頂點色進行微調
這裏寫圖片描述
我覺得口型動畫也可以這麼做
這裏寫圖片描述

必要時需要外部控制的材質參數進行配合
這裏寫圖片描述
這裏寫圖片描述
比如這個擺動的動畫
這裏寫圖片描述
這裏寫圖片描述
只用頂點色是不夠的
這裏寫圖片描述
配合關鍵幀參數進行控制
這裏寫圖片描述

其實除了擺動之外, 還可以實現旋轉的效果
這裏寫圖片描述
一些自轉完全可以使用材質來實現, 免去了程序邏輯驅動或骨骼動畫
這裏寫圖片描述
舉個例子
這裏寫圖片描述

最後是用到的工具
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章