Создание игр / Уроки по Unreal Engine 4 / #7 - добавление оружия.

YOUTUBE · 29.11.2025 08:19

Ключевые темы и таймкоды

Введение

0:45
  • Приветствие и объявление темы видео: добавление оружия в игру.

Определение боевой системы

0:55
  • Создание боевой системы с двумя режимами: вооружённый и невооружённый.

Создание переменной для режимов

1:17
  • Создание переменной булевого типа «баттл мод» для переключения режимов.
  • Настройка клавиши «два» для изменения значения переменной.

Тестирование системы

2:51
  • Добавление отображения состояния переменной через событие «эвент-тик».
  • Проверка работы системы в игре: переключение режима при нажатии клавиши.

Добавление оружия

4:57
  • Поиск и добавление 3D-модели меча из бесплатного пакета «Инфинити Блейд Файер Ленс».
  • Добавление меча как компонента в персонажа.

Создание сокетов для меча

6:52
  • Добавление сокетов за спиной и в руке персонажа для размещения меча.
  • Переименование сокетов: «сейф мод сокет» и «баттл мод сворд сокет».

Создание сцен-компонентов

11:18
  • Создание сцен-компонентов «сейф мод сакет» и «баттл мод сакет».
  • Дублирование компонентов и их перетаскивание внутрь компонента «меш».

Настройка положения меча

12:52
  • Настройка координат сокета, а не самого меча.
  • Соединение сцен-компонентов с сокетами через вкладку «дтс».

Завершение настройки

13:46
  • Добавление меча на спину персонажа.
  • Финальная проверка соединения компонентов и сокетов.

Настройка положения меча

14:29
  • Добавляем меч за спиной персонажа.
  • Настраиваем координаты: X = -20.9, Y = -6.3, Z = -22.7, Rotation = -90,0, -20.
  • Перетаскиваем меч во второй сокет для настройки положения в руке персонажа.

Настройка меча в руке

16:48
  • Сбиваем координаты по умолчанию и добавляем меч в руку персонажа.
  • Вводим координаты: X = -22.2, Y = 5.1, Z = 10, Rotation = 0.
  • Проверяем положение меча в руке.

Логика одевания меча

19:33
  • Используем функцию `attachComponent` для управления мечом.
  • При включении боевого режима меч добавляется в сокет `battleModeSwordSocket`.
  • При выключении боевого режима меч возвращается в сокет `safeModeSwordSocket`.

Тестирование логики

22:47
  • Нажимаем «Play» и проверяем работу меча.
  • Исправляем координаты при необходимости.
  • Убеждаемся, что меч правильно появляется и исчезает при переключении режимов.

Добавление звуков

24:30
  • Создаём папку для звуков меча.
  • Перетаскиваем звуки в папку.
  • Создаём Q-файлы для звуков доставания и убирания меча.

Настройка звуков в коде

26:15
  • Вызываем функцию `playSoundAtLocation` для проигрывания звуков.
  • Добавляем звуки в функции включения и выключения боевого режима.
  • Тестируем звуки в игре.

Оптимизация кода

28:18
  • Коллапсируем функции для удобства работы.
  • Переходим к настройке анимационного blueprint для изменения стойки персонажа.

Создание переменной «Баттл Мод»

29:09
  • Переход в компонент «Мэш» и анимационный «Блуприн».
  • Добавление переменной «Баттл Мод» в «Эвент-граф».
  • Запись переменной «Баттл Мод» для управления анимацией.

Использование функции «Гет Пау Онер»

30:08
  • Вызов функции «Гет Пау Онер» после каста на «Торт Персон Чаректора».
  • Запись переменной «Гет Баттл Мод» в анимационном «Блуприн».
  • Проверка состояния переменной «Баттл Мод» для переключения анимаций.

Скачивание анимаций с сайта Mixamo

31:51
  • Поиск и скачивание анимаций «Айдол», «Волк» и «Ран» для персонажа.
  • Настройка параметров анимаций: увеличение «Чартер Арм Спейс» до 70.
  • Импорт анимаций в папку с анимациями персонажа.

Создание бленд-спейса

