粒子特效碰撞需要和射线一起使用

玩家受到的粒子碰撞检测,注意以下内容必须全部做到,要不然粒子特效检测无法使用,无法检测到。

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

 只有把上面的操作都做到了才可以实现粒子特效碰撞的操作

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