无法获得碰撞或触发器来处理 2 个 2D 对象
Can't get collision or trigger to work with 2 2D objects
我有 2 个精灵,都附有 "Box Collider 2D" 组件。我在附加到两个对象的脚本中放置了相同的检测函数:
void OnTriggerEnter2D(Collider2D coll) {
Debug.Log ("Something triggered with me!!!");
}
void OnCollisionEnter2D( Collision2D coll ) {
Debug.Log ("Something collided with me!!!");
}
- 这是 Unity 5.2.1f1
- 我已经尝试过选中触发器和未选中触发器。我更愿意使用触发器,因为我不需要对象在物理上相互影响。
- 我已经验证了函数名称和参数的拼写。我也试过删除这两个参数。
- 两个物体上都没有二维刚体(我不需要,对吧?)
- 移动当前由对象的 Update() 循环中的 Translate() 处理。
- 我已经使用 "Edit Collider" 验证了每一个周围都有一个像样的盒子。
- 我已经通过 RTFM 编辑并通读了其他人在这里看到的大多数问题,但我看不出我遗漏了什么。
我已将所有可碰撞对象放在名为 "Character" 的同一层上,它出现在项目设置的二维碰撞矩阵中并被选中。
有什么建议吗?
如果我没记错的话你应该添加一个 rigidbody2d。
试试吧。并编写一小段代码来重置另一个对撞机(向玩家对象/测试对象移动的对象)。
我不在家无法为您测试,但这是我的猜测 ;)
我有 2 个精灵,都附有 "Box Collider 2D" 组件。我在附加到两个对象的脚本中放置了相同的检测函数:
void OnTriggerEnter2D(Collider2D coll) {
Debug.Log ("Something triggered with me!!!");
}
void OnCollisionEnter2D( Collision2D coll ) {
Debug.Log ("Something collided with me!!!");
}
- 这是 Unity 5.2.1f1
- 我已经尝试过选中触发器和未选中触发器。我更愿意使用触发器,因为我不需要对象在物理上相互影响。
- 我已经验证了函数名称和参数的拼写。我也试过删除这两个参数。
- 两个物体上都没有二维刚体(我不需要,对吧?)
- 移动当前由对象的 Update() 循环中的 Translate() 处理。
- 我已经使用 "Edit Collider" 验证了每一个周围都有一个像样的盒子。
- 我已经通过 RTFM 编辑并通读了其他人在这里看到的大多数问题,但我看不出我遗漏了什么。 我已将所有可碰撞对象放在名为 "Character" 的同一层上,它出现在项目设置的二维碰撞矩阵中并被选中。
有什么建议吗?
如果我没记错的话你应该添加一个 rigidbody2d。
试试吧。并编写一小段代码来重置另一个对撞机(向玩家对象/测试对象移动的对象)。
我不在家无法为您测试,但这是我的猜测 ;)