Unity 之 ShaderGraph 实现自发光和能量护盾效果入门级教程
Unity 之 ShaderGraph 實現自發光和能量護盾效果入門級教程
- 前言
- 一,效果展示
- 二,原理介紹
- 三,發光效果
- 2.1 準備工作
- 2.2 開始制作
- 2.3 實際使用
- 四,護盾效果
- 2.1 準備工作
- 2.2 開始制作
- 2.3 多種護盾
- 五,完整圖示
- 5.1 自發光效果
- 5.2 能量護盾效果
前言
若你的工程還沒有進行基礎配置,請查看我的博文Unity 之 ShaderGraph入門使用詳解,按照步驟操作完成配置即可,還能順便學習一下基礎操作流程哦~
本文手把手教你制作自發光和能量護盾效果,入門級教程,還不快動手試試?有經驗的童鞋可以直接跳到最后一步,按照圖示搭建即可。
一,效果展示
老規矩,直接上效果圖:(實際效果要比這個好看)
這個動圖看起來怪怪的,為展示實際效果,再補發一張,動圖中間部分是錄屏的原因,不會影響最終制作效果:
沒學習Shader Graph之前:我靠😱 !這效果有點牛啊,那個大佬寫的?
學習了Shader Graph之后:我去😒 !就這?豈不是有手就行?
二,原理介紹
兩種效果都是通過Fresnel Effect菲涅耳節點的菲涅耳效應來實現的。
菲涅耳效應:簡單的說,物體在不同角度觀察下,表面的反射率是不一樣的。菲涅耳效應模擬的就是物體材質反射率隨角度改變的效果。這種效果經常被用來實現邊緣照明,這在很多藝術風格中都很常見。
Shader Graph 中的Fresnel Effect菲涅耳節點:
三,發光效果
2.1 準備工作
在Project面板右鍵 --> Create --> Shader --> PBRGraph(我這里命名為“OuterGlowPBRGraph”),然后雙擊打開編輯器面板:
2.2 開始制作
實現自發光
創建Fresnel Effect菲涅耳節點,因為是自發光效果所以還需要創建一個Time節點,然后在創建一個Multiply乘法節點將其連接如下:
優化顯示
由上圖可以看出當Time節點輸出小于0時,材質完全顯示為黑色。這樣的效果可不行,所以我們需要限制一下Time節點的輸出,所以添加一個Remap重新映射節點,這個節點我們可以根據輸入值,在輸入限定的最大最小值之間的差值,返回在輸出的限定范圍重新映射值。(比如:輸入In:0,輸入Min:-1,Max:1; 輸出Min:0,Max:10; 則此時返回值是5)。將此節點插入到Time和Multiply中間,并將其Out Min Maxx修改為(0.2,1):
添加顏色
其實上面兩步就實現了一個基本的自發光的效果,因為通常情況下使用都需要修改顏色,所以我們也添加一個Color顏色節點,并將其制作為外部可修改的屬性。
制作步驟:創建Color顏色節點并將其設置為公開屬性(選中節點右鍵選擇“Convert To Property”),然后再創建一個Multiply乘法節點,節點連接如下:
最后記得點擊左上角的"Save Asset"保存一下哦~
2.3 實際使用
創建材質球并使用剛制作的Shader
這里提供一個快捷創建材質球的方法,鼠標選中我們保存的“OuterGlowPBRGraph”文件,然后右鍵創建材質球,這樣我們創建出來的材質球,就自動使用這個Shader了。
在“Hierarchy”面板創建Sphere,并將剛剛創建的材質球賦值給它,得到結果如下:
為材質球的公開屬性賦值,調試效果:
四,護盾效果
2.1 準備工作
在Project面板右鍵 --> Create --> Shader --> UnlitGraph(我這里命名為“ShieldUnlitGraph”),然后雙擊打開編輯器面板:
2.2 開始制作
創建菲涅爾節點和顏色節點
創建Fresnel Effect菲涅耳節點和Color顏色節點,然后在創建一個Multiply乘法節點將其連接如下:
為了后續方便調整效果直接將Color顏色節點聲明為公開屬性(選中節點右鍵選擇“Convert To Property”)
添加控制時間節點
動態實現:還是通過最常見的時間節點和常量做乘機的方式實現,創建Time,Vector1,Multiply三個節點,并將Vector1節點設置為公開,連接如下:
添加貼圖和偏移節點
創建Sample Texture 2D和Texture 2D Asset節點用來控制貼圖顯示(Texture 2D Asset節點設置為公開),添加Tilling And Offset節點用來控制貼圖偏移,從而達到移動的效果,節點連接關系如下:
讓貼圖動起來
將2步驟中的Multiply乘法節點的輸出連接到3步驟Tilling And Offset的Offset輸入上,即可看到移動效果:
連接剩下節點
在添加Multiply乘法節點將貼圖節點和菲涅爾節點輸出連接起來,然后將其輸出連接到主節點Alpha透明度通道;最后將主節點的“Surface”屬性設置為“Transparent”透明的:
記得點擊左上角的"Save Asset"保存一下哦~
2.3 多種護盾
使用和上面自發光的使用方式一樣:
多種形態的護盾,可以通過顏色的變化,貼圖的變換來進行區分。
實現不同形狀的護盾,也只需要將其應用到不同的模型網格上即可,這里我創建Capsule和Sphere就得到了兩種不同形狀的護盾:
五,完整圖示
5.1 自發光效果
5.2 能量護盾效果
能量效果用的的貼圖是隨便在網上找的就不貼出來了(直接搜索網格隨便照一張都可以用)
總結
以上是生活随笔為你收集整理的Unity 之 ShaderGraph 实现自发光和能量护盾效果入门级教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中的文件IO
- 下一篇: java宝典app,总结到位