天天看點

【Unity技巧】LOGO閃光效果寫在前面代碼效果寫在最後

本文參考了,在按照這篇博文實作LOGO閃光時,發現了一些問題。最嚴重的就是背景無法透明,看上去背景始終是黑色的;其次就是各個變量的意義不是非常明确,調節起來不友善;而且在閃光條的角度處理上考慮不全,在角度為鈍角時會有Bug。

這篇文章針對上面的問題修改了該Shader,并将各個變量作為Shader面闆中的可調節變量,可視化編輯閃光效果。

編譯成功後,材質面闆如圖所示:

【Unity技巧】LOGO閃光效果寫在前面代碼效果寫在最後

各變量意義如下:

Base (RGB):LOGO的png圖檔

Flash Color:閃光條的光顔色

Flash Angle:閃光條的角度,範圍是0到180°

Flash Width:閃光條寬度,範圍是0到1.0

Loop Time:閃光條滾動一次的時間

Time Interval:兩次相鄰的閃光條滾動的時間間隔

【Unity技巧】LOGO閃光效果寫在前面代碼效果寫在最後

代碼中有一個變量的相關代碼被注釋掉了,即_BeginTime,這個是用來控制第一次閃光的時間。

由于移動端對指令和寄存器的數位要求較高,如果添加_BeginTime及其相關操作就會超過限制,需要指明。

實際上,用Shader實作LOGO閃光效果比腳本實作(用一張閃光圖,在腳本中控制UV坐标來實作)的資源消耗要大很多,是以實際中不建議這樣使用。

繼續閱讀