Как сделать приседание в unreal engine 4

Обновлено: 08.07.2024

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

Я хочу выполнить это следующим образом:

  1. Чтение преобразования из массива
  2. Разместите камеру там, где она должна быть
  3. Сделать снимок экрана (автоматически)
  4. Перейти к 1.

Схема, которую я создал, выглядит следующим образом:

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

Как правильно делать эти автоматические скриншоты?

PS: новичок в UE.

2 ответа

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

Не используйте цикл for, так как это приводит к блокировке вызова слишком большого количества операций.

Вот что должно сработать:

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

Поэтому я бы порекомендовал иметь переменную Index в вашем плане, и каждый кадр вы:

  1. Сделайте снимок экрана
  2. ++Индекс
  3. Если Index >= CameraTransforms.Count, выйти
  4. В противном случае установите для камеры CameraTransforms[Index]

Затем дождитесь следующего кадра. Причина, по которой я рекомендую сначала сделать снимок экрана, заключается в том, что вы дали время потокам игры/рендеринга обновить последнее преобразование камеры, которое вы установили в конце последнего кадра.

Чтобы реализовать мобильную игру именно так, как это было задумано, стоит выбрать движок еще на стадии проработки идеи. Бесплатное ПО Unreal Engine популярно среди разработчиков благодаря универсальности платформы – функционал позволяет реализовать даже игру ААА-уровня, что недоступно во многих других бесплатных движках.

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

Движок Unreal Engine: характеристики ПО и требования к оборудованию разработчика

Движок Unreal Engine был разработан в 1996 году командой разработчиков Epic Games и работает на основе языка программирования C++. Первой разработанной на платформе игрой стал шутер от первого лица Unreal, а сам движок распространялся на платной основе по модели ежемесячной подписки.

Только с 2015 года UE стал условно бесплатным, но пользователи движка все же обязаны выплачивать роялти в размере 5%, когда игра выходит в релиз. Благодаря языку программирования C++ на движке можно без проблем делать игры для:

  • Windows;
  • Mac OS;
  • Linux;
  • Xbox;
  • PlayStation;
  • Wii;
  • Dreamcast и других платформ.

В последние годы мобильные платформы стали одним из приоритетных направлений геймдева на Unreal Engine, поэтому разработка для iOS и Android также поддерживается. Вы можете сравнительно быстро импортировать игру с одной платформы на другую за счет модульной системы зависимых компонентов.

  • процессор – 4 ядра с частотой 2,5 GHz или выше;
  • оперативная память – не менее 8 GB;
  • видеокарта – любая, поддерживающая DirectX 11.

Впрочем, движок постоянно обновляется и совершенствуется, Epic Games выпускает новые паки и оптимизирует среду разработки под новые устройства. Главной задачей Unreal Engine является упрощение создания качественного проекта, в том числе с играбельным и стабильным мультиплеером. Масса ассетов и возможность контролировать не только механику, но и графику игры – одни из главных особенностей UE.

Среди других характеристик, которые отличают данный движок от других, можно выделить:

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

UE5: какие сюрпризы подготовили создатели платфомы для пользователей новой версии

Логичным эволюционным шагом в развитии Unreal Engine стала 5-я серия движка, выпущенная в 2021 году. По словам Epic Games, она вывела ПО на новый уровень фотореализма – это было главной целью обновления. Но это отнюдь не все важные нововведения:

Если говорить о том, для каких проектов можно выбрать Unreal Engine, ответ будет простым – для любых. Неважно, будет это простая карточная 2D-игра или полноценная ААА-проект – UE обеспечит быстрый процесс разработки с огромным набором ассетов и вспомогательных систем.

Знание языка C++ несомненно потребуется для подгонки нюансов и персонализации, но интуитивный механизм добавления объектов позволит проработать игровой мир гораздо быстрее, чем на движках-аналогах. Таким образом, при желании получить результат с отличной графикой, реалистичной физикой и стабильностью работы стоит выбирать именно Unreal Engine.

Новичкам на заметку

В сторону Unreal Engine редко смотрят новички, а все из-за того, что на первый взгляд интерфейс кажется слишком сложным. Но стоит посвятить его изучению чуть больше времени, и в итоге вы получите отличный инструмент для любых творческих задач.

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

