我正在为一个游戏对象拍摄一个范围。它可以检测游戏对象何时加入范围,但没有检测到游戏对象超出范围。如果可能,我想知道如何检测敌人是否超出范围。感谢您的帮助。
检测敌人的示例代码。
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;
}
}
答案 0 :(得分:1)
注意 :这假设您的Npc附加了RigidBody
个组件。
不是使用Physics.OverlapShere
,而是在TowerPoint
GameObject上创建一个球形对撞机,然后您可以使用OnCollisionExit
方法检测离开该范围的npcs。