天天看點

Unity3D粒子系統碰撞器,讓粒子碰撞到物體之後消失

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

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

Unity3D粒子系統碰撞器,讓粒子碰撞到物體之後消失
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):發送碰撞資訊,與下面這個方法有關

// 需要處理的碰撞資訊,放在被撞的物體身上
void OnParticleCollision(GameObject other) {
      
}
           

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

(1)設定Dampen為1;

(2)設定Lifetime Loss為1;

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

以上是我對粒子碰撞的看法,不知道有沒有錯的地方,如果有錯的地方歡迎指正,謝謝!

轉載請指明出處:http://blog.csdn.net/hongyouwei/article/details/44244055

繼續閱讀