У Unreal Engine есть как плюсы, так и минусы, которые имеют индивидуальный оттенок, ведь в зависимости от проекта важны разные характеристики. Впрочем, список преимуществ можно построить следующим образом:

  1. Весь код проекта пишется на С++, есть встроенный графический редактор Blueprints.
  2. ПО максимально стабильно, разработчик может рассчитывать на полное отсутствие багов.
  3. Unreal Engine одинаково хорошо подходит как для проработки кинематографических спецэффектов, так и видеоигр.
  4. Пользоваться UE и всем его функционалом можно абсолютно бесплатно. Но не забывайте, что роялти от продаж успешной игры выплатить все же придется (при обороте в более, чем 100 000 $).

Но при этом веские минусы данного движка тоже имеются:

На Unreal Engine были созданы множество глобальных и красивых игр для мобильных устройств. Пятерка наиболее известных продуктов, которые вдохновят нас на создание собственного проекта:

  • Fortnite.
  • PES 2020.
  • Lineage 2: Revolution.
  • Heroes Reborn: Enigma.
  • PUBG Mobile.

Чтобы быстрее и продуктивнее освоить Unreal Engine, новички могут использовать ряд рекомендованных ресурсов: YouTube-канал от разработчиков движка, онлайн-курсы по геймплею и графике.

Следите за обновлениями блога! Мы готовим еще много интересных материалов для начинающих разработчиков, которые только планируют ворваться в мир геймдев.

Alexander Dracott поделился некоторыми своими личными советами и фишками, которые сам довольно часто использует.

Импорт текстур в Unreal 4


Сохранение памяти: текстуры Channel-pack


Одна из особенностей Unreal — это большой объем контроля, который вы получаете, создавая свои собственные материалы. Когда вы создаете несколько черно-белых масок для текстур, таких как roughness или transmission, вы можете сэкономить память, спрятав каждую маску в отдельный канал R,G или B, а затем получив доступ к каждому каналу этой текстуры отдельно.

Физически корректный рендеринг


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

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

Повторное использование текстуры


Еще одним удивительным элементом Unreal 4’s Material Editor является то, что он позволяет повторное использование текстуры. Это поможет вам не только сохранить память, но и сэкономить время. Иногда red channel из rock albedo texture можно использовать как черно белую маску для roughness. Текстуру черепицы из Photoshop можно легко наложить на кирпич, а также смешать с другой текстурой для наложения на другие элементы.

Не накладывайте ненужных текстур


Иногда определенные текстуры не нужны. Для 100% неметаллических материалов, таких как древесина или грязь, текстура металла может быть заменена в Material Editor простой константой с плавающей точкой и значением 0. Этот же принцип можно применить для нескольких версий одного и того же материала. Вам не нужны отдельные normal maps, например, для трех разновидностей кирпича, отличающихся по цвету. Можно использовать одну normal map для всех.

Создание набора основных материалов


Повторное использование материала


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

Комментарии и организация материалов

Для сложных материалов Unreal 4 предлагает очень полезные организационные инструменты. Выбор группы нод и нажатие C помещает эти ноды в комментарий, который затем можно перемещать как группу и кодировку цвета. Комментарии (и отдельные ноды) могут содержать базовые текстовые пояснения.

Функции материалов


Функции материалов можно вызвать несколько раз для выполнения определенного набора инструкций. Они создаются вне материала в Content Browser, но затем могут быть вызваны, чтобы упростить их. Они могут содержать свой собственный inputs и могут стать отличным способом сэкономить время, когда нужно вызвать несколько повторяющихся операций.

Материалы листьев


Листва может быть одной из самых сложных вещей, т.к. совсем не просто обеспечить ее правильное отображение в любом игровом движке. В UE4 версии 4.18 существует Foliage Shading Model, которая упрощает эту задачу. Я настоятельно вам ее рекомендую, поскольку она поддерживает передачу подповерхностного слоя, что в большинстве случаев дает преимущества. Кроме того, советую добавить sky light к вашей сцене, чтобы помочь сбалансировать некоторые более темные области сетки листвы, которые могут быть в тени.

Vertex colour


