Коллизия не обнаруживается Unity2D

Я пытаюсь создать объект, который при столкновении с другим объектом разрушается. Я также использовал Debug.Log, и оказалось, что столкновение даже не обнаружено. Вот код

     public class Enemy_1 : MonoBehaviour
 {
     public void OnCollisionEnter2D(Collision2D col)
     {
         if (col.gameObject.tag.Equals ("AttackArea"))
         {
             Destroy(gameObject);

         }
     }
 }

person KiloKw2    schedule 02.04.2020    source источник
comment
Есть ли в ваших объектах Rigidbody2D компоненты и Collider2D?   -  person derHugo    schedule 02.04.2020
comment
Также проверьте свой тип обнаружения столкновений. Вы можете попробовать изменить его на Continuous. Кроме того, Havok Physics должен быть быстрее. Было бы весело попробовать.   -  person jiveturkey    schedule 02.04.2020
comment
вместо сравнения строк используйте col.gameObject.CompareTag("AttackArea"), чтобы избежать ошибок при опечатках   -  person derHugo    schedule 02.04.2020


Ответы (1)


Добро пожаловать в сообщество!

Чтобы мы могли лучше понять контекст, в следующий раз предоставьте инспектору скриншоты этих объектов. Нам обоим будет проще! ????

Теперь для вашей проблемы может быть одна (или комбинация) нескольких причин:

  1. Ни к одному из этих двух объектов не прикреплено Rigidbody2D. Чтобы столкновение было обнаружено, по крайней мере один из двух должен быть Rigidbody2D. ...
  2. Другой объект не помечен как AttackArea. Таким образом, уравнение тега возвращает false. ...
  3. Коллайдер другого объекта помечен как is trigger. В этом случае OnTriggerEnter2D(Collider2D) вызывается вместо OnCollisionEnter2D(Collision2D).

Проверьте каждый из них и дайте нам знать! ????

person tsvedas    schedule 02.04.2020
comment
Это не дает ответа на вопрос. Чтобы критиковать или запрашивать разъяснения у автора, оставьте комментарий под его сообщением. - Из отзыва - person con; 02.04.2020
comment
Спасибо за разъяснение! Хотя я думал, что предоставление разумных вариантов для проверки можно было бы засчитать как ответ. - person tsvedas; 03.04.2020
comment
Привет, спасибо за ответ !!!. Я новичок во всем этом, и я подумал, что тег - это имя объекта, но потом я понял, что такое тег, и теперь он, наконец, работает. Спасибо за помощь, я потратил много времени, пытаясь понять это. .. - person KiloKw2; 04.04.2020