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

Хитскан

Невидимый луч, который проходит через цель и мгновенно ее поражает.

Работает это так: луч встречает на пути препятствие, сообщает о попадании и наносит урон — мгновенно.

Особенности

  • Очень просто и понятно работает для игрока: о прицеливании и баллистике думать не нужно
  • Наиболее оптимизирован: вычисления происходят почти мгновенно
  • Нельзя увернуться: попадание мгновенно и гарантировано

Хитскан — это не самый реалистичный вариант для реализации стрельбы. Он не всегда уместен.

Например, если вы делаете:

  • луки
  • ракетницы
  • гранатометы и просто гранаты
  • катапульты

Хитскан будет противоречить самой идее вашего оружия.

Как модифицировать?

  1. Если не убирать луч, когда он попал в первого врага — и тогда хитскан сможет пронзить нескольких.
  2. Если убрать максимальную дальность, то луч будет бесконечно лететь, пока во что-нибудь не попадет.
  3. Если дать лучу время жизни, то получится «палка», которой можно водить и бить врагов.

Проджектайл

Пуля это снаряд-объект со скоростью, весом и другими физическими параметрами.

Работает это так: объект вылетает из дула оружия и летит по траектории, которая зависит от его веса и размера, а также от угла, под которым был произведен выстрел.

Особенности

  • У снарядов есть физика
  • Снаряду нужно время, чтобы попасть: при стрельбе игрок должен учитывать все так, чтобы снаряд оказался в нужный момент в нужном месте
  • Реализм: ощущение правдоподобности, особенно, если мы стреляем из пушки, уже само по себе фановое

У такого оружия есть Bullet Time — то есть промежуток времени между выстрелом и достижением какой-то точки снарядом. От снаряда можно увернуться!

Виды оружия

Какие оружия знаете? Какие добавили бы в свою игру?

Классика

Пистолет — обычно точный, но маломощный, почти нет отдачи.

Автомат — скорострельный, коротко-средняя дистанция, не очень точный, сильная отдача.

Дробовик — он же «дробаш». Выносит все в ближнем бою, долго перезаряжается, бесполезен на средних и дальних дистанциях.

Снайперка — очень точная, очень мощная, долгая перезарядка, малый сектор обзора.

Базука — выпускает ракеты, наносит урон по площади.

Граната — меняет окружение (наносит урон по площади, скрывает видимость, поджигает).

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

Свою систему в большинстве случаев сложно создать и еще сложнее понятно объяснить игроку. Это факт. Поэтому в рамках курса мы придерживаемся классического варианта.

Можно ли свое оружие?

В целом-то можно.

Но помним — игрок гораздо быстрее освоится с чем-то знакомым.

Если все еще есть желание сделать что-то необычное (нормально и даже хорошо, если его нет) — можно подумать о том, как тот же пистолет или лазерная пушка может необычно работать.

Какие параметры могут быть у оружия?

  • Урон
  • Точность
  • Отдача
  • Размер обоймы
  • Пробитие
  • Дистанция
  • Дальность — Максимальная дальность, но попадание не гарантировано; — Дальность, на которой мы точно попадем; — Может зависеть от типа пуль.
  • Баллистика — Дуга снаряда — Летит с огибанием, самонаводящийся и т. д.
  • Скорость снаряда (как быстро летит?)
  • Скорострельность
  • Spread (разброс) — если выпускает больше одной пули за раз, как далеко разлетаются пули?
  • Скорость прицеливания
  • Время перезарядки
  • Автоматическое или нет? — Стреляет очередью — Стреляет по одному патрону
  • Вероятность осечки
  • Вес (влияет на скорость передвижения с пушкой)
  • Аксессуары (глушитель, прицел и т. д.)
  • Эффекты и приколы (электризует, замораживает, создаёт порталы и т. д.)

Внимание, никто не просит использовать все параметры.

Придумываем оружие!

Придумываем 3 оружия и отвечаем на 3 вопроса для каждого:

  • Как оно стреляет? Хитскан, если проджектайл, то какая траектория
  • Чем стреляет и с какой скоростью? как быстро перезаряжается и есть ли условия?
  • Как действует на врагов или окружение? дезориентирует, замедляет, создает лужи, отталкивает нас/врагов — что угодно

Можно придумать что-то необычное!

Что выбрать?

Что и для какого оружия лучше?

Неправильных ответов нет.

Потому что выбор способа попадания зависит от концепта.

А на что влияет ваш выбор? Вспоминаем прошлый модуль.

На пейсинг, конечно же!

Хитскан оружие само по себе уже ускоряет темп и делает игру активнее — игрок, как правило, гораздо легче и быстрее принимает решение о выстреле.

Проджектайловое оружие несколько замедляет темп и уже включает немного тактическое планирование — потому что нужно учитывать баллистику.

Параметры тоже важны!

На темпоритм влияют очень сильно и другие параметры оружия — и игра с хитскан пистолетом может быть медленной, а с проджектайловым оружием — очень активной.

Влияние на пейсинг

Простое правило:

чем сильнее вы ограничиваете или усложняете стрельбу игроку любыми параметрами, тем ниже темп стрельбы и тем менее шутер активный.

И чем этих параметров больше в принципе, тем сложность стрельбы будут выше, а темп — ниже.

Переходим в Анрил!

Transform

Даёт информацию о положении актора в мире (Location — координаты, Rotation — поворот, Scale — размер).

post

Set

Позволяет поменять выбранный параметр.

post

Add

Позволяет прибавить заданное вами число к выбранному параметру.

Вектора

Original size 1920x1010

Базовые вектора размером 1. Позволяют вам задать направление движения.

Timeline

Original size 1920x1010

График изменения переменной за определённый промежуток времени. Позволяет вам сделать, например, двигающиеся препятствия или пратформы.

Двигающаяся платформа

Original size 1920x1010

Lerp

Нода Lerp принимает две векторные точки A и В. Alpha определяет в какой точке между A и В окажется Return value.

Когда мы подключаем Alpha к таймлайну, она постепенно изменяется от 0 до 1, 0 — точка A, а 1 — точка B.

Так мы получаем платформу, которая плавно перемещается между двумя заданными в пространстве точками.

Практика

Сделайте мишень, которая поворачивается на 90 градусов на 2 секунды а потом возвращается на место на 2 секунды.

Делаем оружие

Parent and Child

Поскольку у всех оружий есть общие функции и параметры, мы будем использовать наследование.

Вспомним, как оно работает:

Актор наследует все особенности изначального актора и если в изначальном (перенте) что-то изменить, то это изменится и в чайлде. Однако наоборот это не работает. Если в чайлде что-то изменить, в перенте всё останется как было.

post

Как это будет у нас работать?

Parent: Умеет стрелять. Есть N-ый запас патронов. Есть N-ая дальность.

Child1: Запас патронов: 5 Дальность: 10

Child2: Запас патронов: 1 Дальность: 20 Есть режим прицеливания

Child3: Запас патронов: 10 Дальность: 5 Хаотично стреляет

Функции для Parent

Original size 1920x1010

Функции для Child

Original size 1920x1010

Смена оружия

Original size 1920x1010
post

Чтобы прикрепить оружие к нашему персонажу, создаем свой ивент. Прикрепляем наше оружие к нужному компоненту.

Домашнее задание

  1. Придумать 3 оружия для вашей концепции
  2. Сделать рабочий прототип
Стрельба, трансформы
Project created at 06.06.2026
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more