粒子特效碰撞需要和射线一起使用
玩家受到的粒子碰撞检测,注意以下内容必须全部做到,要不然粒子特效检测无法使用,无法检测到。
private void OnParticleCollision(GameObject other)
{
//检测玩家受到的伤害是否来自敌人
if (other.CompareTag("Enemy"))
{
blood -= 1;
if (blood == 0)
{
Destroy(gameObject);
Time.timeScale = 0;
}
print("玩家血量:" + blood);
}
}
敌人受到的粒子碰撞检测
private void OnParticleCollision(GameObject other)//粒子触发器
{
if (other.CompareTag("Player"))
{
blood -= 1;
print(blood);
if (blood == 0)
{
Destroy(gameObject);
number--;
print(number);
}
}
}
这里需要注意到,需要在粒子特效组件上修改相应的内容
需要找到Collision
找到Type,选择World,并勾选Send Collision Messages
只有把上面的操作都做到了才可以实现粒子特效碰撞的操作