Оглавление:

Как создать двумерный персонаж с помощью контроллера символов в Unreal Engine 4 с помощью Visual Script для ПК: 11 шагов
Как создать двумерный персонаж с помощью контроллера символов в Unreal Engine 4 с помощью Visual Script для ПК: 11 шагов

Видео: Как создать двумерный персонаж с помощью контроллера символов в Unreal Engine 4 с помощью Visual Script для ПК: 11 шагов

Видео: Как создать двумерный персонаж с помощью контроллера символов в Unreal Engine 4 с помощью Visual Script для ПК: 11 шагов
Видео: Unity vs. Unreal Engine: сравнение игровых движков 2024, Июль
Anonim
Image
Image

Как создать 2-мерного персонажа с контроллером персонажа в движке Unreal Engine 4 с помощью визуального скрипта для ПК Привет, я Джордан Стельц. Я занимаюсь разработкой видеоигр с 15 лет. Из этого туториала вы узнаете, как создать базового персонажа с вводом для движения на 2-й плоскости.

Шаг 1. Настройка Epic Games и Unreal Engine

Прежде чем мы начнем, мы должны убедиться, что у вас есть все, что вам нужно, чтобы следовать этому руководству. Вам понадобится движок Unreal Engine (желательно более поздней версии, чем 4.16), 2D-ассеты для персонажа и тестовая комната. Примечание: для использования движка требуется учетная запись Epic games, а для установки движка будет использоваться программа запуска эпических игр. Прежде всего, создайте учетную запись Epic games. Для этого вы можете перейти на https://www.epicgames.com/site/en-US/home и нажать кнопку входа в систему, затем нажать кнопку «Зарегистрироваться» и заполнить необходимую информацию. Затем, после этого нам нужно установить программу запуска Epic games, а затем установить версию Unreal Engine. После установки Epic Games Launcher войдите в программу запуска, используя только что созданную учетную запись, перейдите на вкладку Unreal Engine и нажмите кнопку установки движка. Еще одно примечание, нажатие на кнопку установки движка предложит вам установить последнюю версию Unreal Engine, на данный момент это Unreal Engine 4.21.2.

Шаг 2: Настройка проекта

После установки Движка пора создавать проект. В Unreal есть шаблоны, которые можно использовать, но мне нравится начинать с нуля, если вы хотите, вы можете использовать 2d-шаблон или создать пустой проект, дать ему имя и позволить ему загрузиться. Боковое примечание о начальном контенте, оно не понадобится для этого урока, однако вы можете сохранить его, если хотите.

Шаг 3. Получение анимации и настройка анимации персонажей

Следующее, что нам нужно сделать, это импортировать активы, я получил свои из: https://www.kenney.nl/. На этом сайте есть персонажи и тайловые карты, но если у вас есть собственные ресурсы, не стесняйтесь их использовать. Есть 2 способа импортировать активы в Unreal Engine: метод перетаскивания или вы можете нажать «Импорт» и импортировать нужные вам активы. Также я рекомендую создавать папки в движке, чтобы упростить поиск. Обычно я создаю папки для ресурсов персонажей, анимации и состояния перечисления, поэтому импортируйте спрайты, и когда вы выберете их все, используя «Ctrl» + «A», чтобы выбрать все спрайты, и щелкните правой кнопкой мыши один из выбранных спрайтов, перейдите к «Действия со спрайтами» и нажмите «Применить настройки 2D текстуры бумаги». Этот параметр делает импортированные файлы намного лучше. После этого, если спрайты не выбраны, используйте элемент управления и клавишу, чтобы снова выбрать все изображения, щелкните правой кнопкой мыши, найдите действия со спрайтами и нажмите «Извлечь спрайты». Затем самое интересное - создание анимации и начало настройки состояний анимации персонажей. А пока давайте сосредоточимся на самих анимациях. Я забыл упомянуть, что перед тем, как мы начнем, должен быть создан чертеж персонажа, щелкните правой кнопкой мыши класс чертежа, есть выпадающая кнопка для всех классов, щелкните эту кнопку и введите «Бумажный персонаж». Выберите этот вариант и дайте проекту имя. Я назову свое «EGA player_character». Теперь, когда он создан, мы можем создать анимацию для персонажа игрока. Если вы используете анимацию из kenney.nl, кадры анимации нумеруются, например, если есть 2 кадра для анимации ходьбы, имя будет «Assetname_walk_0» и так далее и так далее. Начнем с анимации ходьбы, находим соответствующие спрайты и нажимаем, удерживая клавишу Control, чтобы выбрать их, затем щелкните правой кнопкой мыши один из них и выберите параметр «Создать флипбук». Проделайте то же самое с остальными спрайтами для прыжков и спрайтами смерти.

Шаг 4: Работа с входами и состояниями перечисления

