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,这时候会发现粒子触发框移动到了粒子的中心。其他修改触发框位置的方法自己没有查找到,希望知道的伙伴们写在评论区,告知自己一下。