Unity ParticleSystem用OnParticleTrigger制作简易炮弹触发爆炸效果

    private void OnParticleTrigger()//这里想实现爆炸效果和血条扣除
    {
        if (Bullet_lineParticleSystem != null)
        {
            numEnter = Bullet_lineParticleSystem.GetTriggerParticles(ParticleSystemTriggerEventType.Enter, enter, out var enterData);
            for (int i = 0; i < numEnter; i++)//进入区域多少粒子 
            {

                ParticleSystem.Particle p = enter[i];
                p.startSize =3f;//爆炸大小
                p.remainingLifetime = 0.05f;//爆炸时间
                p.startColor = new Color(1, 1, 0, 1);//黄色的爆炸光
                enter[i] = p;
            }
          Bullet_lineParticleSystem.SetTriggerParticles(ParticleSystemTriggerEventType.Enter, enter);
        }
    }

利用OnParticleTrigger的回调函数,当粒子触发到目标物体的时候,更改粒子的大小和颜色还有持续时间,这样就可以模拟出粒子撞到物体发生爆炸的效果。

这里Triggers Inside要设置成Ignore,Enter设置成CallBack触发OnParticleTrigger,Exit设置为Kill。

修改粒子触发框:

 勾选Visualize Bounds可以看见绿色的标记(如上图的绿色圆圈+十字),粒子的触发点在粒子的前端。这个自己希望触发点在粒子的中间,这时候就需要修改ParticleSystem的Renderer下的RendererMode为VerticalBillboard,这时候会发现粒子触发框移动到了粒子的中心。其他修改触发框位置的方法自己没有查找到,希望知道的伙伴们写在评论区,告知自己一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值