[初級]UnityShader-模仿爐石傳說卡牌動態(tài)效果(二) (轉)

轉自:http://www.manew.com/thread-110922-1-1.html

移動

移動是最容易實現(xiàn)的特效檀蹋,最簡單粗暴的方法就是采樣時讓UV坐標不斷的增加或者減小犬金,通常用時間 * 速度來控制移動效果幌甘,如:

↑ 一輛靜止的小汽車

↑ U不斷增加后的效果,快樂奔跑的小汽車

Shader寫起來大概像這個樣子:

需要注意的幾點是:

1秧骑、選擇了正確的循環(huán)模式

2颖对、選擇合適的時間

旋轉

旋轉效果本質上是平鋪在X挺据、Y軸上的2D圖片,繞Z軸旋轉其掂,通常用時間 * 旋轉速度來控制旋轉效果油挥。因此只要用旋轉角度構建一個旋轉矩陣,再用UV坐標與這個矩陣做乘法清寇,即可喘漏,如:

↑一只旋轉的小豬

↑旋轉矩陣

因為縮放、旋轉华烟、平移矩陣的推導網(wǎng)上多的是翩迈,而這些又是圖形學的入門知識,因此在這就不再贅述了(其實是因為我忘了盔夜,以后有機會再總結一下吧)负饲。

Shader寫起來大概像這個樣子:

需要注意的幾點是:

1堤魁、選擇了正確的循環(huán)模式

如果選擇了Repeat,那么效果就會變成:

2返十、選擇合適的時間

3妥泉、合理的錨點

如果不修正旋轉錨點的話,豬是以左下角(0,0)為錨點旋轉的洞坑,如:

↑繞(0,0)點旋轉的小豬

微調一下即可:

稍加延伸:移動 + 旋轉 or 旋轉 + 移動

旋轉一定角度基礎上的移動

↑通往天國的小汽車

在非中心點的地方旋轉:

↑在左下角旋轉的小豬

↑ 對應的shader

我個人的經(jīng)驗:

我從不記縮放盲链、旋轉、平移的先后順序(因為我也記不住)迟杂,試幾次對了就行了刽沾。

混合效果差異

這里所指的混合效果,并非直接用shader中的Blend排拷,因為Blend是指片段著色器的返回顏色當前顏色緩沖區(qū)顏色進行計算的邏輯侧漓,而我們的片段著色器返出的顏色,是將各個特效層顏色混合結果進行混合(有點繞)监氢。換言之:此提及的“混合”只是將每層特效的顏色(之前提及的三層)布蔗,通過某種方式疊加在一起的邏輯。

↑多層效果混合示意

我只用了兩種混合模式浪腐,BLEND和ADD纵揍,名字沒起好(因為BLEND就是混合的意思...),直接看公式吧:

BLEND:

混合后混合區(qū)顏色 = 當前特效圖顏色 * 當前特效圖Alpha +??當前混合區(qū)顏色 * (1 - 當前特效圖Alpha)

ADD:

混合后混合區(qū)顏色 = 當前特效圖顏色 +??當前混合區(qū)顏色

這介紹的有點了牛欢,因為這原理跟Shader的Blend沒什么差別骡男,分別對應了:

Blend SrcAlpha OneMinusSrcAlpha

Blend One One

只是將顏色緩沖區(qū)的概念換成了“當前混合區(qū)顏色”,而這種混合模式傍睹,也可完全照搬Shader中支持的各種混合模式隔盛,只要特效妹子開心就好

其實我想強調的是:

1拾稳、心里要對當前混合區(qū)顏色和效果圖采樣顏色有個概念吮炕。

2、處理Alpha時要稍加留意访得,你使用的紋理有沒有Alpha通道你要知道龙亲,沒有Alpha通道是讓Unity按灰度值導入為Alpha通道還是自己算得清楚。

3悍抑、采樣出的RGB是否要先被Alpha處理一下心里得有數(shù)鳄炉。

4、沒什么絕對正確或錯誤的混合搜骡,只要看起來是對的拂盯,它就是對的。

總結

片段著色器返出的顏色 = 原圖顏色 op 特效1 op 特效2 op 特效3

特效x = 特效圖顏色 * 特效混合色 * 遮罩圖對應通道

特效圖顏色 = tex2D(特效圖, uv + 偏移量 + 擾動量)

講到這里其實整個兒Shader的思路都已經(jīng)總結的差不多了记靡,至于真正的什么哪一層怎么處理就出什么效果谈竿?應該用幾層团驱?什么參數(shù)?沒有什么太多意義空凸,交給特效同學多配制幾次就好了嚎花。

小彩蛋

其實,“移動”效果還有相對高級一點的用法呀洲,它的效果看起來像這樣:

如果你用心眼去看的話紊选,會發(fā)現(xiàn)這哥們手中的字兒是呈弧形的,而我們的圖是這樣的:

其實原理也很簡單道逗,只是用了一張Motion貼圖來模擬uv丛楚,看一下他在PS中的樣子你估計就明白了:

一句話總結就是:用漸變的顏色組成一張畫布,這張畫布就是渲染時UV采樣的參照(0~1)憔辫,扭曲畫布,繪制效果自然也就扭曲了仿荆。

如果你用了Motion貼圖贰您,一定記得:要狠狠的減小他的尺寸,但不要壓縮它的品質拢操,更不要用Point過濾锦亦。因為:插值出來的“UV”比你在PhotoShop中通過“漸變”得來的“UV”平滑且靠譜的多。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末令境,一起剝皮案震驚了整個濱河市杠园,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舔庶,老刑警劉巖抛蚁,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異惕橙,居然都是意外死亡瞧甩,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門弥鹦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肚逸,“玉大人,你說我怎么就攤上這事彬坏‰伲” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵栓始,是天一觀的道長务冕。 經(jīng)常有香客問我,道長混滔,這世上最難降的妖魔是什么洒疚? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任歹颓,我火速辦了婚禮,結果婚禮上油湖,老公的妹妹穿的比我還像新娘巍扛。我一直安慰自己,他們只是感情好乏德,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布撤奸。 她就那樣靜靜地躺著,像睡著了一般喊括。 火紅的嫁衣襯著肌膚如雪胧瓜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天郑什,我揣著相機與錄音府喳,去河邊找鬼。 笑死蘑拯,一個胖子當著我的面吹牛钝满,可吹牛的內容都是我干的。 我是一名探鬼主播申窘,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼弯蚜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了剃法?” 一聲冷哼從身側響起碎捺,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贷洲,沒想到半個月后收厨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡优构,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年帽氓,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俩块。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡黎休,死狀恐怖,靈堂內的尸體忽然破棺而出玉凯,到底是詐尸還是另有隱情势腮,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布漫仆,位于F島的核電站捎拯,受9級特大地震影響,放射性物質發(fā)生泄漏盲厌。R本人自食惡果不足惜署照,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一祸泪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧建芙,春花似錦没隘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赶熟,卻和暖如春瑰妄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背映砖。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工间坐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人邑退。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓眶诈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瓜饥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內容