Dev Math
660 subscribers
138 photos
3 videos
5 files
76 links
Как на самом деле создаются игры. Как сделать игру интересной и реализовать технически. А главное причём тут математика?

Разборы на пальцах, рабочий код, интерактивы. dev-math.ru

Сотрудничество: @it_bizdev
Download Telegram
⚙️ 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
🔥6👍4👎1
🐛 #ОшибкаНедели: Is Kinematic — что это вообще значит

Новички часто видят Is Kinematic и включают его, не понимая зачем.
Разберём один раз и навсегда.

Обычный Rigidbody: управляется физикой.
Гравитация тянет вниз, AddForce работает, другие тела толкают его.

Is Kinematic = true: объект управляется кодом/анимацией, не физикой.
Гравитация игнорируется. AddForce не работает.
Но он всё ещё участвует в коллизиях — отталкивает другие тела.

❌ Типичная ошибка: включить Is Kinematic у персонажа, потом удивляться,
почему прыжок не работает.

✅ Когда нужен Kinematic:
→ Платформа, которая движется по скрипту
→ Дверь, управляемая анимацией
→ Враг, которого двигают по NavMesh, но у которого есть коллайдер
→ Объект, управляемый в FixedUpdate вручную

Правило: Kinematic = «я сам двигаю объект», обычный = «физика двигает объект».

#мат_геймдев #ОшибкаНедели #физика #rigidbody
❤3👍1🔥1