Back to Kordon, Blender to UE4 WIP pt2

В рамках этого проекта рассмотрим пример создания ассетов в Blender для Unreal Engine 4 (для других движков пример думаю тоже подойдёт)

В первую очередь уточню важный момент, я много лет работаю в блендере в области архвиза, но с игровыми движками никогда не работал, UE4 я интересуюсь давно, но до недавних пор всё ограничивалось просмотром роликов на ютубе и робкими поглядываниями в редактор.
К чему это я? У меня нет опыта в геймдеве, всё что я делаю, это метод проб и ошибок с попутным чтением документации, поэтому если знающие люди увидят что где-то я взял не тот вектор или творю откровенную дичь, я буду только рад совету ;)


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

Bridge_WIP_1.jpg


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

Bridge_WIP_2.jpg


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

Bridge_WIP_3.jpg


Главная фишка это модификаторы Bevel и Weighted Normals, такой метод увеличивает количество вертексов но избавляет от необходимости запекать нормали. Широко используется в Star Citizen, Alien: Isolation, а так-же других тайтлах. На Хабре у пользователя MrBrooks есть цикл статей на эту тему, крайне рекомендуется к прочтению.
В результате мы имеем красивые фаски при не деструктивном подходе, так как модификаторы можно менять в любой момент времени

*Для мелких деталей нормали я всё-же буду запекать, но об этом позже

Bridge_WIP_4.jpg


Бленд файл с этим проектом поделён на несколько сцен:

Bridge_WIP_6.jpg
1 - Основная сцена там где собран весь мост и идёт моделирование деталей


Bridge_WIP_7.jpg2 - Сцена в которой детали отсортированы для экспорта в Substance Painter

В этой сцене объекты разделены на коллекции по атласам, я назвал их Set 1,2,3.. и по типу Low Poly - High Poly

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

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

Bridge_WIP_13.jpg

Так как все повторяющие объекты являются носителями одного Mesh Data то любые изменения внесенные в любой сцене автоматически вносятся везде, если я меняю упаковку атласа в Bake сцене, то и в сцене Export у меня уже автоматически собрана упакованная лестница

Интересный момент, из-за аномального выброса часть моста разрушена и деформирована, так я стараюсь использовать максимально не деструктивный подход к моделированию и ре-использованию ассетов пришла в голову идея использовать для деформаций модификатор Lattice
Все три балки являются носителем одного Mesh Data, соответственно делят одного UV пространство,мне лишь нужно повесить на объект модификатор и начать менять объект Lattice который контролирует деформацию нужной балки, мне не нужно думать как разворачивать кривые детали, достаточно один раз развернуть и упаковать прямую балку, в движке они будут использовать один материал и одни и теже текстуры

Bridge_WIP_12.jpg


Bridge_WIP_8.jpg

3 - Сцена для экспорта

Здесь каждая деталь моста состоящая из разных мешей помещена в свою коллекцию, имя коллекции присваивается экспортируемому FBX файлу, для экспорта используется стандартный экспортёр блендера. Epic Games разрабатывают решения для экспорта из Блендера в Анрил но я их ещё не пробовал.

В новых версиях Блендера разработчики добавили Batch Export, это значит что каждый объект, а в моём случае каждая коллекция экспортируется в отдельный FBX нажатием одной кнопки, главное не забыть при импорте в анрил включить галочку Combine Meshes


Bridge_WIP_9.jpg


Дальше идёт Substance Painter, программа для меня тоже новая, пока я ограничился тем что создал для себя смарт материал которые автоматически генерирует маски в три канала R,G,B. Когда моделинг всех частей будет завершен, я сделаю финальную развертку и запаковку атласов, тогда буду более детально работать над масками

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

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

Bridge_WIP_19.jpg

Bridge_WIP_22.jpg

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

Bridge_WIP_21.jpg


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

Bridge_WIP_23.jpg

Для проекта используется First Person Shooter Template

Bridge_WIP_20.jpg


На этом пока всё, продолжение следует :)

729 0 850 12
17
2020-08-21
Киборг
2020-08-21
Ну, и хорошо!)
2020-08-21
Харош, давай уже кордон замодель. Будет очень круто
2020-08-21
Василий Любежанин (Джекс)Харош, давай уже кордон замодель. Будет очень круто

Осилю мост сначала, потом буду смотреть соседние локации, элеватор или АТП :D
2020-08-21
Роман, сам
2020-08-21
бачу
2020-08-21
Роман, что
2020-08-21
Данил, Вчи мову майбутнього)
2020-08-22
Как будто мост из сталкера на кордоне
2020-08-22
Evgeniy, Так и есть, это фан арт по сталкеру
2020-08-22
Еее, а мы тоже мост по сталкачу пилили
2020-08-22
Вячеслав, Масштабно😎
2020-08-22
Целую локацию даже делали на портфолио
2020-08-22
Вячеслав, круто, а где портфолио посмотреть?
2020-08-22
Конкретно эта работа - нигде: мы его с другом делали в XYZ Draftpunk2.0 как дипломку и на портфолио, что-бы на работу взяли. Но работа нашла меня раньше, в локация так и осталась недоделанная
2020-08-24
Гоша ЧерныйДанил, Вчи мову майбутнього)

Это лучше ты учи язык будущего) Здесь, да и везде, общаются на нормальном, человеческом языке. Мова годится только в селе свиней пасти.
2020-08-30
Гоша, шо
RENDER.RU