建立 3D 粒子系統

../../../_images/particle_node_new.webp

必需的粒子節點屬性

要開始使用粒子系統,首先需要在場景中加入一個 GPUParticles3D 節點。在能夠看到任何粒子之前,必須先在該節點上設定兩個參數:一個 處理材質(Process Material) 以及至少一個 繪製通道(Draw Pass)

處理材質

要為粒子節點新增處理材質,請在屬性面板(Inspector)中找到 Process Material。點擊 Process Material 旁的方框,然後從下拉選單中選擇 新建 ParticleProcessMaterial

../../../_images/particle_new_process_material.webp

建立處理材質

ParticleProcessMaterial 是一種特殊的材質,它並不是用來繪製物件,而是用來在 GPU 上更新粒子的數據與行為,取代原本在 CPU 執行的方式,這能大幅提升效能。點選新加入的處理材質後,會顯示一長串可調整的屬性,讓你控制每個粒子的行為。

繪製通道

../../../_images/particle_first_draw_pass.webp

至少需要一個繪製通道

為了讓粒子能夠被繪製,必須定義至少一個繪製通道。請在屬性面板中找到 Draw Passes,點擊 Pass 1 旁的方框,從下拉選單選擇 新建 QuadMesh。接著點擊該網格,將其 Size 設定為 x 與 y 都是 0.1。縮小網格尺寸可以讓你更容易分辨各個粒子的外觀。

每個粒子系統最多可使用 4 個繪製通道,每個通道都可以使用不同的網格與材質進行渲染。所有繪製通道都會共用處理材質所運算出的粒子資料,這是一種高效合成複雜特效的方法:只需一次計算粒子行為,即可應用於多個繪製通道。

../../../_images/particle_two_draw_passes.webp

使用多重繪製通道:黃色矩形(通道 1)、藍色球體(通道 2)

如果你按照上述步驟操作,現在你的粒子系統應該會以類似瀑布的方式發射粒子,讓它們往下移動並在幾秒後消失。這是所有粒子特效的基礎。你可以參考 粒子屬性 以及 粒子材質屬性 的文件,進一步學習如何讓你的粒子特效更加有趣。

../../../_images/particle_basic_system.webp

粒子轉換

../../../_images/particle_convert_cpu.webp

將 GPU 粒子轉換為 CPU 粒子

你可以隨時透過檢視區(Viewport)選單中的選項,將 GPU 粒子轉換為 CPU 粒子。但請注意,並非所有 GPU 粒子的功能在 CPU 粒子中都適用,因此轉換後的粒子系統在外觀和行為上可能會與原來有所不同。

如果不再需要 CPU 粒子,也可以將其轉換回 GPU 粒子,這同樣可以從檢視區選單中完成。

在轉換過程中,會失去以下幾項重要功能:

  • 多重繪製通道

  • 亂流

  • 子發射器

  • 拖尾

  • 吸引器

  • 碰撞

你也會失去以下屬性:

  • 數量比例

  • 插值至結束

  • 阻尼作為摩擦

  • 發射形狀偏移

  • 發射形狀縮放

  • 繼承速度比例

  • 速度樞紐

  • 方向速度

  • 徑向速度

  • 速度上限

  • 速度縮放

當你要在不支援現代圖形 API 的舊裝置上發行遊戲時,將 GPU 粒子轉換為 CPU 粒子可能是必要的。