Unity-使用內(nèi)置粒子系統(tǒng)
Unity 的內(nèi)置粒子系統(tǒng)可用于為 Unity 支持的每個平臺創(chuàng)建粒子效果。內(nèi)置粒子系統(tǒng)在 CPU 上模擬粒子行為,這種技術具有以下主要優(yōu)點:
您可以使用 C# 腳本與系統(tǒng)及其中的各個粒子進行交互。
粒子系統(tǒng)可以使用 Unity 的基礎物理系統(tǒng),從而與場景中的碰撞體進行交互。

內(nèi)置粒子系統(tǒng)使用一個組件,因此將粒子系統(tǒng)放置在場景中涉及到添加預制的游戲對象(菜單:__GameObject__ >?Effects?>?Particle System__)或將組件添加到現(xiàn)有游戲對象(菜單:__Component?>?Effects?>?Particle System__)。由于組件非常復雜,因此 Inspector 分為多個可折疊子部分或__模塊__,每個子部分或模塊都包含一組相關屬性。此外,可使用單獨的 Editor 窗口(通過 Inspector 中的?Open Window__ 按鈕訪問)同時編輯一個或多個系統(tǒng)。請參閱有關粒子系統(tǒng)組件和各個粒子系統(tǒng)模塊的文檔,了解更多信息。
選擇帶有粒子系統(tǒng)的游戲對象時,Scene 視圖包含一個小的?Particle Effect?面板,其中有一些簡單控件,用于顯示對系統(tǒng)設置的更改。

Playback Speed?用于加快或減慢粒子模擬速度,可以直觀查看在高級狀態(tài)下的效果。Playback Time?表示自系統(tǒng)啟動以來經(jīng)過的時間;這可能比實時更快或更慢,具體取決于播放速度。Particle Count?表示系統(tǒng)中當前有多少粒子。通過單擊?Playback Time?標簽并向左和向右拖動鼠標,即可前后移動播放時間。面板頂部的按鈕可用于暫停和恢復模擬,或停止模擬并重置為初始狀態(tài)。
隨時間推移而變化的屬性
粒子甚至整個粒子系統(tǒng)的許多數(shù)字屬性都可能隨時間而變化。Unity 提供了幾種不同的方法來指定這種變化的發(fā)生方式:
__Constant:__屬性的值在其整個生命周期內(nèi)是固定的。
__Curve:__該值由曲線/圖形指定。
__Random Between Two Constants:__兩個常量值定義了值的上限和下限;實際值隨著時間的推移在這些邊界之間隨機變化。
__Random Between Two Curves:__兩條曲線定義了值在生命周期內(nèi)給定點的上限和下限;當前值在這些邊界之間隨機變化。
將屬性設置為?Curve?或?Random Between Two Curves?時,粒子系統(tǒng)曲線編輯器 (Particle System Curves Editor) 將顯示在 Inspector 的底部:

要編輯曲線,請單擊并拖動結束點或關鍵點以調(diào)整曲線形狀:

粒子系統(tǒng)曲線與動畫曲線類似。如需了解關于使用曲線的更多信息,請參閱有關編輯曲線的文檔。
粒子系統(tǒng)曲線編輯器具有以下按鈕:
__Optimize__:使曲線適應四個或更少的關鍵點以構建稱為多項式 (Polynomial) 的快速計算器,這比讀取未優(yōu)化的曲線更有效。
__Remove__:刪除選定的曲線。
要編輯粒子系統(tǒng)播放曲線的方式,請單擊所選關鍵點旁邊的齒輪圖標,然后選擇以下選項之一:
__Loop__:在粒子的生命周期內(nèi)以指定的次數(shù)播放曲線。例如,如果制作一條縮放粒子大小的曲線,可以指定其多次循環(huán),這會使“大小縮放”動畫在粒子消亡之前多次播放,而不是僅播放一次。
Ping Pong__:與?Loop__ 相似,但以連續(xù)振蕩的方式依次向前和向后播放曲線。
__Clamp__:將超出曲線時間范圍的粒子查詢限制為曲線的第一個或最后一個值。
主模塊中的?Start Color?屬性具有以下選項:
__Color:__所有粒子在粒子系統(tǒng)的整個生命周期內(nèi)都是以這種顏色開始。粒子在自身的生命周期中仍可以改變顏色。
__Gradient:__粒子系統(tǒng)發(fā)出的粒子以漸變開始時的顏色開始,而以漸變結束時的顏色結束。漸變線代表粒子系統(tǒng)的生命周期;粒子系統(tǒng)在對應于粒子系統(tǒng)當前的存在時間點處從漸變中選擇一種顏色。
__Random Between Two Colors:__粒子系統(tǒng)選擇兩種給定顏色之間的隨機線性插值作為初始粒子顏色。
__Random Between Two Gradients:__粒子系統(tǒng)在對應于該系統(tǒng)當前的存在時間點處從每個給定漸變中選擇一種顏色。選擇兩種選定顏色之間的隨機線性插值作為初始粒子顏色。
Random Color:__類似于?Gradient__ 模式(這種情況下,粒子從定義的?Gradient?中選取初始顏色)。但是,在這種模式下,粒子系統(tǒng)不會根據(jù)粒子系統(tǒng)的存在時間來選擇樣本,而是會隨機進行選擇。此模式還很適合與漸變編輯器 (Gradient Editor) 內(nèi)部的?Fixed Gradient Mode?配合使用。啟用此選項后,可以選擇一組預定義的精確起始顏色,然后將概率應用于每種顏色。
其他顏色屬性(例如?Color over Lifetime__)可以使用?Gradient__ 或?Random Between Two Gradients?模式。
要計算最終的粒子顏色結果,粒子系統(tǒng)將各種模塊中的顏色屬性按照每個通道相乘。
為粒子設置?Gradient?顏色時,將顯示漸變編輯器 (Gradient Editor):

__Mode:__確定是否混合粒子顏色設置。
__Color:__顯示漸變中當前所選關鍵點的顏色。使用此項可以編輯漸變中該位置的顏色。
__Location:__顯示當前所選關鍵點在漸變上的距離。
__Presets:__保存漸變設置。單擊 New 可將當前值集設置為漸變預設。
各種模塊中的顏色屬性按照每個通道相乘,從而計算出最終的粒子顏色結果。
動畫綁定
動畫系統(tǒng)可以訪問所有粒子屬性,這意味著可以將它們設置到關鍵幀中并從動畫中控制它們。
要訪問粒子系統(tǒng)的屬性,必須有一個 Animator 組件連接到粒子系統(tǒng)的游戲對象。此外還需要動畫控制器 (Animation Controller) 和動畫。

要動畫化粒子系統(tǒng)屬性,請打開?Animation 窗口__,并選擇包含 Animator 和粒子系統(tǒng)的游戲對象。單擊?Add Property__ 以添加屬性。

向右滾動以顯示__添加控件__。

請注意,對于曲線,只能對整體__曲線乘數(shù)__進行關鍵幀設置(可在?Inspector?中的曲線編輯器旁邊找到該曲線乘數(shù))。
Unity-使用內(nèi)置粒子系統(tǒng)的評論 (共 條)