35:32
  • Создание бленд-спейса «Баттл Айдол Ран 1D».
  • Настройка значений скорости от 0 до 600.
  • Добавление анимаций «Айдол» на нулевую скорость, «Ран» на максимальную скорость и «Волк» на скорость 200.
  • Настройка времени интерполяции «Интерплейшн-тайм» на 0.2.

Тестирование анимации

39:03
  • Подключение бленд-спейса к «Тру Позу».
  • Проверка работы анимации при включении «Баттл Мода».
  • Настройка разрешения для улучшения FPS.

Добавление звуков шагов

41:35
  • Добавление звуков шагов «Лефт Степ» и «Райт Степ» в анимации «Волк» и «Ран».
  • Проверка воспроизведения звуков в боевом и не боевом режимах.
  • Корректировка времени перехода между анимациями для более плавного звучания.

Настройка системы сохранения персонажа

44:23
  • Создание системы сохранения персонажа.
  • Добавление сохранения переменной «баттл мод» для сохранения боевого режима.
  • Реализация сохранения в Level Blueprint.

Добавление переменной в объект сохранения

45:19
  • Открытие Level Blueprint и добавление функции сохранения переменной.
  • Поиск объекта «Сейф Гейм Б.П.» и добавление переменной «баттл мод».
  • Проверка существующих переменных, сохраняемых в объекте.

Сохранение переменной «баттл мод»

46:19
  • Запись переменной «баттл мод» в файл сохранения.
  • Использование функций «гет плеер чарактер» и «сет баттл мод» для сохранения переменной.

Загрузка переменной «баттл мод»

48:08
  • Добавление функции загрузки переменной «баттл мод».
  • Вызов функций «гет баттл мод» и «сет баттл мод» для загрузки переменной.

Проверка и настройка боевого режима

50:01
  • Проверка состояния боевого режима при входе в игру.
  • Настройка поведения персонажа в зависимости от состояния боевого режима.
  • Создание функций «тейк сворд» и «антейк сворд» для управления мечом.

Тестирование системы сохранения

53:01
  • Тестирование автоматического сохранения игрового состояния.
  • Подтверждение корректной работы системы сохранения.

Добавление анимации доставания меча

54:01
  • Поиск анимации на сайте Mixamo для доставания меча.
  • Скачивание и добавление анимации в проект.
  • Увеличение скорости анимации в три раза.

Создание анимационного монтажа

56:38
  • Создание анимационного монтажа для соединения нескольких анимаций.
  • Переименование монтажа для удобства использования.
  • Добавление монтажа в анимационный Blueprint.

Добавление слота для анимации

57:45
  • В анимационном блупринте добавляем слот перед финальной позой.
  • Вставляем функцию «плей аним монтач» для проигрывания дополнительных анимаций.

Настройка дефолт слота

58:39
  • Вызываем дефолт слот для анимации между «стоит машиной» и финальной позой.
  • Из эвент-графа персонажа вызываем монтаж «эквипс».

Добавление задержки для анимации

59:37
  • Добавляем задержку 0,4 секунды для добавления меча.
  • Для снятия оружия устанавливаем задержку 0,2 секунды.

Тестирование анимации

1:00:37
  • Заходим в игру и тестируем анимацию доставания и прятания меча.

Проблема с анимацией ходьбы

1:01:32
  • При ходьбе анимация доставания меча не проигрывается.
  • Необходимо, чтобы анимация доставания меча проигрывалась только выше пояса, а ниже пояса персонаж должен продолжать ходить.

Решение проблемы с анимацией

1:02:31
  • Добавляем функцию «лейт блед пер-бон» для определения кости, выше которой будет проигрываться одна анимация, а ниже — другая.
  • Сохраняем положение «стоит машины» с помощью «кешит полос».

Настройка кости для анимации

1:05:19
  • Находим кость «спайн» в скелете персонажа.
  • Прописываем кость в функции «лейт блед пер-бон».

Тестирование с новой настройкой

1:06:17
  • Тестируем анимацию в игре: персонаж продолжает идти, доставая и пряча меч.
  • Подтверждаем, что персонаж может идти и параллельно прятать или доставать меч.

Заключение

1:09:12
  • Подводим итоги урока, призываем ставить лайки, подписываться на канал и задавать вопросы в комментариях.