Unity3D之怎么實現粒子特效的碰撞


經過測試學習,總結了關於怎么讓粒子和物體發生碰撞和怎么讓粒子在碰撞后消失的幾點看法:

首先給大家看一下我的粒子系統的配置圖:

關於碰撞檢測的主要配置我們看圖中的Collision:

第一項:因為是一個3D游戲,所以這里我選擇的是World

第二項(Dampen):抑制(0~1),選這個為1時(完全抑制),碰撞之后,阻止了粒子,可以使碰撞的粒子消失

第三項(Bounce):反彈(0~2),選完這個之后,可以讓產生碰撞的粒子以某個角度反彈出去

第三項(Lifetime Loss):生命周期損失(0~1),碰撞之后讓粒子損失百分比的生命周期,為1時(生命周期完全損失),可以使粒子消失

第四項(Min Kill Speed):最小清除速度,設置值越大,粒子發生碰撞之后被移除的速度越快,當達到某個值之后,可以近似碰撞之后立即消失

第五項(Collides With):可碰撞范圍,設置可以與該粒子系統碰撞的層

第六項(Collision Quality):碰撞質量,設置發生碰撞的碰撞概率大小,選項三項從上到下由高到低,越低碰撞到的概率就越低

第七項(Send Collision Messages):發送碰撞信息,與下面這個方法有關

 

[csharp]  view plain copy
  1. // 需要處理的碰撞信息,放在被撞的物體身上  
  2. void OnParticleCollision(GameObject other) {  
  3.         
  4. }  


總結一下以上可以使粒子消失的方法有以下三種:

 

(1)設置Dampen為1;

(2)設置Lifetime Loss為1;

(3)設置較大的Min Kill Speed值


免責聲明!

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



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