Unreal Engine

Unreal Engine blueprint, простое движение объекта

Unreal Engine blueprint, простое движение объекта

Для создания любой игры, нам понадобиться движущиеся объекты. Создадим цель для игры от первого лица. Для тестового обзора сделаю движение обыкновенного куба. Для этого создаем Blueprint Class.

Unreal Engine blueprint
Unreal Engine blueprint

В открывшемся окне выбираем класс Actor, даем название «BP_CubeTarget».

Unreal Engine blueprint
Unreal Engine blueprint

Двумя щелчками открываем «BP_CubeTarget», появиться дополнительный редактор.

Unreal Engine blueprint
Unreal Engine blueprint

В левой части редактора во вкладке «Components» щелкаем на +ADD и добавляем cube.

Unreal Engine blueprint
Unreal Engine blueprint

Вставляем cub на начало координат, перемещаем его за стрелочки, так же сразу назначим кубу материал, для отличия на сцене. Для этого в правой части редактора есть панель Details, прокручиваем ниже и находим Materials и назначаем материал. Сохраняем.

Unreal Engine blueprint
Unreal Engine blueprint

После этого переходим во вкладу Event Graph для построения логики движения объекта. Логика будет состоять из узлов. Для составления логики необходимо получить информацию о местоположении объекта на сцене, а так же задать направление и скорость движения.
Первым этапом подготовимся и создадим переменные скорости и направления. В левой части редактора находим вкладку VARIABLES (переменная), жмем на кнопку «+», создается переменная. Даем название переменной «SpeedCub» в левой части редактора details в строке variable type установим значение Float (число с плавающей точкой), так как установленная скорость может быть и не целым числом. Задаем вторую переменную направления, даем ей название Direction_cube в строке variable type установим значение Vector. Сохраняем изменения и после этого можем установить скорость в переменной SpeedCub и направление в переменной Direction_cube (x, y, z. Установим х -10). Опять сохраним изменения.

Создаем логику движения blueprint

Итак, подготовку к составлению логики закончили. Перетаскиваем Direction_cube на сетку редактора.

Unreal Engine blueprint
Unreal Engine blueprint

Так как логика состоит из разных числовых параметров. Необходимо произвести нормализацию значения вектора для дальнейшей работы. Из узла вытягиваем провод и в появившемся окне ищем узел Normalize.

Ниже перетаскиваем переменную SpeedCub, ее умножаем на узел Delta (время).  Этот узел отвечает за сохранение одинаковой скорости при разной частоте кадров в секунду.

Unreal Engine blueprint
Unreal Engine blueprint

Получившиеся значения направления и скорости необходимо перемножить и добавить к текущему местоположению.
Чтобы получить текущее местоположение перетаскиваем на сетку DefaultScene, получаем узел и из него вытягиваем провод, в поисковике ищем узел GetWorldTransform. Из GetWorldTransform вытягиваем и подключаем узел BreakTransform. Данный узел разбивает GetWorldTransform на составляющие: положение, вращение, масштаб.

Unreal Engine blueprint
Unreal Engine blueprint

После сложение всех значение добавляем узел MakeTransform (создать преобразование), что означает конец вычислений.

Unreal Engine blueprint
Unreal Engine blueprint

Так как в узле MakeTransform три входа то к первому подключаем вычисление, а ко второму и третьему подключаем вращение и масштаб из узла узел BreakTransform.

Unreal Engine blueprint
Unreal Engine blueprint

Теперь запускаем логику. Для этого добавляем справа EventTick (каждый кадр). Чтобы выполнять перемещение добавляем узел SetActorTransform.

Unreal Engine blueprint
Unreal Engine blueprint

Соединяем EventTick с SetActorTransform и наше вычисление из Returm Value к New Transform. Сохраняем и компилируем. Вынесем наш куб на сцену и попробуем запустить.

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

 

Улучшаем логику движения blueprint

 

Теперь улучшаем нашу логику, делаем так, чтобы куб двигался из одной точки и с течением определенного времени начинал двигаться обратно.  Для этого вытащим два раза Direction_cube, установим разные значения (10, -10).

blueprint
Unreal Engine blueprint

Для переключения направления используем узел Flip Flop, соединим.

blueprint
Unreal Engine blueprint

Добавим последний узел времени Delay, установим задержку в секундах.

blueprint
Unreal Engine blueprint

Соберем логику в единое целое, сохраняем и запускаем.

Наблюдая за кубом, увидим, что куб двигается в одну сторону и в прошествии установленного времени, возвращается.

Можно поэкспериментировать со значениями времени, направления, скорости и получить разные результаты.

Для помощи в развитии и поддержании отечественного сайта:  ЮMoney —  4100 1180 2329 7590

blueprint
Unreal Engine blueprint

  1. Простые материалы в «Unreal Engine». – https://moi3d.ru/unreal-engine-materials/
  2. Unreal Engine blueprint, простое движение объекта – https://moi3d.ru/unreal-engine-blueprint-prostoe-dvizhenie-obekta/
  3. Unreal Engine blueprint, простая смена материала при попадании. – https://moi3d.ru/unreal-engine-blueprint-smena-materiala-pri-popadanii/
  4. Unreal Engine blueprint передвижение персонажа, бег (спринт). – https://moi3d.ru/unreal-engine-blueprint-peredvizhenie-personazha-beg-sprint/
  5. Настройка приближения камеры, прицеливание (zoom). – https://moi3d.ru/igry-na-unreal-engine-pricelivanie-zoom/
  6. Создание игры на Unreal Engine. Добавление звукового эффекта, эффекта взрыва и удаление объекта со сцены. – https://moi3d.ru/sozdanie-igry-na-unreal-engine-5/
  7. Создание игры на Unreal Engine. Создание пользовательского интерфейса в Unreal Engine. – https://moi3d.ru/sozdanie-igry-na-unreal-engine/
  8. Разработка игры на Unreal Engine. Подключение пользовательского интерфейса в Unreal Engine. Часть 2. – https://moi3d.ru/razrabotka-igry-na-unreal-engine/

Полезные ссылки:

  1. Блог по моделированию на Rutub – https://rutube.ru/channel/24865428/
  2. Статьи по 3д в blender – https://moi3d.ru/category/stati/
  3. Создание игр на Unreal Engine 5 – https://moi3d.ru/category/unreal-engine/

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