Доступ к цветам Vertex в материалах — одна из моих любимых функций в Unreal 4. Они могут быть невероятно мощными при творческом подходе. От ambient occlusion до masking out wind и world offset для листвы — их универсальность колоссальна. Они особенно полезны при смешивании текстур. Vertex colors можно импортировать из внешнего программного обеспечения 3D или импортировать и нарисовать в редакторе.

Детализированные diffuse и normal


Так как вы можете настроить параметры текстурирования ультрафиолетового излучения, вы можете увеличить детали материала путем смешивания в дополнительном наборе текстур. Обычно это diffuse или normal maps, которые затем поочередно накладываются поверх базовых. Вы можете использовать любой удобный для вас метод, например, такой как Overlay Blend Function, в то время как подробные normal maps могут быть применены путем добавления красного и зеленого каналов к основанию.

Смешивание текстур в материалах


Хотите объединить текстуры в material editor, но знакомы только с режимами смешивания Photoshop? Epic превзошел все ваши ожидания. Наряду со многими полезными функциями материалов он включает в себя большинство режимов смешивания, с которыми знакомы все пользователи Photoshop. От Overlay до Linear Dodge их можно найти в окне палитры внутри Material Editor. Они могут быть особенно полезными для добавления деталей к вашим материалам.

Знание типов источников освещения


Unreal предлагает четыре различных типа света для использования в окружающей среде: Directional, Point, Spot, и Sky light. Свет Directional отлично подходит для наружных зон или любого необычного источника света. Свет Point является всенаправленным, а Spot похож на него, но имеет ограничения, определенные конусом. Sky light может использоваться для добавления света в окружающую среду, захватывая отдаленные части вашей карты. Поддерживаются также пользовательские Cubemaps.

Добавление тумана к вашей сцене


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

Создание умных световых валов


Съемки с высоким разрешением


Хотя пользовательские видео разрешения могут быть выведены из Matinee, есть быстрый и простой способ сделать кадры в высоком разрешении прямо из редактора. Нажав на маленькую нисходящую стрелку в левом верхнем углу вашего Viewport, вы можете открыть небольшое раскрывающееся меню. Внизу можно открыть окно High Resolution Screenshot window. Оттуда снимки в высоком разрешении могут быть захвачены и отправлены в папку вашего проекта: project/saved/Screenshots folder.

Корректировка цвета и таблицы поиска

Финальные цвета рендеринга можно настроить на основе художественных предпочтений. Хотя существуют опции для базовых настроек, таких как контраст и оттенок, пользовательская коррекция цвета может быть выполнена с использованием таблиц цветового поиска. Эти таблицы допускают сложное преобразование цвета и могут быть сделаны при помощи базового файла, доступного на сайте Epic Unreal 4 и в Photoshop, или в других программах для настройки изображений.

Редактирование световых переходов и бликов


В играх и 3D стало популярным отображать световые переходы и блики, их можно включить и настроить в UE4, используя специальные зоны постобработки — post-process volumes. Световой поток настраивается практически по всем характеристикам. Размер, цвет, интенсивность и порог можно изменить и даже использовать их для маскировки текстур грязи и имитации грязных линз. Аналогично, вспышки также могут быть включены, а их форма и интенсивность регулируются.

Создание глубины резкости


Unreal 4 поддерживает как резкость по Гауссу, так и настраиваемую. Оба эти параметра существуют в настройках Post Process Volumes. Следует также отметить, что инструменты, которые помогают с размытием тонких объектов перед удаленными, иногда могут создавать проблемы. Нужно проявлять осторожность в применении глубины резкости, например, к листве или другим подобным элементам.

Автоэкспозиция и адаптация глаз


Автоматическое управление экспозицией включено по умолчанию и имитирует настройку глаз на яркие или темные области. Эффект является потрясающим, но может создавать постоянно изменяющиеся визуальные переменные, которые трудно поддерживать внутри. Регулировку диапазона экспозиции можно выполнить в настройках volumes после обработки. Её можно отключить, если установить минимальную яркость, равную максимальной. Смещение экспозиции можно использовать для настройки её базовых параметров.

Световые функции


