C# 如何检测游戏对象是否超出球体范围

C# 如何检测游戏对象是否超出球体范围,c#,unity3d,C#,Unity3d,我正在拍摄一个游戏对象的靶场。它检测一个游戏对象何时加入范围,但不检测游戏对象超出范围。如果可能的话,我想知道如何检测敌人是否超出范围。谢谢你的帮助 用于检测敌人的示例代码 Collider[]hitNpcs=Physics.OverlapSphere(TowerPoint.transform.position,Range); 对于(int i=0;i

我正在拍摄一个游戏对象的靶场。它检测一个游戏对象何时加入范围,但不检测游戏对象超出范围。如果可能的话,我想知道如何检测敌人是否超出范围。谢谢你的帮助

用于检测敌人的示例代码

Collider[]hitNpcs=Physics.OverlapSphere(TowerPoint.transform.position,Range);
对于(int i=0;i
注意:这假设您的Npc连接了一个
刚体
组件


不要使用
Physical.Overlapsher
,而是在
TowerPoint
游戏对象上创建一个球形碰撞器,然后您可以使用该方法检测离开范围的NPC。

您有权访问其他NPC吗?不仅是那个相互冲突的问题?我投票将这个问题作为离题题来结束,因为对于初学者来说,这是一个有趣的问题,实际上有100多页非常清楚地解释了这个基本点。
Collider[] hitNpcs = Physics.OverlapSphere(TowerPoint.transform.position, Range);

    for (int i = 0; i < hitNpcs.Length; i++)
    {
        if (hitNpcs[i].GetComponent<Npc>() != null)
        {
             hitNpcs[i].GetComponent<NpcHP>().dmg(Power);
             Debug.Log("Shoot");
             break;
        }
    }