Material中紋理的屬性都有Tiling和Offset,能夠利用Offset作uv動畫,從而完成各類有趣的動畫,好比流光效果!php
流過效果即一般一條高光光在物體上劃過,模擬高光移動照射物體的效果,以前是使用Shader每幀傳遞一個Offset值,修改高光紋理採樣的uv,從而達到其效果。這樣的敝處在於須要本身實現Shader,簡單的同一速度移動是很容易實現的,若是但願移動隨度是變化的,則須要本身實現對速度曲線的解析(並傳遞給Shader)達到此目的。算法
沒想到一直用來做位移動做,骨骼動做的Animation竟也有此功能!動畫
下圖中即爲Animation對於物體的渲染方面能夠作的操做(Unity 4.3版本和4.2略有不一樣)spa
在Shader部分,有兩張紋理,分別是底圖和高光圖,這裏須要注意的是若是要移動uv,則必須聲明其ST屬性,這樣才能夠經過內置方法TRANSFORM_TEX()計算uv偏移了,Shader以下設計
這裏只使用了一種很簡單的算法計算最終的顏色值,即將高光覆蓋底圖顏色增長高光alpha倍,可根據需求設計計算方法!get
在動畫的關鍵幀中,根據美術需求設計曲線,如圖it
運行效果如圖io
注意此方法不能應用於NGUI,由於NGUI其組織頂點方式與普通物體不一樣!thread
附件下載渲染