Одна интересная особенность в Unreal 4 — поддержка материалов с функцией освещения. Эти материалы действуют как маски для света и могут использоваться, чтобы сделать что-либо: от пользовательских цветовых вариаций в свете до облачных теней на земле. Они создаются путем установки функции Material Domain to Light в Material Editor, их можно использовать при spot, point и directional lights.

Сэкономьте время, скопировав и вставив


Еще одна особенность, которую нужно знать об Unreal 4, заключается в том, что любой объект одного уровня может быть скопирован и вставлен непосредственно на другой уровень в рамках одного и того же проекта. Он будет отображаться с теми же свойствами и в том же месте.

А самое крутое — это то, что все, что скопировано из Unreal, можно вставить в текстовый документ. Затем этот текст можно скопировать и повторно вставить на другой уровень Unreal 4.

Режим просмотра и визуализация рендер пасов


Знание того, что составляет ваш образ, является неотъемлемой частью работы в любом 3D-движке и работает в отложенном рендерере, например, UE4 позволяет использовать некоторые полезные режимы просмотра. Нажатие Alt и 1-8 переключается между различными режимами просмотра, такими как Unlit или lighting only, но если вы нажмете кнопку View Mode в окне Viewport, вы можете просмотреть отдельные рендер пасы. Это может быть полезно для просмотра широких диапазонов материалов, таких как roughness.

Рекомендации по производительности


Создание реалистичных горных сцен в UE4

Меня зовут Майкл Ди Лонардо, я начинающий художник окружения из Канады. Окончил факультет графического дизайна и в основном работал в мультимедиа: в публичных местах, автомобильных выставках, концертах, иммерсивных шоу и т.д. В последнее время меня больше всего интересует дизайн окружения. Я нигде не учился этому, и изучал все, что только мог, самостоятельно, через онлайн ресурсы. С Unreal Engine 4 познакомился всего несколько месяцев назад. К счастью, сейчас есть множество различных источников информации, но, тем не менее, даже учитывая, что я уже знаком с некоторыми 3D программами, эта оказалась другим зверем, и у меня взрывался мозг, пока я ее изучал.


Запуск проекта и использование World Machine

Как правило, создание проекта начинается с рождения идеи, затем идет поиск вдохновения, может, даже создание подборки картинок для мудборда, и так далее. Но у меня было иначе, так как этот проект не планировался как приоритетный. Будучи новичком в UE4, я хотел просто поэкспериментировать с инструментами скульптурного выдавливания (sculpting tools) для ландшафтов. Они уже были рассмотрены в моем предыдущем проекте, но мне было интересно побольше в них разобраться. Я хотел взять за основу что-то более интересное, чем обычный стандартный ландшафт, поэтому создал базу в World Machine. Забавно, что один из ключевых моментов работы с программами рельефа местности — не лепить рельеф вручную, а я собирался смешать оба способа!

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


Затем использовал функцию Use Breakup , чтобы создать более реалистичную форму. В ней всего 3 параметра, но их достаточно, чтобы сделать макет более интересным.


После этого перевернул макет, который только что создал, так, чтобы он выглядел как дыра в земле. Затем добавил легкий градиент, что создало эффект возвышения ландшафта на верхушке, и эффект углубления у его основания. Направил его через две ноды Advanced Perlin вместо одной, чтобы лучше контролировать процесс. Это позволило отвести одну ноду для более крупных смещений, а вторую — для более мелких.


В завершении добавил ноду Erosion , которая помогла связать все это вместе и подготовить ландшафт к экспорту.


У меня было несколько нод на выход (Output nodes), поскольку я пробовал еще кое-что. Самое главное, вам необходимо экспортировать файл в RAW16 для карты высот. Более того, я экспортировал 3 отдельных PNG для верхнего, среднего и нижнего слоя высот при помощи нод Select Height , которые облегчат размещение базовых текстурных слоев.


Здесь изображены все настройки:


Я добавил несколько гор, чтобы окружить ими сцену.


Так как я немного экспериментировал, не обращайте внимание на некоторые выходы (outputs). Мне нужно было экспортировать RAW 16 и 2-3 карты высот. Здесь изображены все настройки:




После перетаскивания материала на ландшафт мне все еще не хватало основной базовой текстуры: снега. Именно здесь и пригодилась нода Select Height в World Machine. Для слоев травы / камней я использовал карты нижней / средней высоты, а для снега — верхнюю карту высоты. Вы можете это сделать, щелкнув правой кнопкой мыши на любом из слоев ландшафта и нажав “импортировать из файла”. Как видите, “линия”, разделяющая снег и горы на более крутых областях, все еще достаточно заметна, но этот момент было легко скорректировать, так как я мог рисовать на слоях и просто смягчил этот переход.



Процесс скульптурного моделирования

Скульптурное моделирование было сделано вручную в UE4, так как это и являлось основной целью. Стиль, с которым я работал, однозначно можно было сделать и в World Machine, но сам факт создания его вручную дает возможность что-нибудь еще дорисовать в ходе процесса. К тому же, иногда, во время скульптинга, вам может прийти в голову: “Добавлю-ка я здесь холм, так как озеро делает эту область слишком плоской” и так далее. Почти как в живописи. Поэтому я сделал здесь небольшой пример, чтобы донести основную мысль. Все, что я сделал — возвысил несколько областей при помощи инструментов скульптурного моделирования, чтобы была возможность работать с разными высотами. Затем я использовал инструмент Flatten в самой высокой точке каждой области. Этот инструмент хорош тем, что вы можете немного увеличить силу нажатия, и та область, над которой вы находитесь, либо поднимется, либо же опустится до высоты той точки, где вы удерживаете нажатие. Этот способ очень удобен при создании “ступеней”, что опять же можно выполнить в World Machine, но мне хотелось использовать менее автоматизированный способ и иметь возможность придать объекту любую форму, какую только захочу.


После выравнивания, вы, вероятно, заметите, что стыки неровные, а переход между травой и камнями — не очень чистый. Поэтому здесь нужно использовать сглаживающий инструмент, чтобы подчистить переходы, а благодаря тому, что у вас есть три базовых слоя, это будет несложно сделать. Также я выбрал случайные точки высоты вдоль крутого склона, “вытянул” их и сплющил при помощи Flatten . И повторил так несколько раз.


Также я закончил использовать рампу, шум и ретопологию для оставшейся местности. В конечном результате, как вы можете заметить, я не стал делать каждую “ступень” полностью плоской, и оставил небольшие выпуклости разной высоты, чтобы придать более естественный вид. (не обращайте внимание на некоторые незаконченные участки справа, рассмотрим их немного позже)


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



Добавление растительности

Для создания деревьев я бы рекомендовал Speedtree, но в этот раз использовал PLE pack из UE4 marketplace, чтобы лучше изучить процедурную генерацию. Забавно, но я дорисовал деревья с помощью foliage tool , просто потому, что не возлагал надежды на этот проект. Разобравшись с PLE pack, я загрузил несколько его ассетов в свой проект, и все работало отлично. Мне понравилось то, что я увидел, захотелось сделать из этого синематик видео. Что и привело меня к ассетам с растениями. Они должны были стать значительной частью синематика. Некоторые я использовал из PLE pack, другие — из Quixel’s Megascans library.



Чтобы видео получилось кинематографичным, необходимо было помнить о некоторых моментах, отвечающих за оптимизацию, так как я не хотел, чтобы переходы теней и смены LOD были слишком заметны, а деревья\листва вдруг исчезали на заднем плане и т.д. Я хотел, чтобы все получилось отлично. Я также переключил LODLevel для ландшафта на максимум, с -1 на 0, чтобы местность не смещалась, пока камера вращается вокруг нее.


Но оптимизация требовалась в любом случае. Поэтому, в первую очередь, я отрегулировал culling для растительности, чтобы она не исчезала, когда отдаляешься от нее. Холмы, деревья, крупные камни, объемный туман — все это помогает перекрыть то расстояние, на котором растительность начинает пропадать. Но я не хотел, чтобы деревья исчезали на каком-то определенном расстоянии, так как цель была сделать видео максимально кинематографичным, поэтому мне пришлось усилить низкий LOD нескольких деревьев (использовал вариацию из 11 деревьев), я заполнил ими ландшафт, используя низкую плотность (Density/1kuu), вместо того, чтобы распределить их близко друг к другу.

Вот эти деревья:


Другая оптимизация: немного снизил разрешение теней и текстур. Некоторые небольшие элементы были в разрешении 1k-2k, элементы побольше — 2k-4k. Для некоторых ассетов я вырезал текстуры атлас (при помощи Cinema 4D), чтобы снизить количество полигонов, к примеру:


Все это очень помогает снизить нагрузку.

Настройка освещения

Честно говоря, на счет освещения мне особо нечего рассказать. Мне кажется, здесь важнее всего уловить правильное настроение. Я использовал направленный свет, скайлайт (интенсивность 1), экспоненциальный туман (exponential height fog) и постпроцесс (Post Process Volume), чтобы скорректировать цвет сцены и свечение (bloom). Стоит также упомянуть, что объемный туман (volumetric fog), по большей части, перекрыт экспоненциальным туманом (exponential height fog).



И последнее, но не менее значимое — цветокоррекция, которую я сделал в After Effects при помощи таких инструментов, как Curves, Levels, Color Balance и Film by Magic Bullet. Слева вы можете увидеть финальную версию, посередине — сырой рендер в UE4, а справа — изображение в режиме Detailed Lighting.

Сегодняшний выпуск подготовил Андрей Дьяков, Associate Technical Director в Sperasoft.


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

Начну с Blueprint-ассета – Smart Spline Generator. Штука невероятно полезная в первую очередь для дизайнеров уровней, особенно если нужно протягивать веревочные мосты между парящими островами, провода между столбами, проводить железную дорогу в горах и делать прочие специфические штуки.

Ассет генерит сплайны с учетом коллизии в игровом мире, позволяя в считанные минуты прототипировать вышеперечисленные виды объектов. Но это лучше увидеть самому, а еще лучше поработать с этим.

Обычно приходится создавать новые инстансы через основной объект, что накладывает ограничения на скорость и удобство работы. Но с данным плагином дизайнер уровней может наполнять игровой мир объектами, используя все преимущества и удобства редактора, и уже после конвертировать все эти объекты в InstancedStaticMesh. Также плагин предоставляет дополнительные возможности для редактирования уже сконвертированных объектов.


С этим Blueprint-ассетом я начал свое знакомство еще в то время, когда его автор, Kodi Mynatt, выкладывал на youtube серию уроков о создании следов на снегу. В то время я как раз работал над адвенчурой в зимнем сеттинге и рассматривал разные варианты реализации продавливаемых сугробов. Подход автора был прост: массив Sphere Mask + тесселяция (в то время в движке еще не было поддержки DrawMaterialtoRenderTarget).

Это не было максимально гибким решением, но свою задачу оно выполняло отлично и очень быстро реализовывалось. Впоследствии Kodi сделал на основе этого более мощный и расширенный ассет для быстрой имплементации следов на разных поверхностях (снег, песок, гравий, трава), а также реализовал эффект провисания поверхности под тяжестью персонажа по аналогии с натянутой сетью или полотном.

К сожалению, Kodi Mynatt покинул наш мир ранее в этом году, поэтому на странице магазина указана версия движка 4.14, как последняя поддерживаемая, однако на самом деле ассет прекрасно работает на 4.15 и 4.16, а на 4.17 работает после нескольких незначительных исправлений в Blueprint’e.


Напоследок я расскажу о собственном ассете. Он призван помочь мобильным разработчикам имплементировать все возможные механики управления игрой/приложением на Unreal Engine 4 с помощью пальцев.

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

Поскольку в built-in джойстиках ничего подобного не было и нет, было принято решение реализовать все с нуля. Именно этот функционал вошел в релизную версию ассета, который сперва назывался Custom Touch Controls. Однако чуть позже мне потребовались жесты свайпа (swipe) и увеличения (pinch to zoom) и я решил добавить данный функционал в уже существующий ассет, выпустив второй апдейт со сменой названия на актуальное.

Затем, уже в третьем апдейте, по просьбам покупателей, я реализовал дополнительный функционал: тап (tap), двойной тап (double tap), тап двумя пальцами (two fingers tap), двойной тап двумя пальцами (two fingers double tap), передвижение по тапу (tap to move), передвижение по свайпу (swipe to move) и многое другое.

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

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

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