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

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

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

Изначально я не ставил каких-то невероятных задач. Небольшая камерная локация. <br />
Изначально я не ставил каких-то невероятных задач. Небольшая камерная локация.

Далее я быстро сделал пару объектов камней используя Blender, Zbrush и Substance Painter, чтобы картинка с ходу была более наглядной. Nanite я пока решил не трогать, а действовать по старинке, в будущем возможно задействую, для ближних объектов, но пока нет полноценной локации я не очень хочу всю производительность отдать камням, ведь другие детали важнее. Зато Lumen я планирую использовать с самого начала, хоть у него и есть пара недостатков, технология довольно интересная.

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

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

И первое, что я понял, что я хочу немного положить болт на первоначальный скетч. Изначально сад планировался для правой платформы, но временно я разместил его перед домом. Возможно верну его обратно, но пока так.Что? Сад под землей? Ну это... как его там... магия!

Дерево я создал в blender с помощью Tree Generator, разумеется заглушка для примерного понимания. Грядки пока что это проэкструдированный несколько раз circle, а трава и вовсе у меня уже была сделана давно, хотя ее я пока использую как заглушку т.к. этот сад в первую очередь используется для выращивания растений нужных для алхимии, поэтому на грядках будет расположены несколько уникальных моделей растений.

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

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

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

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

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

Уже лучше, но все еще не то.<br />
Уже лучше, но все еще не то.

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

Небольшое отступление. Кисть в Zbrush, которая позволяет быстро и просто создавать сложные рельефы камней называется TrimSmoothBorder. Ее можно найти в LightBox вкладка Brushes папка Trim.

Для быстрого перевода выкокополигональных камней в низкополигональные я использовал модификатор Decimate в Blender, он позволяет очень быстро уменьшить количество полигонов на объекте с максимально возможным сохранением изначальной геометрии. Также крайне удобен для создания LOD'ов(Level of Detail). Можно использовать и Zremesher от Zbrush, но он не так хорошо сохраняет рельеф, что для камней очень важно и с ним сложнее оперировать, когда нужно попробовать разные варианты. Decimate напротив прост и быстр, но также дешев и сердит. Для камней и LOD'ов он подходит хорошо, а вот например рукотворных объектов, органики и уж тем более того планирует двигаться уже не очень. Но вернемся к камням.

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

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

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

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

Стало гораздо лучше, хоть и до идеала еще далековато. Впрочем в перфекциониста играть можно до бесконечности, что с одной стороны не плохо, но работы еще очень и очень много. Поэтому, достигнув уровня который меня в целом удовлетворяет, я пока решил оставить это и продолжить работу над другим. Но для начала нужно было исправить небольшой обман. Помните я обещал делать все своими силами. Ну пока это не совсем правда. Для быстрого текстурирования камней я создал смарт-материалы. Чтобы не вдаваться в подробности о смарт-материалах я захотел прикрепить статью с пояснениями и в гугле нашлась одна, аж здесь на родном ДТФе. Грех такое не прикрепить. Читаем образовываемся:

Итак, смарт-материалы я создавал сам с нуля, что укладывается в задачу "своими силами", однако текстуры для них я брал с Poly Heaven'а, что несколько нарушает этот принцип. И не то, чтобы я хочу как-то совсем фанатично ему следовать, но мне в любом случае нужны не просто найденные текстуры, а что-то, что я могу изменить и подстроить под себя. Плюс финальный смарт-материал я планирую выложить в открытый доступ поэтому не хочу использовать сторонние ресурсы. Для создания собственных текстур я запустил Substance Designer и тут началось...

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

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

Итак, текстуры сделаны, теперь можно приступать к созданию смарт-материала. Импортировав текстуры в Painter я открыл модель камня и запек тектсуры с высокополигональной версии.

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

Теперь нужно добавить текстуры. Для этого создается Fill Layer где можно указать во-первых какие текстуры на этом слое будут задействованы (цвет, нормали, высота и шероховатость) а во вторых выбрать эти текстуры. Я создал три таких слоя. Первый отвечал за цвет, параметр tiling я оставил на 1, чтобы цветовые детали не превращались в кашу. А вот с остальными текстурами из этого набора я поступил иначе. Их уже на другом слое я наложил с параметром tiling 6, чтобы эти текстуры создавали мелкий рельеф, позже я планирую создать такой мелкий рельеф в самом UE с помощью шейдеров, что наверное будет более правильным, но пока так. В последний третий слой я добавил нормали и высоту от текстуры с крупным рельефом, чтобы добавить средних деталей в материал. Попутно я создал несколько слоев с цветом и масками, чтобы осветлить или затемнить выпуклости и впадины.

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

Финальный результат в целом меня удовлетворил, но работа над этим смарт-материалом еще не окончена. Как минимум нужно будет сделать камень более темным, а также лучше подсветить рельеф. Но пока закончил на этом.

Попутно я сделал модель светящихся кристаллов. Да банально, но в данном контексте(как я и говорил есть сюжетная подоплека) даже... сос мыслом...

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

Результат мне понравился, но в планах сделать еще лучше (пожалуй слишком часто эта формулировка звучит в статье, но думаю это нормально). Кстати, как вы можете заметить, кристалл освещает и камни. Я не ставил тут источник света это все Lumen.

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

4 этапа. Создание болванки - Скульптинг - Ретопология - Текстурирование.<br />
4 этапа. Создание болванки - Скульптинг - Ретопология - Текстурирование.

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

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

То самое средоточие<br />
То самое средоточие
Скамейка<br />
Скамейка
7373
7 комментариев

Как же круто! Вот таких бы материалов побольше! Не "смотрите как я могу" а - "смотрите почему я так делаю"
Надеюсь будут постапокалиптический и скайфайный !

5
Ответить

Спасибо.
Надеюсь будут постапокалиптический и скайфайный !Не, будет фентезийный. Персонаж это дефолтный в UE5.

Ответить

Очень интересно! Спасибо!

1
Ответить

одобряемс!

Ответить

Офигенная статья, автор, спасибо, восхищаюсь

Ответить