Unity - 多个敌人错误地使用 RaycastHit

问题描述 投票:0回答:0

所以,我有一个附加到敌人预制件的脚本。每次敌人向玩家的对撞机投射光线时,都会发生 Activity X。对单个敌人一切正常,但当有多个敌人时,Activity X 开始工作不正常。 代码如下:

void FixedUpdate()
{
    if (Physics.Raycast(transform.position, transform.forward, out enemyHit))
    {
        if (enemyHit.collider.gameObject.tag == "PlayerCollider" && aI_Movement.isFiring == true)
        {
            activityX = true;
        }
        else
        {
            activityX = false;
        }
    }
}

我的假设是问题的发生是因为来自 RaycastHit 的矛盾信息(比如,一个敌人确实击中了目标对撞机而另一个没有,所以 Activity X 的先决条件同时为真和假)。我试着玩弄孩子们的“if”子句的条件,并做了很多其他调整,但到目前为止没有任何帮助。

有什么方法可以让它正常工作吗?谢谢!

unity3d raycasting
© www.soinside.com 2019 - 2024. All rights reserved.