尽管发生碰撞,但碰撞输入2D(碰撞碰撞)未触发

  • 本文关键字:碰撞 2D c# unity-game-engine
  • 更新时间 :
  • 英文 :


我是Unity新手,使用这种方法有问题。如有任何帮助,不胜感激。

目前,我有一个盒子gameObject(客户),它落在另一个盒子gameObject(表)上。具有OnCollisionEnter2D方法的脚本附加到tableBox对象,并使用标签检查customerBox是否与之碰撞。问题是,尽管发生碰撞,OnCollisionEnter2D似乎根本没有被调用,因为Debug.Log中没有出现任何东西。两个盒子都有Rigidbody2DboxCollider2D

我试过将Rigidbody2D属性更改为动态,并仔细检查标签是否正确。也有可能,脚本的tableBox是不运行在所有,如果是这种情况下,我不知道如何修复,并将感谢建议。

方法如下:

void OnCollisionEnter2D(Collision2D collision){
Debug.Log("in the method.");

if(collision.gameObject.tag == "customer")
{
Debug.Log("Collision detected!");
}
}

你的代码看起来不错。检查以下

  1. 两个刚体都设置为动态
  2. 两个物体都有2D碰撞器。
  3. 两个碰撞器没有被设置为触发器。
  4. 检查图层碰撞矩阵(Edit>Project settings>Physics2D)

是"碰撞器组件上的复选框未选中?检查游戏对象是否正确配置(图层,碰撞器,标签,脚本等),如果你有图层,检查物理设置;)

相关内容

  • 没有找到相关文章

最新更新