原創文章如需轉載請注明:轉載自 脫莫柔Unity3D學習之旅 QQ群:【119706192】本文鏈接地址: Unity3D ParticleSystem粒子系統(3.5版)【初級】
創建"粒子系統物體"(點擊菜單GameObject -> Create Other -> Particle System)
添加"粒子系統組件"(點擊Component -> Effects -> Particle System)
粒子系統檢視面板
點擊粒子系統檢視面板的右上角的"+"來增加新的模塊。(Show All Modules:顯示全部)
初始化模塊:
- 持續時間(Duration):粒子系統發射粒子的持續時間
- 循環(Looping):粒子系統是否循環
- 預熱(Prewarm):當looping開啟時,才能啟動預熱(Prewarm),游戲開始時粒子已經發射了一個周期。
- 初始延遲(Start Delay):粒子系統發射粒子之前的延遲。注意在prewarm(預熱)啟用下不能使用此項。
- 初始生命(Start Lifetime)以秒為單位,粒子存活數量。
- 初始速度(Start Speed):粒子發射時的速度。
- 初始大小(Start Size):粒子發射時的大小。
- 初始旋轉(Start Rotation):粒子發射時的旋轉值。
- 初始顏色(Start Color):粒子發射時的顏色。
- 重力修改器(Gravity Modifier):粒子在發射時受到的重力影響。
- 繼承速度(Inherit Velocity):---控制粒子速率的因素將繼承自粒子系統的移動(對於移動中的粒子系統)。
- 模擬空間(Simulation Space):粒子系統在自身坐標系還是世界坐標系。
- 喚醒時播放(Play On Awake):如果啟用粒子系統當在創建時,自動開始播放。
- 最大粒子數(Max Particles):粒子發射的最大數量
發射模塊(Emission):
控制粒子的發射時的速率,在粒子系統存續期間可以在某個時間生成大堆粒子(模擬爆炸)。
- 速率(Rate):每秒的粒子發射的數量 (小箭頭可選擇“每秒(Time)”或“每米(Distance)”)。
- 突發(Bursts):在粒子系統生存期間增加爆發
- 爆炸的時間 | 數量(Time | Particles):指定時間(在生存期內,以秒(Time)為單位時),將發射指定數量的粒子。用"+"或"-"調節爆發數量。
發射器形狀模塊(Shape):
發射器形狀內部隨機位置生成,並能提供初始的力,該力的方向將延表面法線或隨機方向發射。
- 球體【Sphere】
- 半徑(Radius):球體的半徑。
- 從外殼發射(Emit from Shell):從球體外殼發射。
- 隨機方向(Random Direction):隨機方向或是沿表面法線。
- 半球【Hemisphere】
- 半徑(Radius):半橢圓的半徑。
- 從外殼發射(Emit from Shell):從半橢圓外殼發射。
- 隨機方向(Random Direction):隨機方向或是沿表面法線。
- 錐體【Cone】喇叭~
- 角度(Angle):圓錐的角度(喇叭口)。如果是0,粒子將延一個方向發射(直筒)。
- 半徑(Radius ):發射口半徑。
- 立方體【Box】
- Box X:X軸的縮放值
- Box Y:Y軸的縮放值
- Box Z:Z軸的縮放值
- 隨機方向(Random Direction):粒子將延一個隨機方向發射(取消:延Z軸發射)。
- 網格【Mesh】
- 類型(Type):粒子將從頂點(Vertex)、邊(Edge)、或三角面(Triangle)發射。
- 網格(Mesh):選擇一個面作為發射面。
- 隨機方向(Random Direction):粒子發射將隨機方向或是沿表面法線。
存活時間的速度模塊(Velocity Over Lifetime):
粒子的直接動畫路徑。(通常用於復雜物理粒子,不過是簡單的視覺行為和物理世界的小互動,如與飄盪的煙霧和氣溫降低。)
- XYZ:使用常量曲線或在曲線中隨機去控制粒子的運動。
- Space:局部/世界 速度值在局部還是世界坐標系。
存活期間的限制速度模塊(Limit Velocity Over Lifetime):
-基本上被用於模擬的拖動。如果有了確定的閥值,將抑制或固定速率。可以通過坐標軸或向量調整。
- 分離軸(Separate Axis):用於每個坐標軸控制。
- ----速度(Speed):用常量或曲線指定來限制所有方向軸的速度。(未選中)
- ----XYZ:用不同的軸分別控制。見最大最小曲線。(選中)
- 阻尼(Dampen):(0-1)的值確定多少過度的速度將被減弱。(值為0.5,將以50%的速率降低速度)
存活期間的受力模塊(Force Over Lifetime):
- XYZ:使用常量或隨機曲線來控制作用於粒子上面的力。
- Space:Local自己的坐標系,World世界的坐標系。
- 隨機(Randomize):每幀作用在粒子上面的力都是隨機的。(兩組xyz時可選擇,隨機范圍是這兩組xyz之間的差值。)
存活時間的顏色模塊(Emission):
控制每個粒子存活期間的顏色(與初始顏色疊加)。粒子存活時間越短變化越快。
兩種顏色隨機比例互相疊加。
顏色速度模塊(Color By Speed):
使粒子顏色根據其速度動畫化。為顏色在1個特定范圍內重新指定速度。
- 顏色(Color):用於指定的顏色。使用漸變色來指定各種顏色。
- 顏色縮放(Color Scale):使用顏色縮放可以方便的調節純色和漸變色。
- 速度范圍(Speed Range):min和max值用來定義顏色速度范圍。
存活時間的大小模塊(Size Over Lifetime):
- 大小(Size):控制每個粒子在其存活期間內的大小。曲線,隨機雙曲線或隨機范圍數值。
存活時間的大小速度模塊(Size By Speed):
- 大小(Size):大小用於指定速度。用曲線表示各種大小。
- 速度范圍(Speed Range):min和max值用來定義大小速度范圍。
存活期間的旋轉速度模塊(Rotation Over Lifetime):
以度為單位指定值。
- 旋轉速度(Rotational Speed):控制每個粒子在其存活期間內的旋轉速度。使用常量,曲線,2曲線隨機。
旋轉速度模塊(Rotation By Speed):
- 旋轉速度(Rotational Speed):用來重新測量粒子的速度。使用曲線表示各種速度。
- 速度范圍(Speed Range):為min和max值用來定義旋轉速度范圍。
碰撞模塊(Collision Module):
為粒子系統建立碰撞。現在只有平面碰撞被支持,這個將很有效率的做簡單探測。
- 平面(Planes):Planes被定義為指定引用。可以動畫化。如果多個面被使用,Y軸作為平面的法線。
- 阻尼(Dampen):0-1 在碰撞后變慢。
- 反彈(Bounce):0-1 當粒子碰撞后的反彈力度。
- 生命減弱(Lifetime Loss):(0-1) 每次碰撞勝銘減弱的比例。0,碰撞后粒子正常死亡。1,碰撞后粒子立即死亡。
- 可視化(Visualization):可視化平面:網格還是實體
- -----網格(Grid):在場景渲染為輔助線框。
- ----實體(Solid):在場景渲染為平面。
- 縮放平面(Scale Plane):重新縮放平面
子粒子發射模塊(Sub Emitter):
可以生成其他粒子系統,用下列的粒子事件:出生、死亡、碰撞。
- 出生(Birth):在每個粒子出生的時候生成其他粒子系統
- 死亡(Death):在每個粒子死亡的時候生成其他粒子系統
- 碰撞(Collision):在每個粒子碰撞的時候生成其他粒子系統。重要的 碰撞需要建立碰撞模塊。見碰撞模塊
紋理層動畫模塊(Texture Sheet Animation):
在粒子存活期間動畫化UV坐標。動畫每幀可以顯示在表格或1個表格的每行,這樣將動畫分開。每幀可以用曲線動畫或者在2個曲線取隨機。速度被定義為"循環"、
注意:用於動畫的紋理是在渲染器模塊中材質找到使用的。
- 平鋪(Tiles):定義紋理的平鋪
- 動畫(Animation):指定動畫類型:整個表格或是單行。
- ----整個表(Whole Sheet):為UV動畫使用整個表格。
- -------時間幀(Frame over Time):在整個表格上控制UV動畫。使用常量,曲線,2曲線隨機。
- ----單行(Single Row):為UV動畫使用表格單獨一行。
- -------隨機行(Random Row):如果選擇第一行隨機,不選擇得指定行號(第一行是0)
- -------時間幀(Frame over Time):在1個特定行控制每個粒子的UV動畫。使用常量,曲線,2曲線隨機。
- 周期(Cycles):指定動畫速度。
渲染器模塊(Renderer):
渲染模塊顯示粒子系統渲染組件的屬性。注意:即使一個游戲物體有渲染粒子系統組件,當此模塊被刪除/添加后,它的屬性也只能顯示在這里。這個實際上是粒子系統渲染組件的添加和刪除。
- 渲染模式(Render Mode):選擇下列粒子渲染模式之一
- ----廣告牌(Billboard):讓粒子永遠面對攝像機。
- ----拉伸廣告牌(Stretched Billboard):粒子將通過下面屬性伸縮。
- -------攝像機縮放(Camera Scale):決定攝像機的速度對粒子伸縮的影響程度。
- -------速度縮放(Speed Scale):通過比較速度來決定粒子的長度。
- -------長度縮放(Length Scale):通過比較寬度來決定粒子的長度。
- ----水平廣告牌(Horizontal Billboard):讓粒子延Y軸對齊,面朝Y軸方向。
- ----垂直廣告牌(Vertical Billboard):當面對攝像機時,粒子延XZ軸對齊。
- ----網格(Mesh):粒子被渲染時使用mesh而不是quad。
- -------網格(Mesh):渲染粒子所用的網格引用。
- 材質(Material):材質。
- 排序模式(Sort Mode):繪畫順序可通過具體,生成早優先和生成晚優先。
- 排序校正(Sorting Fudge):使用這個將影響繪畫順序。粒子系統帶有更低sorting fudge值,更有可能被最后繪制,從而顯示在透明物體和其他粒子系統的前面 。
- 投射陰影(Cast Shadows):粒子能否投影?這是由材質決定的。
- 接受陰影(Receive Shadows):粒子能否接受陰影?這是由材質決定的。
- 最大粒子大小(Max Particle Size):設置最大粒子大小,相對於視窗大小。有效值為0-1。
粒子系統檢視面板
管理復雜的粒子效果,untiy提供了粒子編輯器,用戶從監事面板的粒子組件面板可以點擊"Open Editor"按鈕。