在Unity中制作粒子特效


粒子特效能夠為游戲增添交互與響應能力,它們擅長創造許多運動和撞擊效果。粒子特效可用於創建魔法火球,漩渦狀的空間傳送門,或者將玩家的注意力引導到一個發光的寶箱。炫酷的視覺效果往往引人入勝。
 
今天我們將為大家分享來自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平台!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM