Unity C#

OnCollisionEnter в Unity C# — обработка столкновений

Метод OnCollisionEnter в Unity обрабатывает столкновения объекта с другими. Он вызывается автоматически, когда объект с Collider сталкивается с другим объектом, у которого тоже есть Collider. Условие — хотя бы на одном из них должен быть Rigidbody.

Особенности

  • Начало контакта: метод срабатывает один раз — при первом касании объектов.
  • Данные столкновения: в метод приходит объект Collision с точкой контакта, нормалью и другой информацией.
  • Требования: один объект с Rigidbody, у обоих включённые Collider.

Пример кода

При столкновении выводим имя объекта и проверяем, не враг ли это:

using UnityEngine;

public class CollisionExample : MonoBehaviour
{
    void OnCollisionEnter(Collision collision)
    {
        // Выводим имя объекта, с которым произошло столкновение
        Debug.Log("Объект столкнулся с: " + collision.gameObject.name);

        // Проверяем тег объекта
        if (collision.gameObject.tag == "Enemy")
        {
            Debug.Log("Столкновение с врагом!");
        }
    }
}