最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【ShaderGraph】塞爾達神廟柵欄特效

2020-08-28 00:41 作者:皮皮關(guān)做游戲  | 我要投稿

作者:Yumir


哈嘍艾瑞巴蒂,我是yumir。

用ShaderGraph做了幾個簡單的效果之后,我需要實踐一個稍微復(fù)雜一點的效果,于是干脆把塞爾達神廟里面導(dǎo)師的柵欄實現(xiàn)一下吧。


一、效果分析

看似復(fù)雜的特效實際上都是很多個簡單的部分的組合,就像復(fù)雜的世界是由最簡單的分子構(gòu)成的,所以遇到復(fù)雜效果第一件事就是分析,我將該粒子特效分為三個階段兩個狀態(tài),首先是默認狀態(tài),內(nèi)容是:

  1. 柵欄內(nèi)漂浮的光點。

  2. 閃爍的鏤空符文。

  3. 浮光流動的光柵欄。

再來是觸發(fā)狀態(tài),先是林克觸碰符文之后發(fā)生以下變化:

  1. 浮出發(fā)光實心符文。

  2. 光圈放大。

  3. 光點隨光圈向外飛出。

接著進入第三階段出現(xiàn)柵欄發(fā)亮并爆破的效果。當破碎的柵欄消失整個特效動畫也結(jié)束了。

二、第一階段

1、柵欄內(nèi)漂浮的光點。

首先是粒子系統(tǒng)的參數(shù),這個粒子是整個效果中最簡單的。

新建一個ShaderGraph,并新建對應(yīng)的材質(zhì)球,拖拽到粒子上(這個操作講了很多次,后文就直接說明ShaderGraph是怎么做的吧- -)

這個粒子用的Shader我在之前的文章用過就是那個讓粒子發(fā)光的Shader,可以設(shè)置貼圖和顏色,也可以被粒子系統(tǒng)更改顏色(VertexColor),其實只是把這幾個屬性相乘后輸出顏色和透明度,簡單常用的Shader。

注意要修改這兩個位置的數(shù)值,默認新建的ShaderGraph這里的設(shè)置為不透明和0.5,需要自行修改。(本文所有的Shader都是)

該粒子用到了一個從中心往外漸變的圓形透明貼圖,因為之前做導(dǎo)師消失效果的時候用的是綠色所以我還是用了綠色,可以自己改顏色(所有顏色都可以改)。

效果:

2、閃爍的鏤空符文。

粒子系統(tǒng)的參數(shù)如下,利用循環(huán)和顏色漸變做出呼吸燈的效果。


用到的Shader和上一個特效一樣,貼圖是我自己畫的一個鏤空的小魚:

效果:

3、浮光流動的光柵欄。

該粒子的渲染模式是Mesh,使用了一個沒有頂部和底部的模型,模型已經(jīng)打包到文末的相關(guān)資源包中,當然你要自己用建模軟件做也不難,在第三階段還有兩個柵欄特效,也是同樣的設(shè)置。

這部分的ShaderGraph又由兩個部分組成,一個是柵欄,另一個是柵欄上的浮光,并且柵欄在第三階段也有使用,所以做完柵欄的效果之后記得復(fù)制兩份再進入下一步。

柵欄

利用UV的X軸上的值的sin值,由于UV的x值是0~1,需要使用Multiply增加sin圖的頻率,得到了一個黑白相間的豎線圖像,用Subtract(或者Add)調(diào)整柵欄間的間距。

再利用Lerp根據(jù)前面運算的結(jié)果判斷每個像素位的顏色。最后是粒子Shader固定操作。

柵欄上的浮光

在上一篇文章提到過,在ShaderGraph中有三個噪聲節(jié)點可以用來實現(xiàn)很多看似復(fù)雜的特效,稍有了解的同學應(yīng)該能知道現(xiàn)在需要做的就是利用Voronoi制作一個水流波紋的紋理。

新建一個Voronoi節(jié)點并將細胞密度調(diào)整到合適大小,我使用了一個時間節(jié)點使該紋理UV的y軸不斷變化,通過Multiply控制移動的方向和速度,為了效果更好一點又實用這個時間節(jié)點的值修改Angle Offset的值使細胞有更多的律動。

最后將紋理圖輸出到Power(乘方),因為輸入值使0~1所以值不為1的像素位自乘次數(shù)越多越接近0,1永遠為1.

將結(jié)果與柵欄的黑白紋理相乘得到一個只有白線部分帶有光斑的紋理,對紋理上色后與原來的彩色柵欄紋理相加,就完成了。

回到粒子系統(tǒng)調(diào)試材質(zhì)球的參數(shù):

效果:


三、第二階段

1、浮出發(fā)光實心符文。

這個粒子是不循環(huán)的,透明度是在生命周期快要結(jié)束的時候才開始減淡,稍微有一點點放大的效果。

用的也是上面說到的粒子發(fā)光Shader,顏色是白色,貼圖是我自己畫的實心的魚:

效果:

2、光圈放大。

同樣是不循環(huán)粒子,和實心符文粒子同時發(fā)生,其他參數(shù)是根據(jù)實際情況微調(diào)的。

使用的還是簡單粒子發(fā)光Shader,貼圖是一個鏤空的圓。

效果:

3、光點隨光圈向外飛出。

這個粒子用到了一個圓形發(fā)射器,需要速度變化和顏色變化,不循環(huán)。

由于在粒子系統(tǒng)中設(shè)置了初始顏色所以在材質(zhì)球上沒有做顏色更改,偷懶沒有做新的貼圖直接用了第一個光點粒子的貼圖,依舊是發(fā)光粒子Shader。

效果:

四、第三階段

1、逐漸發(fā)亮的柵欄。

這個粒子逐漸發(fā)亮的效果主要是來源于透明度變化(所以應(yīng)該說是逐漸發(fā)白?)用到了開頭說到的那個模型。

之前復(fù)制的柵欄ShaderGraph在這里可以直接用,柵欄顏色不一樣,其他的設(shè)置所有的柵欄是一致的:

效果:

2、殘留的柵欄消失。

柵欄炸裂后原地還有一些殘留的柵欄,是漸漸消失的,也是用透明度調(diào)整:

這里要用到之前復(fù)制的另一份柵欄ShaderGraph,我嫌兩個顏色礙事把間隔的顏色直接設(shè)置為(0,0,0,0),通過簡單運算將原本的柵欄摳空。

這里的貼圖也是自己隨意畫的,用來將原本的柵欄扣空,其他參數(shù)應(yīng)該和原來的柵欄保持一致:

效果:

3、柵欄爆破。

這個效果用到了九個粒子,每個粒子用到的屬性一致只是數(shù)值需要調(diào)整,這里只列出其中一個。

這九個粒子分別在前、左、右由上至下分布,實用unity的Quad網(wǎng)格作為發(fā)射器形狀:

粒子的初始旋轉(zhuǎn)角度還有速度也不一樣:上層粒子底部向外,中層粒子不旋轉(zhuǎn),下層粒子頂部向外;上層和下層粒子的初始速度會比中層的粒子的初始速度稍微慢一點。

粒子系統(tǒng)參數(shù):

柵欄破碎噴射的碎片粒子使用的貼圖不是我自己畫的,由于這個圖是黑白的,所以直接用貼圖的R值作為透明度,其他與普通粒子的Shader無異。

在材質(zhì)球上對顏色和貼圖進行設(shè)置:

效果:

五、最終效果

默認狀態(tài):

觸發(fā)狀態(tài):

相關(guān)的素材:

鏈接:https://pan.baidu.com/share/init?surl=V49SaVWIwun03l2yoemZ9w

提取碼:7diz

完整項目:

鏈接:https://pan.baidu.com/share/init?surl=DqgSbOz4c1VqgnTCd-zCfA

提取碼:gtpp




歡迎加入游戲開發(fā)群歡樂攪基:1082025059

對游戲開發(fā)感興趣的童鞋可戳這里進一步了解:levelpp.com/


【ShaderGraph】塞爾達神廟柵欄特效的評論 (共 條)

分享到微博請遵守國家法律
连州市| 富源县| 南皮县| 林西县| 新疆| 双辽市| 大方县| 齐河县| 黑龙江省| 镇宁| 边坝县| 龙州县| 柯坪县| 禄劝| 惠水县| 马关县| 井陉县| 北辰区| 通海县| 香格里拉县| 陈巴尔虎旗| 平邑县| 高安市| 林口县| 郑州市| 雅江县| 温州市| 舞阳县| 柞水县| 洪洞县| 紫阳县| 天祝| 阜城县| 兴宁市| 正宁县| 沈阳市| 安福县| 高密市| 建瓯市| 南平市| 左权县|