Не получается проверить столкновение объектов в Unity 2D

Рейтинг: 0Ответов: 1Опубликовано: 14.02.2023

Делаю 2д игру в которой есть игрок (ракета которая стреляет) и враги (пришельцы которые летят вниз).

Мне нужно проверить столкновение пули с врагом, но у меня никак не получается это сделать.

    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.layer == LayerMask.NameToLayer("Laser"))
        {
            this.gameObject.SetActive(false);
        }
    }
}

это код в скрипте врага

Ниже инспектор пули.

inspector

Ответы

▲ 0

В чём проблема, раз уж на пуле есть коллайдер, сделать проверку не по слою объекта, а по его тегу:

    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag("Laser"))
        {
            gameObject.SetActive(false);
        }
    }
}

Только не забудь пуле добавить тег Laser