Создаю локацию на Unreal Engine 5 ч.2

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

Закончив с камнями(на самом деле нет) я начал переходить к основному т.е. к архитектуре. Начать решил с малого т.е. с забора, точнее заборов, т.к. мне нужно было 2, а возможно и 3 типа заборов. Первый каменный, второй кирпичный и третий деревянный. Кирпичный должен ограждать территории вокруг дома и садов, каменный встречаться на пути от круга стихий к дому и третий деревянный предположительно разделять территории в саду. Начал я как водится с создания болванок для скульптинга.

Создаю локацию на Unreal Engine 5 ч.2

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

Создаю локацию на Unreal Engine 5 ч.2
Создаю локацию на Unreal Engine 5 ч.2

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

Далее тоже самое я проделал с каменным забором. Хоть с ним и было чуть больше мороки процесс был примерно таким же.

Создаю локацию на Unreal Engine 5 ч.2

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

Очень ранняя версия.<br />
Очень ранняя версия.

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

Беседка.<br />
Беседка.

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

Пока я решил поэкспериментировать с текстурированием (ну как поэкспериментировать... воспользоваться древним способом смешения текстур, просто на UE я этого еще не делал, но очевидно, что особых отличий от других рендеров будет немного) потому, как схема которой я пользовался ранее для создания камней даст не тот результат, который мне хотелось бы. Итак в чем сложность? Беседка состоит из множества элементов, да еще и сама по себе должна быть большого размера и если произвести классическую UV-развертку, когда каждому островку отделено уникальное пространство, острова выйдут малого размера отчего даже текстура высокого разрешения будет смотреться мутно.

В UV развертке порядок, но модель выглядит ужасно.<br />
В UV развертке порядок, но модель выглядит ужасно.

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

Обратная ситуация, в UV развертке хаос, а модель выглядит хорошо.<br />
Обратная ситуация, в UV развертке хаос, а модель выглядит хорошо.

И кстати да, попутно я создал текстуру дерева в substance designer, добавил туда градиент и грязь, чтобы модель выглядела разнообразнее, однако этого оказалось недостаточно, т.к. главным минусом такого способом является одна текстура и как следствие полное отсутствие уникальных вещей. Но это не беда, ведь модель может иметь несколько UV разверток и можно совмещать оба способа, чтобы получить лучший результат. Итак, на время оставим нашу тайловую развертку и вернемся к уникальной. Как мы выяснили текстуру дерева там мы использовать не можем, однако можно ее использовать например для текстуры Ambient Occlusion, текстуры затемнения, которая указывает на углы, щели и прочие мелкие места куда попадает мало света. Для примера как AO может повлиять на модель даже без освещения.

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

Создаю локацию на Unreal Engine 5 ч.2

Экспортировал я только карту цвета и AO, все остальное мне было не нужно. Теперь осталось только закинуть все в UE5 и настроить шейдер. В самом шейдере я добавил текстуру дерева с цветом, нормалями и шерховатостью, а так же две полученные текстуры цвета и AO. Чтобы движок знал какую развертку к какой текстуре применять существует соответствующий параметр в ноде Texture Coordinate. Разрбравшись с этим я подключил Ambient occlusion в соответствующий порт, а вот с картой цвета уже чуть сложнее т.к. их у нас две. Недолго думая их я соединил с помощью нода Multiply. В результате получил это:

Создаю локацию на Unreal Engine 5 ч.2
Создаю локацию на Unreal Engine 5 ч.2

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

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

Заодно я начал применять новый смарт материал для камней на большие объекты. Мне очень понравились текстуры камней, полученные в прошлой части, по моему они вышли довольно удачными. Как и обещал, выкладываю итоговый смарт-материал в свободный доступ.

В смарт-материале помимо камня присутствует слой земли "Dirt" который автоматически накладывается на горизонтальные поверхности. Разумеется он опционален, его можно отключить.

Также у смарт-материала имеется возможность менять цвет камня с помощью слоя "Rock_color".

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

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

собрал небольшую локацию, чтобы проверить под освещением и без новый материал, а также некоторые новые модели.<br />
собрал небольшую локацию, чтобы проверить под освещением и без новый материал, а также некоторые новые модели.

На фоне видны светящиеся грибы, ну потому, что какая фэнтези пещера без светящихся грибов?

Малоизвестный факт, Джон Рональд Руэл Толкин начал создавать свой Легендариум со светящийся грибов. Потом вокруг них построил целый мир.<br />
Малоизвестный факт, Джон Рональд Руэл Толкин начал создавать свой Легендариум со светящийся грибов. Потом вокруг них построил целый мир.

В новом проекте я сделал то, что в общем-то нужно было делать изначально(причем изначально я знал о такой возможности), а именно начал использовать Material Instance. В чем его суть? Итак у нас есть основной материал, в нем мы можем преобразовывать разные ноды такие как числовые значения и текстуры в параметры. Далее на основе этого материала можно создать material instance, в котором данные параметры можно менять в режиме реального времени, а если изменить основной материал, поменяются и все инстансы, что довольно удобно. То есть нет необходимости создавать материал под каждый камень, можно просто менять текстуры, а если потребуется изменить материал всех камней то достаточно будет изменения одного материала.

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

Добавил больше объектов.<br />
Добавил больше объектов.

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

Как видно при отключении рейтрейсинга UE отражает максимально упрощенную сцену. Зеркало конечно из такого не сделать, но это уже гораздо больше чем карта отражений или ScreenSpaceReflection, хотя последний тут присутсвует и совмещен с отражениями Lumen, что если честно не идет картинке на пользу, ведь четко видно где заканчивается отражения экранного пространства и начинаются отражения Lumen, впрочем думаю это можно настроить лучше. Освещение кстати тоже очень радует. Без необходимости запекать, результат виден сразу.

Картинка выглядит объемной даже при тусклом освещении. Конечно это не то, чтобы новшество UE5, но раньше требовалось часто запекать, чтобы увидеть результат, а какие-нибудь изменения нарушали запеченное освещение.<br />
Картинка выглядит объемной даже при тусклом освещении. Конечно это не то, чтобы новшество UE5, но раньше требовалось часто запекать, чтобы увидеть результат, а какие-нибудь изменения нарушали запеченное освещение.

Даже имеется свечение от светящихся объектов, но к сожалению, но достаточно тусклое и не отражает свечение самого объекта, по крайней мере по умолчанию, возможно есть соответствующие настойки. Еще при резком изменении освещения Global illumination не успевает перестроится в реальном времени отчего есть некоторая задержка когда погасший источник света еще отражает свет на другие объекты(такое иногда можно наблюдать в новых играх где уже применяется подобная технология). Разумеется эти технологии появились относительно недавно, поэтому пока они полны недостатков, но это определенно хорошая отправная точка для дальнейшего развития Real-Time графики. Однако я отвлекся.

Создаю локацию на Unreal Engine 5 ч.2

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

Создаю локацию на Unreal Engine 5 ч.2

Попутно я реишл немного разнообразить камни на заднем фоне и добавить на них руны. Чтобы реализовать такое разумеется нужно использовать Декали. Раньше в UE я с ними не работал, но тема не сильно сложная. Если попытаться объяснить простым языком это проектор который светит на поверхсть только вместо свечения материал. Можно например добавить светящихся узров или лужу или разнообразить поверхность разными деталями. Я нарисовал несколько рун.

Очень оригинальные руны.<br />
Очень оригинальные руны.

Благодаря декалям можно добавлять детали к объекту без необходимости изменять материал объекта или его текстуры.

DTF и точка.<br />
DTF и точка.

Итак соединив все вместе я получил финальный результат

Создаю локацию на Unreal Engine 5 ч.2
Ленточка кстати анимирована, правда с помощью нода Simple Grass Wind.<br />
Ленточка кстати анимирована, правда с помощью нода Simple Grass Wind.

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

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

Да не очень-то и хотелось...<br />
Да не очень-то и хотелось...

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

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

Земля
Земля
Камень (в основном делал для альфа кисти zbrush)<br />
Камень (в основном делал для альфа кисти zbrush)
Плитка
Плитка

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

И с помощью булевых операций, а именно аддона входящего в состав blender, bool tool, начал создавать болванки для будущей архитектуры.

стена
стена
Часть водной системы для сада. Очень ранняя версия.<br />
Часть водной системы для сада. Очень ранняя версия.
7373
22 комментария

Тег в конце поставь #UnrealEngine5
А ты молодец.

3

И правда про теги забыл. Спасибо.

1

Горжусь такими людьми.

2

Красивое

1

спасибо

1

Кастаельно беседки - а зачем ее собирать в 3д редакторе - если такую беседку можно собрать из одиночной простой доски уже сразу в анриле?

1

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

1