前言
參考鏈接:- VFXGraph官方文檔:(https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@6.9/manual/index.html)
- VFXGraph官方教程:
(https://learn.unity.com/project/making-snow-with-vfx-graph?uv=2019.4)
一、VFXGraph是什么?
- 官方定義: Visual Effect Graph 是一個可用於為 Unity 項目創建大規模視覺效果的包。Visual Effect Graph 利用 GPU 模擬粒子行為,可模擬的粒子數量遠遠超過內置粒子系統。
- 特點:依靠GPU計算渲染;百萬個粒子的渲染性能;
二、VFXGraph使用配置
- 安裝Visual Effect Graph
打開Unity第三方包管理器 Window>Package Manager>Visual Effect Graph.
每個 Visual Effect Graph 包都使用相同版本的 Scriptable Render Pipeline 包。如果要升級 Visual Effect Graph 包,還必須升級正在使用的渲染管道包。
- 創建 VFXGraph可編輯腳本
In Unity, click Assets > Create > Visual Effects > Visual Effect Graph.
雙擊,或在菜單:Window_ > Visual Effects 打開可視化編輯界面.
三、VFXGraph可視化界面介紹
VFXGraph與ShaderGraph非常相似。如果您熟悉ShaderGraph,那么VFXGraph中的一些概念可能也很熟悉。在開始創建效果之前,讓我們探索VFXGraph 的基本組件:變量(Variables)、節點(Nodes)、塊(Blocks)和上下文(Contexts)。
1.Contexts
上下文(Context)詞義解釋:是一個場景,描述的是一個應用程序環境的信息,即上下文,代表與操作系統的交互的一種過程。
在這里Context表示處理粒子的操作順序,並與C#MonoBehaviour 腳本共享類似的結構:
- Spawn(類似於 Awake() 調用)
- Initialize(Start() 調用)
- Update(Update() 調用)
- Output(定義生成的粒子應該如何渲染到屏幕上)
2.Blocks
塊(Blocks)添加到每個上下文的操作(類似於在 Start() 或 Update() 調用中調用函數)。可以通過在Contexts中按空格鍵或在Contexts中右鍵單擊並選擇Create Block 來添加它們。
3.Variables
變量(Variables)存在於黑板上,用於驅動各種塊和節點的屬性.
要創建新變量,請單擊Blackboard 右上角的+符號並選擇變量的數據類型。從那里,只需將變量拖到要驅動的屬性旁邊,然后將變量的輸出拖到屬性的輸入。
這些數據類型直接對應於在傳統的基於着色器的粒子系統中聲明的數據類型。請注意 Spawn Rate 變量如何用於驅動 Periodic Burst Block 的 Count 屬性。
當一個變量的 Exposed 屬性被選中時,它可以通過 VFX Graph 編輯器外部的 Inspector 進行修改。
4.Nodes
節點(Nodes)執行單獨的操作並鏈接在一起以執行大型計算,就像它們在ShaderGraph中的使用方式一樣。它們可以用來代替變量來驅動塊的屬性.
四、總結
//TODO