unity粒子系统碰撞

粒子系统中有一项是collision,与粒子系统之外的产生碰撞mode选择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) 
{
    if(other.transform.CompareTo("water"))
    {
        m_life--;
     }

}

而这个函数要放在被碰撞的物体上。

因此,我要实现灭火器来灭火,火是一个粒子系统,灭火器上的水(或烟)也是一个粒子系统,当灭火器的水与火碰撞时,火的生命值降低,所以在火的脚本添加这个函数

而 在水的粒子系统之勾选Collision,并设置相关参数,在火上添加碰撞体。若火上不添加碰撞体,只是勾选了粒子系统里的Collison,是无效的。上面的函数并不会被执行。


  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值