摘要
在本教程中,您將學習在 VFX Graph 中創(chuàng)建基于粒子驅動特效的基礎知識,然后學習創(chuàng)建特效。
1. 簡介
本教程基于Unity2021.1.16f1c1版本。內置了 Visual Effect Graph 。
Visual Effect Graph (VFX Graph) 是一個基于節(jié)點的編輯器,用于實時創(chuàng)建令人驚嘆的視覺效果。 利用圖形處理單元 (GPU) 和計算著色器的強大功能,VFX Graph 可以同時創(chuàng)作由數百萬個粒子組成的效果。 這種能力也是它最大的地方——使用 VFX Graph 創(chuàng)建的粒子系統(tǒng)不受場景中物理的影響,因為它們是在 GPU 上計算的,而 Unity 中的物理是在中央處理單元 (CPU) 上計算的。
2. 項目準備
VFX Graph 與 Unity 2018.3 版中引入的高清渲染管線 (HDRP) 打包在一起。 因此在開始之前,我們必須確保我們的項目已設置為 HDRP。
- 導航到 Window > Package Manager 并搜索 High Definition RP。
- 在右下角,安裝最新版本的高清渲染管線版本。
-
在 Assets 文件夾下右擊并找到 Create > Visual Effects > Visual Effect Graph。 將其命名為 Snow 或類似名稱。 創(chuàng)建一個新的 GameObject,并定位到它的 Inspector 視圖。 從那里,將您創(chuàng)建的vfx圖形拖到檢查器中。 或者,您可以將圖形拖到Hierarchy視圖中,然后將在您的場景中自動創(chuàng)建一個包含該效果的游戲對象。現(xiàn)在您可以在場景中看到您的效果回放。 雙擊圖形以在 VFX Graph 編輯器中打開它(圖 02)。
圖02:一個空的VFX Graph
3. 變量、節(jié)點、塊和上下文
乍一看,VFX Graph 與 Shader Graph 非常相似。 如果您熟悉 Shader Graph,那么 VFX Graph 中的一些概念可能也很熟悉。 在開始創(chuàng)建效果之前,讓我們探索 VFX Graph 的基本組件:變量、節(jié)點、塊和上下文。
上下文表示處理粒子的操作順序,并與 C# MonoBehaviour 腳本共享類似的結構:
- Spawn(類似于 Awake() 調用)
- Initialize(Start() 調用)
- Update(Update() 調用)
- Output(定義生成的粒子應該如何渲染到屏幕上)
塊是添加到每個上下文的操作(類似于在 Start() 或 Update() 調用中調用函數)。 可以通過在上下文中按空格鍵或在上下文中右鍵單擊并選擇創(chuàng)建塊來添加它們。
在上面的例子中,粒子被初始化為隨機速度和隨機壽命。
下圖解釋了每個上下文的目的(圖 03)。

變量存在于黑板上,用于驅動各種塊和節(jié)點的屬性(圖 04)。

要創(chuàng)建新變量,請單擊黑板右上角的 + 符號并選擇變量的數據類型。 從那里,只需將變量拖到要驅動的屬性旁邊,然后將變量的輸出拖到屬性的輸入(圖 05)。


當一個變量的 Exposed 屬性被選中時,它可以通過 VFX Graph 編輯器外部的 Inspector 進行修改。
節(jié)點執(zhí)行單獨的操作并鏈接在一起以執(zhí)行大型計算,就像它們在 Shader Graph 中的使用方式一樣。 它們可以代替變量來驅動塊的屬性(圖 06)。

4. 下一步
通過對 VFX Graph 基本概念的介紹,您現(xiàn)在可以利用 GPU 的強大功能實時模擬數百萬個粒子。 在下一個教程中,我們將介紹使用 VFX Graph 來模擬天氣效果,例如雨或雪。
