Unity效果篇-01-光波特效
2023-01-26 20:30 作者:Lucas_dudu | 我要投稿
原理是通過深度衰減來處理想要的效果。
特殊節(jié)點(diǎn)?
Depth Fade :深度衰減
Screen Position:屏幕坐標(biāo)
這里就以ASE為例:
首先要先創(chuàng)建一個shader ,設(shè)置為不受光照材質(zhì),減少不必要的poss和變體。

材質(zhì)屬性,關(guān)閉雙面顯示,深度寫入,RGB混合模式改為疊加。

新建節(jié)點(diǎn)Depth Fade ,深度漸變。

添加半透明渲染隊(duì)列Queue,修改模式Transparent 。

新建材質(zhì)球materials并選中所建的shader;
新建空場景,添加幾個模型方便測試。

把新建的materials添加到球形mesh(Sphere)上。

OneMinus反向會得到一個黑色的球體,但是會有一些大于一的溢值,所以需要用到saturate前置來限制到0-1的空間,用浮點(diǎn)值來控制深度的范圍。

放大球的scale就會得到一個擴(kuò)散的掃光。

你也可以乘以一個顏色和貼圖

但是這樣放大你會發(fā)現(xiàn)有一個問題,他的uv 也會變大。

所以我們需要根據(jù)屏幕空間縮放大小,用screen position來計(jì)算屏幕位置,componentmask來劃分XY屏幕坐標(biāo),得到的結(jié)果*二維向量,這個是屏幕的比例,加入個,你的貼圖tiling就已經(jīng)不起作用了,通過二維向量來調(diào)整。


?這樣你就可以隨心所欲的調(diào)整自己想要的效果了。?
可以給小球做動畫,設(shè)置時間觸發(fā),就會得到擴(kuò)散的掃光效果。
標(biāo)簽: