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

Добавил пользователь Алексей Ф.
Обновлено: 29.08.2024

Как создавать материалы, растительность и настраивать освещение.

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

После этого я загрузил карту высот в Landscape Editor в Unreal Engine 4 и создал материал ландшафта. Он довольно простой — всего три разных материала, соединённых с помощью масок. Кое-где я вручную добавил снег.

После того, как я закончил ландшафт, я подумал, что стоит добавить ещё что-нибудь. Например, небольшой домик в низине. Работа над такой сценой всегда начинается с поиска референсов и создания заготовки.

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

Я выбрал плотность текселей в 1024 на 100 сантиметров, чтобы текстуры вблизи выглядели хорошо. После этого я использовал плагин TexTools для 3ds Max. Он быстрый, качественный и бесплатный. И в нём есть много классных фич вроде копирования коэффициента текселей с других объектов, автоматической установки групп сглаживания с UV-оболочек и так далее.

Материал для крыши я сделал в Substance Designer, затем добавил на неё рёбра. Я создал четыре разных деформированных участка, импортировал их в UE4 и распределил по крыше для лучшей производительности.

Детали

Одной из моих задач было обойтись без запечённых текстур. В этой сцене запечены только текстуры стекла и двери. Для всех объектов я создал три простых основных материала: один для обычных предметов, второй для вертексной краски, третий для растений.

На окнах используются два материала — цельное дерево и запечённое стекло (излучение и карта шероховатости/металлического отлива).

Растения

В этой сцене было важно создать реалистичную растительность. Для этого я воспользовался Quixel Megascans.

Вот процесс создания травы.

Создайте плоскость и поместите на неё непрозрачную текстуру травы. Я использовал плоскость 200x200 сантиметров с сегментами 10x10.

Затем отделите каждую часть атласа.

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

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

Вот основной материал для растений.

Так что не забывайте разрабатывать уровни детализации. Для травы я сделал два уровня детализации, уменьшил их в Simplygon на 15%. Для распределения травы я пользовался инструментом Foliage. Он довольно простой.

Материалы

Материалы я сделал в Substance Designer. Люблю эту программу.

Вот схема материала скалы.

На землю я нанёс цельную текстуру мёртвой травы от Megascans.

Карта высот штукатурки была сделана в ZBrush. Потом я смешал карты высот в Substance Designer и получил разные текстуры для использования в UE4.

Освещение

Освещение очень важно: хороший моделлинг можно испортить плохим светом, но хороший свет может вытянуть плохой моделлинг.

В этой сцене я использовал полностью динамический свет и тени, и он работает в Full HD при 60 кадрах в секунду на моей GTX 970.

Свет из окон — точечный. Для естественного света я использовал Exponential height fog и карту HDRi. Это позволило создать желаемую атмосферу. Вот как это влияет на сцену.

Также я добавил направленный свет на небесную сферу с помощью Blueprint. Это позволяет мне создать солнечный свет.

Вот несколько полезных настроек света.

И не стоит забывать о постобработке.

Вот как она влияет на сцену.

Камера

Я делаю скриншоты в UE4 с помощью CineCamera, потому что у неё есть много настроек вроде фокусного расстояния, глубины резкости и апертуры — прямо как у настоящей камеры.

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

Иногда для заполнения больших пространств можно пользоваться автоматическим созданием материалов. В Unreal Engine 4 есть такая функция: помогает расставить траву, деревья и камни в зависимости от поверхности. В моей сцене этого не потребовалось.

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

Работайте увлечённо и не останавливайтесь. Становитесь лучше с каждым новым проектом. Закончив одну работу, принимайтесь за другую, потому что нет предела совершенству. И не забывайте об освещении.

Оказалось всё довольно просто.

Нажимаем на стрелочку в окне просмотра.


И выбираем пункт High Resolution Screenshot.

В появившемся окошке выбираем нужное разрешение путём установки коэффициента
Screenshot Size Multiplier в диапазоне от 1 до 10.
(при 10 будет x(y) * 10 где x,y разрешение экрана, то-есть было 100х100 станет 1000х1000)



И нажимаем на значок в правом нижнем углу если вам нужен весь экран
или в левом нижнем если нужна область.

Картинка сохранится в папку проекта ваш проект/Saved/Screenshots/Windows/

Если нужно убрать значки BP, нужно убрать галочку
Show=>Developer=>Composite Editor Primitives

Систему процедурно разрушаемой машины можно бесплатно скачать с Gumroad и импортировать в Unreal Engine 4.

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

Вступление

Создание процедурно разрушаемой машины в UE4

Создание процедурно разрушаемой машины

Данный проект создавался для научной работы по окончанию учебного года в DAE. Я изучил различные пути процедурной деформации и наконец сел за создание этой системы. Система работает по такому принципу:

Unreal Engine 4 поддерживает систему skeletal меша, которая позволяет пользователю импортировать Fbx файлы с риггом. Этим объектам можно придать физику и симуляцию ragdoll. Я создал меш и добавил на него сильный damping. Модели не имеют анимаций, кроме естественного толкания объекта другим объектом с коллайдером.

Проблема заключалась в том, что объект не падал на пол и не имел другой физики, кроме деформации. Я придумал такой выход из ситуации, который позволил бы симулировать физику в local space. Я достиг этого результата благодаря созданию статичного меша, так чтобы объект вел себя как будто мы установили "simulate physics".

Создание процедурно разрушаемой машины в UE4

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

Если говорить кратко, то вот мой совет в двух словах: Skeletalmesh with high damping > teleport to > simulated staticmesh.

Создание процедурно разрушаемой машины в UE4

Проблемы первой версии моего проекта:

1. Машины не могут взаимодействовать друг с другом (скоро будет исправлено).

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

3. Некоторые объекты отсутствуют на машине.

4. Требуется сильное железо для 6+ машин на сцене.

5. Систему приходится переделывать под каждую новую машину практически с нуля. Нет возможности нажать на кнопку "Generate" и сгенерировать под нужный пользователю меш.

6. Все элементы проекта затекстурированы в Substance Painter. Эффект деформации в Normal карте создается благодаря динамическому материалу, который регистрирует попадание.

Создание процедурно разрушаемой машины в UE4


Unreal Engine – это игровой движок, первая игра на котором вышла еще в 1998 году (игра шутер Unreal). Изначально движок предназначался для создания шутеров от первого лица. Но последующие версии были адаптированы для создания игр различных жанров, включая многопользовательские ролевые онлайн-игры.

С 2015 года Unreal Engine стал бесплатным, но разработчики игр обязаны перечислять 5% дохода от продаж.

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

Как устроена Unreal Engine 4

По сути это набор инструментов для разработки игр. На этом движке созданы такие игры, как Tekken 7, Kingdom Hearts III и Survival Evolved.

Освоение движка доступно даже для начинающих. С помощью системы визуального создания скриптов Blueprints Visual Scripting можно создавать готовые игры, ни написав ни строчки кода. Это позволяет быстро изготавливать готовые прототипы.

Установка движка

Для установки Unreal Engine 4 используется Epic Games Launcher. Сначала создайте учетную запись, установите программу. Далее скачайте программу запуска, которая соответствует вашей операционной системе. Откройте программу и авторизуйтесь.

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

Starter Content – это ассеты (ресурсы), которые предоставляются бесплатно для ваших проектов. Это различные модели и материалы, которые можно использовать в готовых проектах или временно.

Templates and Feature Packs – это шаблоны, которые существуют в различных жанрах игр.

Engine Source – это режим, позволяющий изменять исходный код в движке, добавляя к нему все, что необходимо.

Создать игру можно под различные платформы – iOS, Android, HTML5, Linux, TVOS. В настройках выберите ту, для которой планируете делать игру.

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

Создание игры

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

- Планирование и прототипирование объекта.

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

- Отладка и исправление ошибок.

- Работа с ассетами и графикой.

Создание проекта

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

Далее нужно выбрать дополнительные параметры.

Target Hardware . При выборе Mobile/Tablet (смартфон или планшет) некоторые эффекты постобработки будут отключены. Для сенсорного ввода можно будет использовать мышь. Выбирайте тут опцию Desktop/Console .

Graphical Target . При выборе шаблона Scalable 2D или 3D в постобработке отключатся некоторые эффекты. Далее выбираем Maximum Quality.

Starter Content. Если включить эту опцию, добавится базовый контент. Но для упрощения работы лучше выбрать опцию No Starter Content .

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

После всех манипуляций создайте проект, нажав на Create Project .

Интерфейс движка

После того, как вы создадите проект, откроется редактор. Он состоит из нескольких частей.

1. В панели Content Browser отображены все файлы проекта. Используйте ее, если хотите создать папки и упорядочить файлы. С помощью фильтров и поисковой строки тут можно искать нужные файлы.

2. В панели Modes появляется возможность переключения между инструментами.

3. В панели World Outliner отображаются все объекты текущего уровня. Можно упорядочить список объектов по папкам, искать и фильтровать их по типам.

4. В панели Details можно увидеть свойства выбранного объекта. Она используется для измерения параметров объекта. Изменения коснутся не всех объектов, а только выбранного.

5. Панель Toolbar содержит различные функции, нам в основном понадобится Play .

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

Импорт ресурсов (ассетов)

Импортируйте файлы, чтобы мог их использовать. Для этого нажмите Import в разделе Content Browser. Найдите нужную вам папку и файл, откройте его при помощи нажатия на Open .

Если дальше вы будете самостоятельно создавать материал, снимите флажок с Import Materials .

Чтобы сохранить импортированный файл в проект, нужно нажать Save . Сохранять проект рекомендуется как можно чаще.

Добавление мешей на уровень.

Материалы

Редактор материалов

Редактор состоит из нескольких разделов – панель Graph содержит все ноды (узлы). В панели Details можно увидеть свойства выбранного объекта. Панель Viewport содержит меш выбранного просмотра. А в панели Palette отображается список всех доступных нодов.

Ноды – это объекты, которые используются для создания материала. Они обладают различными функциями. Например, они могут придавать текстуре различные цвета.

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

Blueprints

Примечание: Наш развивающий центр проводит курсы создания 3D игр на Unreal Engine 4. Это популярный движок для разработки игровых программ. Кроме этого, организуем занятия по ВР для детей. Познакомим школьников с технологиями VR/AR.

Unreal Engine 4: Девять трюков с Блюпринтами

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

Быстрая установка переменных

Если вы перетаскиваете переменную, просто зажмите ALT, чтобы добавить узел SET, или CTRL, чтобы добавить узел GET.

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

Используйте узлы Reroute

Так же можно просто щёлкнуть два раза по узлу:

Быстрый Branch

Самый используемый нод из всех, который в UE4 заменяет стандартное программерское If-Else. Для его быстрого добавления просто зажмите кнопку B и щёлкните мышкой.

Unreal Engine 4: Девять трюков с Блюпринтами — Unreal Engine — DevTribe: инди-игры, разработка, сообщество

Автоматическое выравнивание

Чтобы постоянно не елозить каждым нодом для его выравнивания, достаточно вызвать всплывающее меню и выбрать опцию автоматического выстраивания.

Reparent

Вы можете переназначать родителя Блюпринта из меню File -> Reparent Blueprint

Unreal Engine 4: Девять трюков с Блюпринтами — Unreal Engine — DevTribe: инди-игры, разработка, сообщество

Поиск по всем чертежам

По умолчанию инструмент поиска в Блюпринтах работает только на выбранном файле, но достаточно снять галочку, и вы можете искать во всём проекте.

Unreal Engine 4: Девять трюков с Блюпринтами — Unreal Engine — DevTribe: инди-игры, разработка, сообщество

Также поле поиска поддерживает расширенные функциональные возможности (поиск по различным элементам, поддержка логических операторов и т.д.). Их список можно найти в официальной документации.

Категории переменных и функций

Существует возможность сортировать переменные по категориям, что полезно для больших Блюпринтов, таких как GameMode или GameInstance (которые растут очень быстро).

Комментарии

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

Нод Math

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

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