Unity OnCollisionEnter带有一个刚体的子碰撞器
本文关键字:碰撞 OnCollisionEnter 有一个 Unity | 更新日期: 2023-09-27 17:50:31
我试图只在直接联系玩家(具有刚体的父元素)时继续碰撞;忽略与孩子的碰撞(一把剑)。剑被标记为武器,玩家与玩家。
我已经搜索过了,找不到一个足够的答案(c#)
void OnCollisionEnter (Collision col){
Debug.Log("boop P" + playerNumber);
if (col.collider.transform.tag == "Player") {
-stuff happens-
}
}
这快把我逼疯了,我需要睡觉,请帮帮我。
编辑-我解决了这个问题,用一个简单的东西叫做ContactPoint.otherCollider
如果有人在这个问题上挣扎,OP的编辑太模糊了…
你可以使用collision.contacts:
查看碰撞器在GameObject上的碰撞。foreach (ContactPoint c in collision.contacts)
{
Debug.Log(c.thisCollider.name);
}
问题可能是您如何检查标记。我通常像这样直接抓取gameObject的标签。
void OnCollisionEnter(Collision col){
if (col.gameObject.tag == "Player"){
//stuff happens
}
}
甚至是对撞机的标签
(col.tag === "player")