Открыть сервисСервис

Хитбокс в видеоиграх

Хитбокс (от англ. hit box — «коробка попадания») — невидимая геометрическая область в компьютерной игре, определяющая зону, при пересечении которой происходит регистрация столкновения, урона или иного взаимодействия игровых объектов. Термин широко используется в разработке игр и в игровом сообществе для описания точности определения попаданий и столкновений.

Происхождение термина

Термин появился в индустрии видеоигр в конце 1990-х — начале 2000-х годов и прочно вошёл в лексикон разработчиков и игроков. Он образован от английских слов hit («попадание», «удар») и box («коробка»), что отражает первоначальную форму этих областей — простые прямоугольные параллелепипеды. С развитием технологий хитбоксы стали сложнее, но название осталось прежним.

Принцип работы

В игровом движке каждый персонаж, объект или снаряд снабжается невидимой геометрической моделью, которая используется исключительно для расчёта столкновений. Эта модель отделена от видимой (рендеримой) модели и может существенно отличаться от неё по форме и размеру. Когда хитбокс одного объекта пересекается с хитбоксом другого (или с областью урона, называемой «хитзоной»), игровой движок фиксирует событие — попадание, столкновение, взаимодействие.

Простейший вариант — AABB (Axis-Aligned Bounding Box), прямоугольный параллелепипед, стороны которого параллельны осям координат. Такие хитбоксы дешёвы в вычислении и применяются в большинстве игровых движков. Более точные варианты — сферы, капсулы, выпуклые многогранники, а также составные (композитные) хитбоксы, собранные из нескольких простых примитивов.

Хитбоксы в файтингах

Особое значение хитбоксы приобретают в файтингах, где точность определения попаданий напрямую влияет на геймплей. В жанре принято различать:

  • Хитбоксы (hitboxes) — области, при попадании в которые персонаж получает урон;
  • Хитбоксы атак — области, наносящие урон при столкновении с противником;
  • Хуртбоксы (hurtboxes) — уязвимые зоны персонажа, в которые может быть нанесён урон;
  • Коллизионные боксы — области, определяющие физическое столкновение и перемещение персонажа.

Разделение хитбоксов и хуртбоксов позволяет, например, сделать атаку с определённым приоритетом или создать ситуацию, когда персонаж в момент выполнения某些 приёмов неуязвим. В классических сериях файтингов — Street Fighter, Tekken, Mortal Kombat — точная настройка этих зон является частью баланса персонажей.

Хитбоксы и стрельба

В шутерах хитбоксы определяют, куда именно попал снаряд. Многие игры реализуют систему «хит-сканинга» (hitscan): при выстреле мгновенно проверяется пересечение линии огня с хитбоксами объектов. Другой подход — физические снаряды, которые движутся по траектории и проверяют столкновение на каждом шаге.

Важную роль играют «множители урона» по разным частям тела: попадание в голову (обычно отдельный хитбокс) наносит повышенный урон. Точность хитбоксов в шутерах от первого и третьего лица критикуется игроками: несоответствие видимой модели и области попадания приводит к ощущению «несправедливых» промахов или, наоборот, попаданий «насквозь».

Разработка и оптимизация

Для ускорения проверки столкновений в играх применяется иерархия пространственных структур:

  • Bounding Volume Hierarchy (BVH) — древовидная структура группировки хитбоксов;
  • Octree — пространственное дерево восьмиугольников;
  • Пространственные сетки — разделение игрового мира на ячейки.

Эти структуры позволяют исключить из проверки подавляющее большинство пар объектов, которые заведомо не пересекаются, что критично для сцен с тысячами активных объектов.

Критика и проблемы

Основная претензия игроков к хитбоксам — расхождение между видимой моделью персонажа и областью попадания. Если хитбокс больше видимого силуэта, попадания кажутся несправедливыми; если меньше — игроки жалуются на «сквозь» проходящие атаки. Разработчики балансируют между точностью (дорогой расчёт сложных форм) и производительностью (простые примитивы).

В киберспорте точность хитбоксов становится предметом дискуссий: в файтингах и шутерах исход матча может зависеть от того, насколько честно движок определяет попадание.

См. также

  • Коллизия (программирование)
  • Физическое движение в играх
  • Игровой движок
  • Файтинг

Источники

  • Руководства по разработке игр (Game Programming Patterns, N. Gregor)
  • Документация игровых движков Unity и Unreal Engine
  • Материалы конференций GDC по вопросам геймдизайна и баланса файтингов
  • Статьи и разборы игрового сообщества о механиках попаданий в жанрах файтинг и шутер
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru