Unity粒子系統詳解

接下來的圖片就是Unity2017.1.0f3 編輯器中的粒子系統模塊。
這裏寫圖片描述
瞭解粒子系統,必須先了解每一個屬性都代表了什麼,之後才能根據這些原理來調整出自己滿意的效果。
主面板ParticleSystem:
- Duration:粒子發射週期,如圖的意思就是在發射3.32秒以後進入下一個粒子發射週期。如果沒有勾選looping的話,3.32秒之後粒子會停止發射。
- Looping:粒子按照週期循環發射。
- Prewarm:預熱系統,比如說我有一個空間大小的粒子系統,但是粒子發射速度有限,我想在最開始的時候讓粒子充滿空間,此時就應該勾選Prewarm。
- StartDelay:粒子延時發射,勾選後,延長一段時間纔開始發射。
- StartLifeTime:粒子從發生到消失的時間長短。
- StartSpeed:粒子初始發生時候的速度。
- 3DStartSize:這個屬性是當你需要把粒子在某一個方向上擴大的時候使用。
- StartSize:粒子初始的大小。
- 3DStartRotation:需要在一個方向旋轉了子的時候可以使用。
- StartRotation:粒子初始旋轉。
- RandomizeRotation:隨機旋轉粒子方向,感覺在3D粒子的情況下,尤其是圓形的沒什麼用。
- StartColor:粒子初始顏色,可以調整加上漸變色。
- GravityModifier:重力修正。
- SimulationSpace:a.Local,此時粒子會跟隨父級物體移動。b.World,此時粒子不會跟隨父級移動。c.Custom,粒子會跟着指定的物體移動。
- SimulationSpeed:根據Update模擬的速度。
- DeltaTime:一版的DeltaTime都是1,如果需要用到Sacled是在遊戲需要暫停的時候,根據TimeManager來定。如果選擇UnScale的話,就會忽略時間的影響。
- ScalingMode:Local:粒子系統的縮放和自己Transform的一樣會忽略父級的縮放。Hierarchy:粒子縮放跟隨父級。Shape:將粒子系統跟隨初始位置,但是不會影響粒子系統的大小。
- EmitterVelocity:
- MaxParticles:粒子系統可以同時存在的最大粒子數量。如果粒子書數量超過最大值粒子系統會銷燬一部分粒子。
- AutonRandomSeed:隨機種子,如果勾選會生成完全不同不重複的粒子效果,如果勾選即爲可重複。


Emission模塊
這裏寫圖片描述

  • RateOverTime:隨單位時間生成粒子的數量。
  • RateOverDistance:隨着移動距離產生的粒子數量。只有當粒子系統移動時,才發射粒子。
  • Bursts:
    • Time:從第幾秒開始。
    • Min:最小粒子數量。
    • Max:最大的粒子數量,粒子的數量會在Min和Max之間隨機。
    • Cycles:在一個週期中循環的次數。
    • Interval:兩次兩次Cycles的間隔時間。

Trailer模塊

這裏寫圖片描述
如果使用Trails模塊的話,必須在Renderer中給TrailMaterial賦值。
- Ratio:分配給某個粒子拖尾的機率。
- Lifetime:拖尾存在的時間。
- MinimumVertexDistance:定義粒子在其Trail接收到新頂點之前必須行進的距離。接受新頂點以爲重新定位Trail。
- TextureMode:
- WorldSpace:如果選用,即使應用LocalSimulationSpace,Trail頂點也不會隨着粒子系統的物體移動。並且,Trail會進入世界座標系,並且忽略任何粒子系統的移動。
- DieWithParticle:Trail跟隨粒子系統銷燬。
- SizeAffectsWidth:如果勾選的話,Trail的寬度會乘粒子系統的尺寸。
- SizeAffectsLifetime:Trail的Lifetime乘以粒子系統的尺寸。
- InheritParticleColor:Trail的顏色會根據粒子的顏色調整。
- ColorOverTrail:用於控制Trail在曲線上的顏色。
- WidthOverTrail:用於控制Trail在曲線上的寬度。


TextureSheetAnimation模塊
這裏寫圖片描述

  • Mode:
    • Grid:用網格來實現。
    • Sprite:通過相同尺寸的Sprite實現粒子動畫。
  • Tiles:網格的行列數。
  • Animation:
    • WholeSheet:動畫作用於整個表格。
    • SingleRow:動畫只用於單獨一行。有一個隨機的選項可以選擇或者是選擇單獨的一行來做動畫。
  • FrameOverTime:根據時間來播放幀,橫座標是1s,縱座標是幀數。
  • StartFrame:開始的幀是哪一幀。
  • Cycles:在1秒之內循環播放的次數。
  • FlipU:翻轉U。
  • FlipV:翻轉V。
  • EnabledUVChannels:

Renderer模塊
這裏寫圖片描述

  • RenderMode:
    • Billboard:粒子總是面對相機。
    • StretchedBillboard:伸展板,可以根據相機,速度,長度來調節粒子的縮放。
    • HorizontalBillboard:粒子平面平行於Floor平面。
    • VerticalBillboard:粒子平面平行於世界座標的Y軸,但是面向相機。
    • Mesh:將粒子渲染到網格上去。
  • TrailMaterial:需要使用拖尾效果的時候,才附材質。
  • Material:用於渲染粒子的材質。
  • SortMode:
    • ByDistance:根據粒子離相機的距離渲染。
    • OldestInFront:先渲染出來的在最上層。
    • YoungestInFront:後渲染出來的在最上層。
  • SortingFudge:排序容差,僅影響整個系統在場景中出現的位置。Sorting值越小,就越容易粒子系統在其它透明的GameObjects上繪製的機會。
  • Pivot:修改粒子渲染的軸點。
  • VisualizePivot:可視化軸點。
  • Masking:
  • CustomVertexStreams:在材質的頂點着色器中配置哪些粒子屬性可用。
  • CastShadows:使用陰影。
  • ReceiveShadows:規定陰影是否可以投射到粒子上,只有Opaque(不透明)的材質可以接受陰影。
  • MotionVectors:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章