【发布时间】:2019-04-16 13:49:58
【问题描述】:
在玩 Unity 引擎时,我尝试在我的游戏中添加基本的碰撞检测。我创建了两个简单的对象,它们都朝着不同的方向移动(所以它们会发生碰撞)。在 OnCollisionEnter2D(Collision2D col) 方法中,我放置了一个 Debug.Log() 来测试碰撞是否有效。
我按照 Unity 官方频道的教程进行操作,并按照提供的确切步骤进行操作。但它仍然不起作用!我几乎阅读了 Google 上所有遇到相同问题的帖子,但仍然没有找到任何解决方案
我尝试了什么?
- 两个对象的 Z 位置均设置为 0。
- 两个对象都有一个 RigidBody2D 和一个 BoxCollider2D
- 对象移动得不是太快,它们移动得非常慢(用于测试) (我读过如果它们移动得如此之快以至于它们在帧之间相互穿过,则不会检测到碰撞)
- 两个触发器碰撞器不能碰撞 - 一个必须是常规碰撞器(应用此)
- 对象位于同一层,我检查了 2D 物理设置并确保所有层都可以相互交互。
- 我所有的对撞机和刚体都是 2D 变体(这是我在互联网上阅读最多的解决方案,但没有为我修复!)
这是我想要碰撞的游戏对象的两个屏幕截图。 (抱歉不能发图片,因为我的声望太低了)
【问题讨论】:
标签: unity3d 2d sprite collision