Введение

Система столкновения снарядов в видеоиграх. Hitscan в дизайне видеоигр, чаще всего в шутерах от первого лица, — это тип системы регистрации попаданий, который определяет, был ли объект поражён, просто проверяя, направлен ли используемый предмет непосредственно на цель, а затем мгновенно применяет эффекты этого предмета (обычно урон). Например, оружие не выпускает снаряд, который игрок должен вести; урон наносится, как только прицел игрока оказывается на цели и нажата кнопка стрельбы. Внутриигровой процесс обычно реализуется путём моделирования луча, исходящего из точки применения предмета вдоль траектории "снаряда", и простого сканирования любых объектов, соприкасающихся с этим лучом. Игры могут отображать визуальный эффект снаряда, хотя технически он не оказывает влияния. В отличие от этого, оружие, использующее снаряды, выпускает реальный объект-снаряд, который движется в виртуальном пространстве с определённой скоростью и наносит урон только после фактического касания ("попадания") цели. Оружие, использующее немодифицированную информацию о попаданиях для определения, достигло ли оно цели, часто называют hitscan-оружием. Выстрел из такого оружия вызывает функцию hitscan, и если объект обнаружен на пути снаряда, регистрируется попадание. После определения, был ли что-то поражено, система выдаёт величину урона, основываясь на точке попадания луча в объект. Поскольку эффект мгновенный, снаряды эффективно движутся с бесконечной скоростью и имеют линейную или иную простую траекторию — практическое приближение к скорости и точности пули на коротких дистанциях. Метод hitscan можно модифицировать, делая некоторые поверхности отражающими, позволяя лучам hitscan продолжаться бесконечно без остановки или проникать одновременно через несколько объектов по одной линии. Для повышения реалистичности программисты могут использовать функции hitscan немного по-разному, например, применяя случайное отклонение к рассчитанной траектории для имитации неточности. Упрощённая версия этого реализована в шутере от первого лица DOOM: когда игрок удерживает кнопку стрельбы из пистолета, со второго выстрела стрельба становится неточной. В качестве другого примера, в Half-Life 2 пулемёт вызывает функцию hitscan в середине анимации "огнёмётной стрельбы", создавая небольшую задержку между развёртыванием оружия и поражением цели, чтобы лучше приблизить поведение к реальной баллистике.

Преимущества

Основным преимуществом является простота симуляции, использующей относительно простую математику для вычисления попаданий. Хотя пули не движутся с бесконечной скоростью по идеально прямым траекториям, они движутся достаточно быстро, чтобы решение с мгновенным определением попадания (hitscan) обычно было разумным приближением. Это сводит вопрос о месте попадания оружия к одной функции, упрощая программирование оружия. С точки зрения игрового дизайна, это позволяет легко связать причину (нажатие игроком кнопки "огонь", запуск функции hitscan) с эффектом (hitscan возвращает результат, игрок видит эффект оружия в этой точке). Как сильно упрощенная модель реальной баллистики, она делает игры более доступными, поскольку не требует прицеливания немного впереди движущейся цели для компенсации времени полета снаряда. Хотя эта модель менее реалистична, она не требует понимания особенностей обращения с реальным оружием для игры, и укрепляет интуитивное понимание того, что в точку прицеливания будет произведено попадание.

Недостатки

Визуальное представление эффекта стрельбы из оружия с мгновенным попаданием может быть затруднено: поскольку оружие поражает цель мгновенно, любая пуля или снаряд, выпущенный из оружия, является лишь "иллюзией", и место его попадания не всегда соответствует фактическому поражению цели. В частности, визуальный эффект пули как снаряда всегда будет запаздывать от момента попадания, что может усугубляться задержкой в онлайн-многопользовательских играх. Сложно изменить траекторию снаряда после его вылета из оружия под воздействием ветра и гравитации. Поскольку оружие выпускает луч, который почти мгновенно достигает цели, каких-либо существенных изменений траектории не происходит. Например, при стрельбе по быстро движущемуся объекту на большом расстоянии. При использовании технологии мгновенного попадания, игрок, точно наведённый на цель, поразит её. Однако, в реалистичном игровом движке пришлось бы учитывать опережение цели. Невозможно реализовать баллистику снаряда или траекторию полёта снаряда при использовании технологии мгновенного попадания. Существуют игры, использующие как мгновенное попадание, так и баллистику снарядов, но не одновременно. В качестве альтернативы, некоторые игры могут определять попадание с помощью технологии мгновенного попадания, а затем отображать анимацию с баллистикой снаряда. Благодаря развитию вычислительных мощностей и пропускной способности интернета, стало более целесообразным моделировать баллистические свойства реального оружия в реальном времени, используя более реалистичную модель "снаряда", создавая пули как полноценные игровые объекты с массой и скоростью, и непрерывно моделируя их движение до достижения цели.