Как сделать управление персонажем ue4

Обновлено: 05.07.2024

Существует множество способов разработки игр для Android, и одним из лучших способов 3D разработки является использование движка. Движок предоставляет основу для создания 3D-сеток из 2D-изображений, физики, реалистичного освещения и многих других функций, реализация которых с нуля была бы трудоемкой для разработчика. Одним из таких движков является Unreal Engine.

Unreal Engine, созданный в 1998 году компанией Epic Games, является движком, созданным в первую очередь для жанра шутеров от первого лица. При этом не существует ограничений и движок может использоваться для самого разного типа игр. Стоит отметить, что движок является полностью бесплатным для любых некоммерческих проектов (для платных игр разработчики запрашивают 5% прибыли, но только в том случае, если доход превышает 3000$ в квартал). Последняя версия движка, Unreal Engine 4, поддерживает все платформы и операционные системы, включая Windows, Linux, OS X, Android, Xbox One, PlayStation 4 и Ouya, а также поддерживает множество различных графических API, таких как DirectX 11 и 12, OpenGL, Vulkan и JavaScript/WebGL. Unreal Engine очень универсален, и несмотря на то, что он немного сложнее в использовании, чем Unity, он предоставляет очень обширные функциональные возможности и непревзойдённую графику.

В этой статье мы рассмотрим, как установить и настроить Unreal Engine для работы в Android, а также соберём стартовый проект.

Для того, чтобы установить Unreal Engine 4, вам понадобится зарегистрировать учётную запись (или авторизироваться) на сайте Unreal Engine. После этого нужно скачать и установить программу Epic Games Launcher, нажав на этом же сайте кнопку Download.

Открыв Epic Games Launcher, перейдите на вкладку Unreal Engine.




После завершения установки вы увидите Unreal Engine в библиотеке Epic Games Launcher.


NIVIDA CodeWorks это набор инструментов для GPU и CPU, также включающий в себя Android SDK и различные библиотеки для разработки под Android, причём не только на устройствах Tegra.

Чтобы установить его, нужно скачать установщик, перейдя на сайт NVIDIA и нажав на Download. Либо, если Шаг 1 уже выполнен и Unreal Engine установлен, вы можете найти установщик в папке с движком, путь до него выглядит следующим образом: — Engine — Extras — AndroidWorks — .

Примечание: в случае, если у вас установлена Android Studio вместе с Android SDK, переменные среды имеют значения для текущего Android SDK. Однако после установки NVIDIA CodeWorks установщик перезапишет эти значения на те, которые требуются для CodeWorks, имейте это ввиду.

Запустив установщик, вам будет предложено выбрать, какие компоненты следует установить.


Выберите Standard, Full или Custom в зависимости от того, какие компоненты вы хотите установить. Как правило, стандартного набора для начала более чем достаточно.

Запустив Unreal Editor, вы попадёте на экран создания нового проекта.


Здесь доступны самые разные пресеты для проекта, однако в нашем случае для приложения на Android выставите следующие параметры:

  • выберите Third Person в списке проектов (Blueprint).
  • в качестве целевой платформы выберите Mobile/Tablet.
  • уровень графики укажите Scalable 3D or 2D.
  • выберите No Starter Content.


Также не забудьте указать имя проекта и путь до него. Когда всё будет готово, нажмите Create Project и Unreal Editor создаст проект с заданными параметрами.

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


В открывшемся окне перейдите в раздел Platforms — Android SDK. Здесь нужно прописать пути до установленных с помощью NVIDIA CodeWorks компонентов.


Теперь перейдите в раздел Platforms — Android. Здесь настраивается основная информация о приложении (имя пакета, версия, минимальный и целевой SDK, иконка приложения), а также многие дополнительные параметры.


В разделе APKPackaging нажмите Accept SDK License, чтобы принять лицензионное соглашение. После этого в разделах APKPackaging и Google Play Services нажмите Configure Now, чтобы сконфигурировать файлы проекта.

После этого укажите имя пакета, название приложения, а также минимальный и целевой SDK.


При желании вы также можете изменить и другие параметры.

Примечание: по умолчанию сборкой проекта занимается Gradle. Если вы хотите использовать в качестве сборщика проекта Apache Ant, уберите флажок с поля Enable Gradle instead of Ant.

На этом настройка проекта завершена и вы можете просто закрыть окно настроек.

По умолчанию, в проекте загружен уровень ThirdPersonExampleMap.


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

Затем в меню нажмите на стрелку рядом с пунктом Launch и выберите подключенное устройство.


После этого начнётся сборка проекта с последующим запуском на устройстве.

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

Как только сборка будет завершена, вы увидите собранный уровень на своём устройстве и сможете взаимодействовать с ним.

Примечание: во время сборки может возникнуть ошибка, показанная ниже.

В этом случае вам нужно выполнить следующие действия:

  1. Запустите из установленного NVIDIA CodeWorkds файл /tools/android.bat.
  2. Нажмите Deselect All.
  3. Поставьте флажок на Android Support Repository в разделе Extras.
  4. Нажмите Install.

После этого репозиторий поддержки обновится и ошибка должна пропасть.

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

Посмотрим, что получилось в результате в APK-файле. Воспользуемся утилитой Android Studio под названием APK Analyzer, которая позволяет узнать, какие файлы содержит в себе APK и сколько места они занимают.

Итоговый APK-файл имеет размеры 45,5 MB и 44,7 MB в несжатом и сжатом виде соответственно и включает в себя следующие файлы.


Как можно увидеть, кроме стандартных файлов приложения имеются также сторонние библиотеки, занимающие большую часть APK, которые были добавлены в проект движком. Кроме того, APK содержит в себе 4932 класса и 27574 метода.

Если посмотреть содержимое файла AndroidManifest.xml, то можно обнаружить, что приложение запрашивает следующие разрешения:

Таким образом, с помощью нескольких шагов мы установили и запустили на устройстве приложение, построенное на движке Unreal Engine 4.

Разработка приложений на Unreal Engine 4 : 6 комментариев

У меня при компиляции на телефоне не видны модели персонажей, когда на компе всё норм. Даже создавал локальную сессию, на компе видел своего персонажа и персонажа управляемого с телефона, а вот на телефоне оба персонажа невидимы. В чем проблема?

На телефоне хорошо выглядит в landscape режиме, если переключить в portrait режим, то сразу идет растяжение и тд , камеру надо настраиввать под разрешение экрана, есть статья на эту тему?

Подскажите, все сделал как в гайде. телефон подключил его находит все окей, но я нажимаю лаунч чтоб запустить тест на телефоне и ue4 закрывается. прекращает работу просто и все. 100 раз уже пробовал. кто-нибудь в курсе?


Рейтинг:

Учебное пособие по рендерингу и телепортации портала (ссылка для скачивания в описании) - Unreal Engine 4

Я сделал простую анимацию удара в Blender и экспортировал ее в Unreal Engine 4. В игре персонаж появлялся от третьего лица, но я сделал его похожим на вид от первого лица, настроив камеру.

Теперь, когда я поворачиваю камеру в игре, я могу смотреть по сторонам на разные части тела персонажа. (Например, если я поверну направо, я вижу плечо моего персонажа, а если я смотрю вперед, я вижу только запястья.) Каждый раз, когда я поворачиваю камеру и запускаю анимацию удара, это выглядит странно, потому что модель персонажа не соответствует не совмещен с камерой.

Как заставить тело вращаться вместе с камерой, чтобы моя анимация выглядела правильно?

У меня персонаж от третьего лица. Я использую желаемое вращение контроллера для вращения персонажа с помощью мыши, как в PUBG и т. Д. Как я могу изменить максимальную скорость ходьбы, когда иду вперед? Например, когда я иду .

1 ответ

Я могу предложить решение для Blueprints, хотя я не уверен, что оно подходит для вашего случая.

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

Blueprint for direction-dependent movement speed

Выходными данными AxisValue события ввода MoveForward является +1 при нажатии вперед и -1 при нажатии назад.

Если ваша скорость ходьбы равна 500, то верхний элемент AddMovementInput добавляет 500 движений, умноженных на 1, в направлении, в котором смотрит игрок.

Нижний добавляет 500 движений, умноженных на -1, умноженное на 0,5, что заставит вас двигаться назад (технически, вперед с отрицательным значением) с половинной скоростью.

Вы можете применить ту же логику к входу MoveRight .

PS Если вы используете аналоговый контроллер, я предполагаю, что AxisValue будет находиться в диапазоне от -1 до 1, но это не меняет логику выше.

Сразу поясню, что мне нужно: я хочу чтобы у меня от первого лица было видно ноги. Я это сделал, но анимации от первого лица выглядят кривовато. Как это работает в других играх? Например battlefield, call of duty или squad (кстати сделан на ue 4) у меня появилась идея, что нужно отдельно проанимировать тело без рук, а потом отдельно руки и сделать из этих анимаций монтажи. Так будет легче например делать те же анимации, но с другим типом оружия (бег, ходьба и т. д.) правда я не совсем понимаю как их потом соединить, чтобы например при нажатии на кнопку ходьбы проигрывалось сразу 2 анимации. Так вот каким способом это лучше всего сделать? Чтобы выглядело красивом не особо геморно.

обычно для вида от третьего лица и вида от первого используется 2 модели. На виде от третьего - целая модель, на виде от первого - летают руки с ногами, без головы, иногда даже без туловища. В разных играх по-разному.

Я сделал простую анимацию в Blender и экспортировал ее в Unreal Engine 4. В игре персонаж появился с точки зрения третьего лица, но я сделал его похожим на первого лица, отрегулировав камеру.

Теперь, когда я включаю камеру в игру, я могу осмотреться в разных частях тела персонажа. (Например, если я повернуть направо, я вижу плечо своего персонажа, и если я столкнусь с фронтом, я вижу только запястья.) Всякий раз, когда я поворачиваю камеру и запускаю анимацию пуансона, она выглядит странно, потому что модель персонажа не является 't выровнен с камерой.

Как я могу заставить тело поворачиваться вместе с камерой, так что моя анимация выглядит правильно?

1 ответ

Читайте также: