Назад к новостям
    Баллистика в PUBG: пристрелка прицела, сопротивление воздуха и точка прицеливания
    Разбор19 сентября 2026

    Баллистика в PUBG: пристрелка прицела, сопротивление воздуха и точка прицеливания

    В PUBG стрельба на дистанции — это не «навёл и выстрелил». Пуля летит заметное время, теряет скорость и проседает по высоте, а прицел уже пристрелян на какую-то дальность. Разберём, из чего складывается точка, в которую нужно целиться.

    Что вообще нужно посчитать

    Три величины, и все три зависят друг от друга:

    • время полёта — за него цель успеет сместиться;
    • падение пули — на сколько она уйдёт вниз от линии выстрела;
    • поправка на пристрелку — часть падения прицел уже компенсирует сам.

    Сложность в том, что все три зависят от дистанции до точки прицеливания, а сама эта точка зависит от них. Круг размыкается только повторением.

    Модель полёта

    Игра описывает каждый ствол четырьмя числами: начальная скорость, коэффициент сопротивления, шаг подшага симуляции и множитель падения. По ним пуля и считается — шагами по 1/60 секунды:

    dv/dt = −k · |v| · v + g
    

    Сопротивление пропорционально квадрату скорости, отсюда |v| в формуле; гравитация добавляет свои 9,8 м/с² вниз, умноженные на множитель падения конкретного оружия.

    Симуляция останавливается, как только пуля прошла нужную дистанцию: дальше берётся линейная интерполяция внутри последнего шага, чтобы не округлять результат до кадра. Предохранители простые — не больше 4 секунд полёта и не дальше 2000 метров; если пуля перестала продвигаться вперёд, цель недостижима.

    Практический вывод: разные стволы требуют разной поправки на одной и той же дистанции. Начальная скорость у AWM и у Mini 14 отличается вдвое, а коэффициент сопротивления — ещё сильнее.

    Пристрелка: падение и поправка — разные числа

    Тут ошибаются чаще всего. Кажется, что достаточно посчитать падение и поднять прицел на столько же. Это неверно, потому что ствол уже смотрит выше линии прицеливания — ровно настолько, чтобы пуля пересекла её на дистанции пристрелки.

    Пристрелка и поправка
    До дистанции пристрелки пуля идёт выше линии прицеливания, дальше — под ней

    Компенсировать нужно не всё падение, а разницу:

    поправка = падение(d) − падение(d_пристрелки) · d / d_пристрелки
    

    Отсюда следствие, которое видно на графике: внутри дистанции пристрелки поправка отрицательная — пуля идёт выше линии прицеливания, и целиться нужно чуть ниже. При стрельбе на 50 метров с прицелом, пристрелянным на 100, попадание уходит вверх.

    Переключение пристрелки на оптике меняет не траекторию, а именно это опорное число — и вся поправка пересчитывается.

    Точка прицеливания ищется итерацией

    Теперь соберём всё вместе. Нужна точка, в которой пуля и цель окажутся одновременно:

    Итерация точки прицеливания
    Замкнутый круг размыкается повторением: обычно хватает двух-трёх проходов
    1. За первое приближение берётся сама цель.
    2. По расстоянию до текущей точки считается выстрел — время полёта и падение.
    3. Точка сдвигается: цель уедет на скорость × время полёта, а прицел поднимается на поправку.
    4. Если новая точка отличается от прошлой меньше чем на сантиметр, решение найдено.

    Предел — четыре прохода. На практике хватает двух-трёх: сдвиг на втором проходе уже измеряется сантиметрами.

    Важная деталь: в расчёт идёт относительная скорость — разница между скоростью цели и нашей собственной. Стреляя из движущейся машины, вы уносите её скорость вместе с пулей, и без этой поправки упреждение уезжает вбок.

    Что это даёт в бою

    Ручная поправка на 300+ метрах — это всегда оценка на глаз: «на полголовы выше», «на корпус вперёд». Посчитанная точка встречи убирает обе оценки сразу — и вертикальную, и горизонтальную, — причём с учётом того, какой именно ствол в руках и на какую дистанцию пристрелян прицел.

    Что из этого включать и насколько — настраивается отдельно; список модулей в описании чита для PUBG. Похожая задача в других играх решается иначе: в War Thunder снаряд тормозит сильнее и время полёта приходится искать численно, а в Rust скорость пули вообще задана таблицей по дистанции.

    Если продукт не запускается, всё по шагам разобрано в инструкции по запуску.