我将下面的脚本附加到地面游戏对象上,以检测来自我玩家的子对象的碰撞,但由于某些原因,碰撞没有被检测到。
我的玩家(父游戏对象,空的游戏对象)有一个刚体和跳跃脚本附加到它上面,同时,子游戏对象(身体和脚)上只有长方体碰撞。
我很想知道为什么这个方法不起作用:)
private void OnCollisionEnter(Collision collision)
{
if(collision.gameObject.tag == "Body")
{
Debug.Log("Game over!");
}
else if (collision.gameObject.tag == "Feet")
{
Debug.Log("Alive!");
}
}
发布于 2020-07-14 06:13:42
由于某些原因,当您使用collision.collider.tag而不是collision.gameobject.tag时,它可以工作,如下所示:
if(collision.collider.tag == "Head")
{
Debug.Log("Game over!");
}
我不太确定为什么这样做有效,但它确实有效!Defo将对此进行更深入的研究。
https://stackoverflow.com/questions/62647786
复制相似问题