персонажи для анреал энджин

Создаем 2D платформер при помощи Unreal Engine 4. Часть 1 — Игровой персонаж, движение

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Давайте подготовим раскадровки для 2х состояний: покой и бег, для этого необходимо удалить красный фон (нам ведь не надо, что бы персонаж перемещался всегда на фоне красного прямоугольника) и вырезать требующиеся части изображения, на выходе получая что-то вроде этого:

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Из фоновых изображений пока вырезаем только пол:

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Структурируем папки проекта и импортируем соответствующие изображения:

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

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

Первым делом создаем еще пару папочек, на этот раз в “Sprites” → “Alucard”, внутри которой будут папки “Idle” и “Walking” с соответствующими спрайтами. Итак, создаем пустой спрайт, называем его “Idle_1” и открываем. Сразу же переходим в “Edit source region”, а в качестве текстуры-источника указываем текстуру «Alucard_Idle».

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Один спрайт должен содержать один кадр анимации персонажа, так что скорректируем значения “Source UV” и “Source dimension”, что бы получить один кадр, либо просто дважды кликаем на нужно изображение, что бы автоматически определить его границы:

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Проделываем то же самое с оставшимися кадрами покоя и ходьбы:

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

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

Самое время придать немного жизни нашим спрайтам! Для этого создаем “Animation flipbook”, даем ему имя и открываем. Добавляем соответствующие кадры по порядку и выставляем количество кадров в секунду по вкусу, мне нравится 6:

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Повторяем для ходьбы и на выходе имеем 2 flipbook’а:

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Теперь добавим на сцену нашу платформу, важно что в ее положении по компонента Y была равна 0. Далее добавим управление (в заготовке оно уже включено, но переназначим, как нам будет удобно): Edit → Project Setting → Input.

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Переходим непосредственно к созданию персонажа. В папке “Blueprints” создаем новый BP, нас спросят, какой класс принта, выбираем “Character”, даем имя, открываем и направляемся в раздел “Components”. Добавляет к капсуле Flipbook, в качестве источника выбираем заготовленную Idle анимацию, так же добавляем SpringArm и к ней цепляем камеру, в принципе можно обойтись и без руки, но лучше с ней. Настраиваем размеры спрайтов и капсулы по вкусу, но капсулу лучше делать немного поменьше, что бы спрайт не парил над землей. У камеры убираем зависимость от контроллера и выставляем ортографический тип, глубину — по вкусу.

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Компилируем, сохраняем. В настройках мира можно создать свой GameMode, либо поменять в уже существующем “Default Pawn Class” на только что созданного нами персонажа.

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

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

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Пора научить его передвигаться, для этого вновь открываем BP персонажа и переходим в раздел графа. Стоит отметить, что Blueprints – очень мощный инструмент, с его помощью можно обойтись в проекте без классического написания кода, но на деле это то же самое программирование, просто, собственно, писать надо будет разве что несколько имен, да значений. Итак, прежде всего надо добавить движение по вектору при событии MoveRight:

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Тут происходит следующее: при воздействии на ось (у нас может быть два воздействия ± 1) происходит передвижение объекта по оси X на заданное воздействие. В принципе этого достаточно для передвижения, можно пробовать — компилируем, сохраняем, тестируем. Персонаж смещается вдоль оси, но без анимации, ведь мы не предусмотрели ее переключение.

Для переключения между анимациями нам необходимо заменить, собственно анимацию в flipbook нашего персонажа. Сделать это можно несколькими способами, но я предпочитаю наиболее универсальный и, как мне кажется, изящный. Создадим на графе Свое событие, назовем соответственно цели – “Update animation”.

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Логика работы тут следующая: при вызове события во flipbook цели помещается заданная анимация. Сама анимация выбирается в зависимости от того, какая скорость у нашего объекта, если больше нуля — анимация ходьбы, иначе — покоя. Обновим и граф движения:

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Появилось новое событие — “Event Tick”, оно происходит каждый кадр, соответственно каждый кадр у нас теперь происходит проверка необходимости смены анимации. Если сейчас запустить игру, то персонаж будет двигаться с анимацией бега, но всегда будет смотреть в одну сторону, исправим это:

персонажи для анреал энджин. Смотреть фото персонажи для анреал энджин. Смотреть картинку персонажи для анреал энджин. Картинка про персонажи для анреал энджин. Фото персонажи для анреал энджин

Таким образом сегодня мы создали анимированного 2D персонажа, способного перемещаться по платформе. В дальнейшем добавим способность прыгать, сражаться и уничтожать врагов. Пожелания, комментарии и критика приветствуются.

UPD 1. По совету пользователя Torvald3d убрал билинейную интерполяцию на текстурах-исходниках персонажа. Просто заходим в импортированную текстуру и меняем фильтр на «ближайший».

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *