Физические материалы определяют, как объекты взаимодействуют при столкновениях. Давайте разберём их на практике!
⚙️ Основные параметры
Dynamic Friction (0-1) – трение при движении
Static Friction (0-1) – трение в покое
Bounciness (0-1) – сила отскока
Combine Mode – как комбинируются параметры при столкновении
💡 Готовые пресеты
Лёд — Friction: 0.05, Bounce: 0.1, Combine: Min
Резина — Friction: 0.8, Bounce: 0.9, Combine: Multiply
Металл — Friction: 0.4, Bounce: 0.3, Combine: Average
🔧 Создание материала
Через редактор:
ПКМ → Create → Physic Material → перетащите на коллайдер
Через код:
PhysicMaterial mat = new PhysicMaterial();
mat.bounciness = 0.8f;
GetComponent<Collider>().material = mat;
⚡️ Важные нюансы
Не работает с Is Trigger
Требует Rigidbody на одном из объектов
Для 2D используйте Physics Material 2D
📌 Пример для скользкой поверхности:
void MakeSurfaceSlippery()
{
PhysicMaterial mat = new PhysicMaterial();
mat.dynamicFriction = 0.1f;
mat.staticFriction = 0.15f;
mat.frictionCombine = PhysicMaterialCombine.Minimum;
GetComponent<Collider>().material = mat;
}