Далее, Enumeration States и настройка движения персонажа и ввода. Перечисления будут использоваться для хранения состояния плеера и будут полезны для настройки функции set flipbook позже. Чтобы создать схему перечисления, щелкните правой кнопкой мыши, перейдите к «Чертежи» и нажмите «Перечисление». Следующее, что нужно сделать, - это создать перечисление для использования в функции set flipbooks позже, после чего нам нужно создать входы для игрока. Для этого перейдите в «редактировать» >> «Настройки проекта» и найдите «Движок», нажмите «Ввод», и есть 2 варианта сопоставления: «Сопоставление действий» и «Сопоставление осей». Сопоставление осей будет использоваться для перемещения влево и вправо., Будет одно отображение осей и одно отображение действий, помните, что это базовое, и вы можете добавить больше вещей к своему персонажу. Во-первых, все, что вам нужно сделать, это нажать кнопку «плюс», затем дать ему имя, я назову его «Прыжок», когда вы перейдете к настройке ключевого ввода, есть много платформ и разных контроллеров, я буду придерживаться ПК. Итак, я устанавливаю ключ на стрелку вверх и пробел. Далее идет действие оси, я назвал его движением вправо и установил его на стрелку вправо. Теперь мы можем сосредоточиться на перечислениях, их будет 2 перечисления: ходьба и прыжки. Вы можете добавить свои собственные описания перечислений. Итак, вот как вы их добавляете, нажмите «Создать» и дайте перечислению имя и, если хотите, описание.

Шаг 5: Настройка чертежа персонажа

Теперь мы можем перейти к программированию, сначала установите спрайт по умолчанию, щелкнув компонент спрайта, найдя опцию Source Flipbook и выбрав анимацию ожидания, созданную ранее. Теперь нам нужно создать несколько переменных, нам нужно Boolean, Boolean или bool - это в основном вопрос истина или ложь, bool сообщит нам, движется ли персонаж игрока вправо. Я назову это "Движение вправо", затем поставлю вопросительный знак и приземлюсь. Приземлился будет использоваться для анимации прыжка и события приземлился позже.

Шаг 6: Создание вариантов

На этом этапе я хотел бы поднять классификацию переменных, которые мы создаем. С правой стороны есть панель с именем переменной, значением, редактируемым экземпляром (это означает, что он общедоступен, и вы можете изменить его в редакторе) и категорией, щелкните в текстовом поле категории и дайте категории имя, я предлагаю «Movement» будет содержать логическое значение и ссылку на конечный автомат перечисления, который мы создали ранее. Нам также нужно будет создать еще один логический объект, связанный с движением, который я назову приземленным. Затем пришло время сосредоточиться на переменных для флипбуков, для них есть тип переменной, называемый Paper Flipbook, установите для него ссылку на объект, скомпилируйте план, чтобы вы могли редактировать значения переменных по умолчанию, однако я должен предостеречь от изменения значений по умолчанию для логического переменные в true, это испортит то, что мы делаем позже. Создайте необходимое количество переменных объекта flipbook. После этого нам нужно будет добавить камеру и компонент пружинного рычага, чтобы добавить компонент, просто нажмите «Добавить компонент» и найдите камеру, но не забывайте, что также требуется пружинный рычаг, поэтому снова нажмите «Добавить компонент», найдите пружинный рычаг и выберите Это. Теперь щелкните и перетащите камеру, если она еще не является дочерним элементом пружинного рычага на пружинном рычаге.

Шаг 7: настройка камеры

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

Боковое примечание устанавливает ограничения для символа x, y и z как для поворота, так и для положения.

Шаг 8: изменение игрового режима

Image
Image

Следующее, что нам нужно сделать, это изменить настройки игрового режима, для этого мы переходим на вкладку редактирования и выбираем настройки проекта, затем находим карты и режимы, щелкаем по морковке по выбранному игровому режиму, похоже, мне может потребоваться создать новый игровой режим, поэтому, если ваши параметры выделены серым цветом, как у меня, щелкните значок плюса рядом с названием выбранного режима игры. Я делаю это, чтобы мы могли редактировать персонажа игрока, который Unreal будет использовать всякий раз, когда мы загружаем игру.

Шаг 9. Настройте создание функции Flipbook

Пришло время начать работу по настройке контроллера движения персонажей игрока, дважды щелкните созданный вами бумажный чертеж персонажа, и вы перейдете в одно из двух окон: график событий или окно просмотра, если вы еще не находитесь в графе событий и находятся в области просмотра, нажмите 3-ю вкладку (если вы используете настройку unreal Engine по умолчанию). Вас встретит пустой экран с прямоугольником с морковкой под названием OnEvent BeginPlay, пока не беспокойтесь об этом. Вместо этого мы собираемся настроить собственную функцию установки книжки-книжки.

Под вкладкой компонентов находится вкладка функций, щелкните значок плюса на вкладке функций, на этом этапе мы должны создать переменную для хранения конечного автомата, который мы создали ранее, конечный автомат поможет легко переключаться между анимациями без использования стандартного Unreal Установите функцию Flipbook, дважды щелкните новую функцию, и появится фиолетовое поле с названием новой функции, щелкните на нем, и есть опция для входов, нажмите плюс на вкладке входов, установите переменную, нажав кнопку раскрывающегося списка и в строке поиска введите имя перечисления, которое было создано ранее, в качестве начального ввода или, как я обычно называю это следующим состоянием. Затем установите экземпляр для состояния, перетащив переменную enum с вкладки переменных, и когда вы это сделаете, щелкните параметр set. Вне этого нажмите на морковку и перетащите, затем отпустите кнопку мыши, появится меню с типом панели поиска, установленным в функции, выберите этот самый вариант, в этом варианте у нас есть несколько вариантов, например: target, которая автоматически устанавливается на спрайт, и новый flipbook, с этой опцией flipbook, перетащите ее и выберите для поиска. При выборе есть индекс, по умолчанию это логическое значение, мы можем изменить это, перетащив конечный автомат в индекс, что даст нам возможность использовать созданные нами книжки, перетаскивать эти переменные. в соответствующие позиции, как бы вы это ни настраивали. Этот выбор будет тем, что решит следующий флипбук. После установленного флипбук функции перетащите заданный флипбук и введите узел возврата. Я делаю это для аккуратности, это не требуется. Это все, что нам нужно для функции set flipbook.

Шаг 10: Настройка компонента движения

Затем нам нужно настроить компонент движения. Войдите в граф событий, щелкните правой кнопкой мыши и выполните поиск. Ось ввода. Я назвал ось ввода для перемещения вправо, MoveRight. Это событие будет нашим контроллером движения. Затем за пределами оси ввода перетащите провод с моркови и выполните поиск с плавающей запятой, если значение оси еще не находится во входном пузыре, перетащите провод значения оси на входной пузырек. В поплавке сравнения есть 3 важные части, мы не будем использовать часть == поплавка сравнения. В части <нам нужно установить перемещение вправо bool, перетащив переменную с панели на график событий и щелкнув опцию установки и щелкнув флажок один раз, это установит значение bool для перемещения вправо true, перетащите перемещение вправо bool и установите для него значение false для <, части с плавающей запятой. Из этого перетащите провод от одного из операторов набора и выполните поиск ввода добавления движения, возьмите другой оператор набора и перетащите его во входной элемент добавления движения сценария, затем перетащите из пузыря оси ввода на значение масштаба ввода добавления движения. пузырь. Боковое примечание, я рекомендую комментировать, поэтому, как вы это делаете, щелкните левой кнопкой мыши и перетащите фрагменты кода, которые вы хотите прокомментировать, и нажмите C.

Шаг 11: направление прыжка и завершение

Image
Image

Наконец, перейдем к контроллеру направления. Это будет включать в себя поплавок для сравнения. Создайте еще одно настраиваемое событие, оттуда нам понадобится сравнение с плавающей запятой, для сравнения с 0, нам нужно получить скорость, но вместо того, чтобы просто получить скорость, разделите вывод возвращаемого значения, щелкнув правой кнопкой мыши и щелкнув значок разделенной структуры. Используйте возвращаемое значение X в качестве входных данных для сравнения с плавающей запятой с> и ==, идущими к истине ветви, которую нам нужно создать, используя переменную перемещения вправо с <и ложью ветви, ведущей к заданному вращению элемента управления, что нам нужно будет разделить пузырь вращения тем же методом, который использовался для разделения булавки получения скорости, а затем установить для булавки Z значение 180.0, однако, поскольку у нас нет цели, но нереальный движок будет кричать на нас, пока мы не найдем цель, Здесь мы щелкаем правой кнопкой мыши и набираем в строке поиска «получить контроллер», используя возвращаемое значение для заданных узлов вращения. Второй узел управления вращением набора будет иметь все равное 0. Еще одна вещь - прыжки, это будет несколько долго. Первое, что мы делаем для этой части набора символов, - это ищем переход по оси ввода или что-то еще, что вы решили назвать это сопоставление кнопок, оттуда мы увидим, что есть нажатая и отпущенная ветвь на нажатой, которую мы можем перетащить из этот треугольник и поиск прыжок, при отпускании мы можем посмотреть стоп-прыжок. Однако на этом мы не закончили, щелкните правой кнопкой мыши и найдите, можно перейти и использовать возвращаемое значение в ветке на истинном событии, которое нам нужно, чтобы вызвать нашу функцию set flipbook и добавить задержку в 0,2 секунды, а затем получить ссылку на компонент движения персонажа и посмотрите, падает ли персонаж при поиске, попадает ли он в строку поиска, используя возвращаемое значение этого, чтобы установить наш флипбук в состояние ожидания (поскольку персонаж, который я использую, не имеет анимации падения по внешнему виду).

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

Рекомендуемые: