粒子特效能夠為游戲增添交互與響應能力,它們擅長創造許多運動和撞擊效果。粒子特效可用於創建魔法火球,漩渦狀的空間傳送門,或者將玩家的注意力引導到一個發光的寶箱。炫酷的視覺效果往往引人入勝。
今天我們將為大家分享來自Synapse Games的技術美術David Finseth的教程文章,他將介紹使用Unity中制作粒子特效的流程和開發技巧。本文中所使用的案例來自《Spellstone》和《Animation Throwdown》。
粒子特效的創作流程
在創作粒子特效,遵循的流程為:分解需求-》設計概念草圖-》開發實現概念設計-》測試效果。
分解需求
在開始制作一個粒子特效時,首要的事情就是明確特效的需求。以下這些問題答案將被作為特效觀感的限制與指導條件。你需要對這些問題的答案了然於心。
- 特效需要多大范圍?
- 特效需要持續多久?
- 特效應該如何觸發?
- 是否需要將特效分解為多個部分,以便可以通過代碼進行控制?
- 特效呈現的同時,是否還有其它可能會影響效果性能的操作在進行?
- 特效是否會與屏幕上的其它事物相互作用?
設計概念草圖
明確需求后,我們將對特效的整體外觀進行概念設計。如果效果是動態的,可能會是類似故事板的形式。如果效果是靜態的,比如一個環繞魔棒的光環,那通常一張簡單的草圖就可以了。
開發實現概念設計
大多數特效都是由多個組成部分互相層疊實現的。從大到小對特效的組成元素進行組合會比較順手,如果目標是一個序列效果,則會按順序從頭做到尾。
測試效果
特效通常與游戲的技術性元素息息相關,因此在游戲過程中基於實際效果對其進行測試和修改非常重要。我們需要修改一個特果的時間、比例和節奏,以便獲得最佳結果。
案例
現在讓我們通過來自《Spellstone》和《Animation Throwdown》的示例,完整的了解上面所講的流程。
《Animation Throwdown》中稀有卡片
《Animation Throwdown》中稀有卡片會發光,如下圖所示。

分解需求
- 需要與所有屏幕和彈出框的卡框互相影響
- 不能破壞卡牌藝術效果或改變其狀態
- 采用稀有的顏色和符號
- 隨着稀有性的提高變得更加精致
設計概念草圖

開發實現概念設計

粒子系統由多個不同組成部分層疊而成
測試效果
在測試這些發光效果時我們發現這個效果范圍太大,影響到了其它的卡牌。最終我們簡化了效果,使它恰好適應所有屏幕和彈出框。
《Spellstone》中的霜凍襲擊
《Spellstone》中霜凍襲擊中最終的冰霜光束特效,如下圖所示。

分解需求
- 龍的二個頭都要能使用
- 能與其它精靈互相影響
- 這是襲擊的高潮時刻,所以在觸發時應該有顯著的撞擊效果
- 可以持續任意長的時間,要看起來很酷
設計概念草圖
粒子系統需要讓玩家感覺到雙頭龍是個強勁的對手。我們希望冰霜之息是一道由冰雪組成的物理光束。為了增強龍在攻擊城堡時的畫面沖擊力,可以嘗試讓這些粒子的不透明度依次遞增,而不僅是一種氣息感或透明的效果。

開發實現概念設計

多個組成層疊后創建了最終冰霜光束效果
在這里,我們使用一個2D光束紋理拉伸到整個屏幕,創建基礎光束效果。然后添加粒子特效用於打斷光束,產生一種定向流動的效果。
最上面是三角形的發射物。這樣能產生冰柱從龍的嘴里射出的感覺。這個光束在末段通過粒子爆發來隱藏光束平面的邊緣,同時也能顯示出光束與城堡發生撞擊的位置。
測試效果
這個特效在游戲中表現很好,沒有對這個場景中其它動畫產生不良影響。
技巧與竅門
准備好在Unity中制作你自己的粒子特效了嗎?這里有一些有用的技巧,可以幫助我們的工作更加輕松。
Shape形狀

對於2D特效而言,最有用的形狀就是Box(盒狀)、Circle(圓形)和Edge(邊緣)。當使用盒形時,可以將Z設為0,從而消除深度。如果你想從某個中心點以放射狀發射粒子時,圓形將是最佳選擇。
我們可以主要使用Rotation(旋轉)、Scale(比例)、Gravity(重力),以及Force over Lifetime(生命周期作用力)這些組件為2D效果添加運動。要讓效果沿Y軸移動,重力是個很好的選擇,而要在X軸上移動粒子,通常會使用生命周期作用力。
渲染模式:Stretched Billboard
在使用Stretched Billboard渲染模式時,如果你還設置了Speed Scale,可以讓粒子沿一個軸向發散或收縮。你可以用這個創建一些相當有趣的效果,並利用到靜態紋理的更多范圍。

使用Stretched Billboard模式時,一個類似這樣的簡單圓形紋理可以成為爆炸線

在使用拉伸的粒子時,一個三角形紋理可以擠壓拉伸以表示速度
Emission發射組件屬性設置為Distance
將粒子的Emission發射組件屬性設置為distance,可以讓發射器在空間中位移時發射粒子。我經常將它應用在發射物上,如果你想讓粒子沿着某條路徑運動,也可以使用它。

注魔技能-使用distance粒子為卡牌描邊
Texture Sheet Animation紋理列表動畫組件
如果你想將精靈表動畫與粒子特效混合,可以使用Texture Sheet Animation紋理層動畫組件。我們可以使用這個組件來創建風格化的2D效果。

紋理列表動畫可以隨時間縮放創造出一個爆炸效果

應用於粒子系統的紋理
小結
在Unity中制作粒子特效就為大家介紹到這里,希望大家可以學以致用,在游戲中創作出精彩的粒子特效! 更多精彩文章盡在Unity Connect平台!