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("Столкновение с врагом!");
}
}
}