⚙️ Rigidbody изнутри: что реально происходит под капотом
Добавляешь Rigidbody — объект начинает падать. Три переменных делают это.
Mass (масса) — сопротивление изменению скорости.
F = m × a. Одна и та же сила разгоняет лёгкий мяч быстрее, чем танк.
В Unity mass не влияет на скорость свободного падения. Зато влияет при AddForce и столкновениях.
Drag — «воздушное сопротивление», гасит линейную скорость.
Каждый кадр: velocity *= (1 - drag × deltaTime)
Drag = 0 → летит вечно. Drag = 5 → тормозит быстро.
Angular drag — то же самое, но для вращения.
Angular velocity — скорость вращения в рад/сек.
#мат_геймдев #МатРазбор #физика #rigidbody
Добавляешь Rigidbody — объект начинает падать. Три переменных делают это.
Mass (масса) — сопротивление изменению скорости.
F = m × a. Одна и та же сила разгоняет лёгкий мяч быстрее, чем танк.
В Unity mass не влияет на скорость свободного падения. Зато влияет при AddForce и столкновениях.
Drag — «воздушное сопротивление», гасит линейную скорость.
Каждый кадр: velocity *= (1 - drag × deltaTime)
Drag = 0 → летит вечно. Drag = 5 → тормозит быстро.
Angular drag — то же самое, но для вращения.
Angular velocity — скорость вращения в рад/сек.
// Снаряд с закруткой
var rb = bullet.GetComponent<Rigidbody>();
rb.mass = 0.02f;
rb.drag = 0.01f;
rb.angularDrag = 0f;
rb.linearVelocity = transform.forward * 50f;
rb.angularVelocity= transform.forward * 30f; // закрутка
#мат_геймдев #МатРазбор #физика #rigidbody
🔥4❤1
🎯 Rigidbody: настройки для пяти типовых объектов
Одни параметры для пули и для пера — не работает. Вот справочная таблица.
Пуля / снаряд
Mass: 0.01–0.05 · Drag: 0.01 · Angular drag: 0
Gravity: off (или своя) · Collision Detection: Continuous
Игровой персонаж (без CharacterController)
Mass: 70 · Drag: 3–5 · Angular drag: высокий (нет кувырков)
Gravity: on · Constraints: заморозить вращение X и Z
Физический куб / ящик
Mass: 1–10 · Drag: 0.1 · Angular drag: 0.1
Обычные настройки, всё разрешено
Тяжёлый объект (валун, машина)
Mass: 500+ · Drag: 0.5 · Angular drag: 0.5
Высокая масса = сложнее сдвинуть
Перо / листок
Mass: 0.001 · Drag: 10–15 · Angular drag: 10
Высокий drag имитирует сопротивление воздуха
#мат_геймдев #КодПодСкопой #физика #rigidbody
Одни параметры для пули и для пера — не работает. Вот справочная таблица.
Пуля / снаряд
Mass: 0.01–0.05 · Drag: 0.01 · Angular drag: 0
Gravity: off (или своя) · Collision Detection: Continuous
Игровой персонаж (без CharacterController)
Mass: 70 · Drag: 3–5 · Angular drag: высокий (нет кувырков)
Gravity: on · Constraints: заморозить вращение X и Z
Физический куб / ящик
Mass: 1–10 · Drag: 0.1 · Angular drag: 0.1
Обычные настройки, всё разрешено
Тяжёлый объект (валун, машина)
Mass: 500+ · Drag: 0.5 · Angular drag: 0.5
Высокая масса = сложнее сдвинуть
Перо / листок
Mass: 0.001 · Drag: 10–15 · Angular drag: 10
Высокий drag имитирует сопротивление воздуха
#мат_геймдев #КодПодСкопой #физика #rigidbody
🔥6👍4👎1
🐛 #ОшибкаНедели: Is Kinematic — что это вообще значит
Новички часто видят Is Kinematic и включают его, не понимая зачем.
Разберём один раз и навсегда.
Обычный Rigidbody: управляется физикой.
Гравитация тянет вниз, AddForce работает, другие тела толкают его.
Is Kinematic = true: объект управляется кодом/анимацией, не физикой.
Гравитация игнорируется. AddForce не работает.
Но он всё ещё участвует в коллизиях — отталкивает другие тела.
❌ Типичная ошибка: включить Is Kinematic у персонажа, потом удивляться,
почему прыжок не работает.
✅ Когда нужен Kinematic:
→ Платформа, которая движется по скрипту
→ Дверь, управляемая анимацией
→ Враг, которого двигают по NavMesh, но у которого есть коллайдер
→ Объект, управляемый в FixedUpdate вручную
Правило: Kinematic = «я сам двигаю объект», обычный = «физика двигает объект».
#мат_геймдев #ОшибкаНедели #физика #rigidbody
Новички часто видят Is Kinematic и включают его, не понимая зачем.
Разберём один раз и навсегда.
Обычный Rigidbody: управляется физикой.
Гравитация тянет вниз, AddForce работает, другие тела толкают его.
Is Kinematic = true: объект управляется кодом/анимацией, не физикой.
Гравитация игнорируется. AddForce не работает.
Но он всё ещё участвует в коллизиях — отталкивает другие тела.
❌ Типичная ошибка: включить Is Kinematic у персонажа, потом удивляться,
почему прыжок не работает.
✅ Когда нужен Kinematic:
→ Платформа, которая движется по скрипту
→ Дверь, управляемая анимацией
→ Враг, которого двигают по NavMesh, но у которого есть коллайдер
→ Объект, управляемый в FixedUpdate вручную
Правило: Kinematic = «я сам двигаю объект», обычный = «физика двигает объект».
#мат_геймдев #ОшибкаНедели #физика #rigidbody
❤3👍1🔥1