Вступить в клуб →
средняявопросФизика, коллизии и рейкасты

Пули врагов отскакивают от других врагов, хотя в коде столкновение игнорируется

void OnCollisionEnter(Collision c)
{
    if (c.gameObject.CompareTag("Enemy")) return; // своих не бьём
    c.gameObject.GetComponent<Health>()?.Damage(damage);
    Destroy(gameObject);
}

Урона своим нет, но пули всё равно физически отскакивают от врагов и меняют траекторию. Как отключить такие столкновения правильно?

  • Разнести по слоям и снять пару в Collision Matrix
  • Вызывать Destroy у пули до return
  • Сбрасывать скорость пули в OnCollisionEnter
  • Проверять тег в OnCollisionStay вместо Enter

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела