Когда что использовать?
OnTriggerEnter(): • Объекты проходят "сквозь" друг друга
• Нужно детектировать пересечение (зоны, предметы)
• Обязательно: isTrigger = true на коллайдере
OnCollisionEnter(): • Объекты физически взаимодействуют (отталкиваются)
• Нужна реалистичная физика (падение, толчки)
• isTrigger = false
Пример триггера:
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Coin"))
{
Destroy(other.gameObject);
coinsCount++;
}
}
Пример коллизии:
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Enemy"))
{
TakeDamage(10);
}
}
💡 Для 2D используй
OnTriggerEnter2D и OnCollisionEnter2D! #Unity #GameDev #Physics #CSharp
