Коллайдеры — это невидимые "физические оболочки" объектов. Они определяют, как объекты сталкиваются, но не влияют на графику. Давайте разберём их на практике!
🔧 Типы коллайдеров
① Примитивные (оптимальные)
- Box – кубы/платформы
- Sphere – шары/пули
- Capsule – персонажи
② Сложные
- Mesh Collider – точная форма (для статичных объектов)
- Convex – упрощённый Mesh (для динамики)
- Terrain – ландшафты
③ 2D-версии
- BoxCollider2D
- CircleCollider2D
- PolygonCollider2D
// Настройка триггера в коде
GetComponent<Collider>().isTrigger = true;
⚡️ Оптимизация
- Для динамики – только примитивы
- Статичные объекты – отмечайте Static
- Layer Matrix – отключайте ненужные столкновения
Совет:
// Отключение столкновений между слоями 8 и 9
Physics.IgnoreLayerCollision(8, 9);
🎯 Лучшие практики
Персонаж: CapsuleCollider + Rigidbody
Пули: SphereCollider + Continuous-режим
Сложные объекты: несколько примитивных коллайдеров
🔍 Отладка:
Включите Gizmos → Colliders в Scene View:
🔴 Красный – динамический объект
🟢 Зелёный – статичный
🔵 Синий – триггер
📌 Пример настройки:
public class Hitbox : MonoBehaviour
{
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Enemy"))
Destroy(other.gameObject);
}
}