Вы говорите, что добавили Rigidbody2D
и 2D коллайдеры к игроку и объекту-ловушке, но в своем сценарии вы используете обратный вызов OnCollisionEnter
.Вместо этого вам следует использовать обратный вызов OnCollisionEnter2D
, если вы хотите 2D-физические уведомления.
Я бы предложил пометить коллайдер-ловушку как триггер, а затем использовать обратный вызов OnTriggerEnter2D
, поскольку OnCollisionEnter2D
немногоболее громоздким (особенно когда вы вводите параметр Collision2D
).
Таким образом, окончательный код будет выглядеть так:
public class DamageTrap : MonoBehaviour
{
void OnTriggerEnter2D (Collider2D col)
{
if (col.gameObject.tag == "Player")
{
Debug.Log("Collision");
}
}
}