Unity 之 ShaderGraph 實作火焰效果入門級教程
- 前言
- 一,效果展示
- 二,原理介紹
- 三,實作效果
- 四,使用示例
- 五,完整圖示
前言
若你的工程還沒有進行基礎配置,請查看我的博文Unity 之 ShaderGraph入門使用詳解,按照步驟操作完成配置即可,還能順便學習一下基礎操作流程哦~
本文手把手教你制作超級炫酷的火焰效果,入門級教程,還不快動手試試?有經驗的童鞋可以直接跳到最后一步,按照圖示搭建即可,
一,效果展示
老規矩,直接上效果圖:

沒學習Shader Graph之前:我靠😱 !這效果有點牛啊,那個大佬寫的?
學習了Shader Graph之后:我去😒 !就這?豈不是有手就行?
二,原理介紹
通過Tiling And Offset節點分別對Voronoi泰森多邊形節點和Gradient Noise漸變噪聲節點進行偏移移動,然后通過顏色,貼圖各種疊加和透明度設定,從而到達模擬火苗的動態效果,

三,實作效果
-
準備作業
在Project面板右鍵 --> Create --> Shader --> PBRGraph(我這里命名為“FlamePBRGraph”),然后雙擊打開編輯器面板:

-
讓噪音動起來
編輯區域空白處“右鍵” --> Create Note 創建Time時間節點,Vector2節點控制偏移(設定Y值為-0.2),Tiling And Offset鋪滿和偏移節點和Gradient Noise漸變噪聲節點,Vector1節點控制噪音大小(設定X值為10),連接如下:

將Vector2和Vector1設定為公開屬性(選中節點右鍵選擇“Convert To Property”)分別命名為"NoiseSpeed"和”NoiseScale“并將其默認值設定為-0.2和10,結果如下:

-
讓細胞動起來
創建Vector2節點控制偏移(將其設定公開命名為“VoronoiSpeed”,y值調整為-0.5),創建Tiling And Offset鋪滿和偏移節點和Voronoi泰森多邊形節點,Vector1節點控制細胞密度大小(將其設定公開命名為“VoronoiCell”,默認值為2),連接如下:

這樣我們就得到了兩種形式的向上移動的影像了 -
控制“火勢”強弱
創建Power乘方節點(控制Voronoi邊緣強度)和Vector1節點用于控制冪指數(將其設定公開,命名為“Density”,默認值為1)將Vector1和Voronoi連接到Power輸入,如下圖:

-
效果疊加
創建Multiply乘法節點,將Gradient Noise節點和計算后的Power節點輸出組合起來,效果如下:

-
加貼圖加顏色
創建兩個Multiply乘法節點一個用于合并貼圖一個用于合并顏色,加貼圖就需要創建Texture 2D Asset(設定為公開屬性,命名為”MainTexture“,賦值默認工程中圖)和Sample Texture節點,加顏色就創建Color顏色節點(設定為公開屬性,命名為”MainColor“,設定為HDR模式,任意賦值),將其連接如下:

-
最后一步
將經過計算的Multiply乘法節點輸出連接到主節點的’Albedo’和’Alpha’上,最后點擊主節點的“設定”按鈕,將“Surface”屬性設定為“Transparent”,如下圖:

記得點擊左上角的"Save Asset"保存一下哦~
四,使用示例
-
創建材質球并使用剛制作的Shader
這里提供一個快捷創建材質球的方法,滑鼠選中我們保存的“FlamePBRGraph”檔案,然后右鍵創建材質球,這樣我們創建出來的材質球,就自動使用這個Shader了,

-
在“Hierarchy”面板創建Plane,并將剛剛創建的材質球賦值給它,得到結果如下:

-
若需要多個不同顏色或者不同形狀的火焰效果,復制材質球修改公開顏色或貼圖屬性即可:

五,完整圖示

開篇效果用到的兩張貼圖:


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290523.html
標籤:其他
上一篇:C語言小惡搞之猜數字游戲
