Unity中 ShaderGraph 實(shí)現(xiàn)超級炫酷的溶解效果入門級教程
前言
若你的工程還沒有進(jìn)行基礎(chǔ)配置,請查看我的博文Unity 之 ShaderGraph入門使用詳解,按照步驟操作完成配置即可,還能順便學(xué)習(xí)一下基礎(chǔ)操作流程哦~
本文手把手教你制作超級炫酷的溶解效果,入門級教程,還不快動手試試?有經(jīng)驗(yàn)的童鞋可以直接跳到最后一步,按照圖示搭建即可。
一,效果展示
老規(guī)矩,直接上效果圖:(最高端的效果只需要最簡單的模型呈現(xiàn))

沒學(xué)習(xí)Shader Graph之前:我靠😱 !這效果有點(diǎn)牛啊,那個(gè)大佬寫的?
學(xué)習(xí)了Shader Graph之后:我去😒 !就這?豈不是有手就行?
二,原理介紹
通過主節(jié)點(diǎn)Alpha Clip Thresholdα剪輯閾值屬性,來控制顯示隱藏(取值范圍0-1),意為Alpha輸入的大于“α剪輯閾值”則顯示,否則隱藏。(Alpha:0-1代表白色-黑色)
創(chuàng)建Simple Noise節(jié)點(diǎn)控制Alpha,調(diào)節(jié)Simple Noise節(jié)點(diǎn)Scale屬性控制大小,調(diào)整Alpha Clip Threshold控制顯示隱藏,效果如下:

怎么樣?是不是覺得看完原理介紹就不用往下看了?
讀者😈 :就這?😒 在此基礎(chǔ)上隨便加一個(gè)Time時(shí)間節(jié)點(diǎn)控制一下自動溶解,再加一個(gè)Color顏色節(jié)點(diǎn)修改下顏色不就實(shí)現(xiàn)了開篇時(shí)展示的效果,這么簡單的制作也好意思單獨(dú)拿出來水一篇文章?
嘗試第一步,添加顏色節(jié)點(diǎn),連接如下圖,結(jié)果發(fā)現(xiàn)不但顏色沒加上,預(yù)覽圖連球都顯示不出來了🙃 …

嘗試第二步,添加顏色節(jié)點(diǎn),連接如下圖,結(jié)果發(fā)現(xiàn)溶解效果是有顏色了,但是效果看起來還不如不加顏色了…

作者👿 :Emm…🙄 雖說我這是入門級文章,要是這么簡單也不至于寫這么長吧,如果你做到了第二步這個(gè)效果的話,距離成功就還差一點(diǎn)點(diǎn)了(使用Step節(jié)點(diǎn))要是明白了呢?就去嘗試。表示看不懂什么意思的話,還是繼續(xù)往下看吧~
三,實(shí)現(xiàn)效果
準(zhǔn)備工作
在Project面板右鍵 --> Create --> Shader --> PBRGraph(我這里命名為“DissolvePBRGraph”),然后雙擊打開編輯器面板:

實(shí)現(xiàn)溶解
創(chuàng)建兩個(gè)Vector 1節(jié)點(diǎn)并將其設(shè)置為公開屬性(選中節(jié)點(diǎn)右鍵選擇“Convert To Property”)分別命名為"Width"和”NoiseScale“,然后創(chuàng)建Simple Noise節(jié)點(diǎn),和主節(jié)點(diǎn)連接情況如下:

添加顏色
創(chuàng)建Color顏色節(jié)點(diǎn)的并將其設(shè)置為公開屬性,創(chuàng)建Step節(jié)點(diǎn)(作用:如果輸入In的值大于或等于輸入Edge的值,則返回 1,否則返回 0。)創(chuàng)建Multiply乘法節(jié)點(diǎn),連接情況如下:

PS:這里我將Color顏色節(jié)點(diǎn)的模式調(diào)整為HDR是為了增加亮度,可按需修改。
自動溶解
創(chuàng)建Time時(shí)間節(jié)點(diǎn),為了效果我選擇使用其Sine Time輸出,所以為保證輸出值一直為正數(shù),添加Remap節(jié)點(diǎn)控制其輸出映射為0-1之間。然后添加Add加法節(jié)點(diǎn),用于連接時(shí)間節(jié)點(diǎn)和"Width"屬性值,最終連接情況如下:

記得點(diǎn)擊左上角的"Save Asset"保存一下哦~
四,使用示例
創(chuàng)建材質(zhì)球并使用剛制作的Shader
這里提供一個(gè)快捷創(chuàng)建材質(zhì)球的方法,鼠標(biāo)選中我們保存的“DissolvePBRGraph”文件,然后右鍵創(chuàng)建材質(zhì)球,這樣我們創(chuàng)建出來的材質(zhì)球,就自動使用這個(gè)Shader了。

在“Hierarchy”面板創(chuàng)建Sphere,并將剛剛創(chuàng)建的材質(zhì)球賦值給它,得到結(jié)果如下:

若需要多個(gè)不同顏色不同效果的溶解效果,復(fù)制材質(zhì)球修改公開屬性即可。
五,完整圖示

到此這篇關(guān)于Unity中的 ShaderGraph 實(shí)現(xiàn)超級炫酷的溶解效果入門級教程的文章就介紹到這了,更多相關(guān)Unity ShaderGraph 溶解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#設(shè)計(jì)模式之Observer觀察者模式解決牛頓童鞋成績問題示例
這篇文章主要介紹了C#設(shè)計(jì)模式之Observer觀察者模式解決牛頓童鞋成績問題,簡單講述了觀察者模式的原理并結(jié)合具體實(shí)例形式分析了使用觀察者模式解決牛頓童鞋成績問題的具體步驟相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-09-09
關(guān)于C#生成MongoDB中ObjectId的實(shí)現(xiàn)方法
本篇文章小編為大家介紹,關(guān)于C#生成MongoDB中ObjectId的實(shí)現(xiàn)方法。需要的朋友參考下2013-04-04
C# string格式的日期時(shí)間字符串轉(zhuǎn)為DateTime類型的方法
這篇文章主要介紹了C# string格式的日期時(shí)間字符串轉(zhuǎn)為DateTime類型的方法,需要的朋友可以參考下2017-02-02
C# 總結(jié)QueueUserWorkItem傳參幾種方式案例詳解
這篇文章主要介紹了C# 總結(jié)QueueUserWorkItem傳參幾種方式案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
C#向數(shù)據(jù)庫中插入或更新null空值與延遲加載lazy
這篇文章介紹了C#向數(shù)據(jù)庫中插入或更新null空值與延遲加載lazy,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
淺談C#手機(jī)號換成111XXXX1111 這種顯示的解決思路
下面小編就為大家?guī)硪黄獪\談C#手機(jī)號換成111XXXX1111 這種顯示的解決思路。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11

