URP | 特效溶解效果
實(shí)現(xiàn)效果
效果

需求
溶解效果,溶解有單獨(dú)的邊緣,邊緣可以控制指定顏色。
制作方法
創(chuàng)建屬性變量,

聲明變量

頂點(diǎn)著色器計(jì)算UV信息

片元著色器,

這里使用Lerp ?控制原圖顏色,一個(gè)是邊緣的顏色。根據(jù)什么計(jì)算
使用Step 使用溶解貼圖的R通道,和邊緣大小,計(jì)算出邊緣的顏色。
全代碼
總結(jié)
Lerp函數(shù),這次是使用線性插值函數(shù),上次使用這個(gè)函數(shù)當(dāng)開關(guān)使用。
clip函數(shù) ? ?參數(shù)小于0的像素點(diǎn)直接丟棄掉
一般使用到溶解效果。

上面是基礎(chǔ)的溶解效果,那我們?cè)谏厦娴幕A(chǔ)增加細(xì)節(jié)。
擴(kuò)展1 : 軟溶解
效果
新的溶解和上面的原始效果對(duì)比。


需求
扭曲效果,溶解效果,溶解需要軟溶解,帶邊緣顏色。
可以切換不同疊加模式,不同通道,正確使用。
粒子系統(tǒng)Custom可以控制UV和溶解效果。
制作扭曲
創(chuàng)建扭曲貼圖屬性

計(jì)算扭曲的效果。扭曲需要UV移動(dòng)效果。
輸入扭曲貼圖的數(shù)據(jù),計(jì)算扭曲的效果
把扭曲貼圖計(jì)算出的UV信息增加到 主貼圖的UV
切換 主貼圖的R通道和A通道
溶解制作
輸入溶解的變量信息
輸入變量的屬性

加載溶解貼圖
使用Custom控制溶解方式
計(jì)算溶解
計(jì)算溶解,
dis_edge 是計(jì)算軟溶解的范圍
這倆個(gè)有什么區(qū)別

上面也增加了,控制邊緣的方式。

一個(gè)是邊緣厚度,一個(gè)是邊緣顏色。

溶解部分完成
粒子系統(tǒng)控制
第一 ?控制UV方向,我們?cè)陧旤c(diǎn)結(jié)構(gòu)體里輸入 UV信息
在頂點(diǎn)著色器階段,輸出到片元著色器,這里我們只是使用這個(gè)數(shù)據(jù)。
控制UV的方式
這里我們使用 第二套UV的,x通道和時(shí)間來控制UV的移動(dòng)。
第二 部分是控制溶解
這樣就有倆個(gè)開關(guān),
如果不知道怎么使用,看前面的

URP | 粒子系統(tǒng)Custom自定義數(shù)據(jù)控制UV
代碼
效果

總結(jié)
扭曲效果的實(shí)現(xiàn),是一張圖的單通道去影響UV的數(shù)值實(shí)現(xiàn)的。這里只是讀取扭曲貼圖的單通道

扭曲就是去改變?cè)緢D的UV信息
溶解效果,上面使用的是clip函數(shù) 小于0的像素就刪除掉
軟溶解的效果是使用 saturate()函數(shù) ? ? ? 這個(gè)函數(shù)返回是 0-1 范圍的顏色值。

如果_Custom_Dis的值輸入原大,計(jì)算越小。 白到透明變化。
另一個(gè)函數(shù)是使用Smoothstep()函數(shù)

擴(kuò)展 smoothstep函數(shù)
需要輸入3個(gè)變量,控制A和B的平滑過渡。
ret smoothstep(a, b, x)
可以用來生成0到1的平滑過渡.

粒子系統(tǒng)Custom Data屬性
這樣的方式是可以動(dòng)態(tài)的去控制材質(zhì)屬性。原來如果動(dòng)態(tài)控制,就給單獨(dú)屬性做動(dòng)畫。
