Unreal engine 4 дерево

Создание текстуры дерева для Unreal Engine 4

Художник из Ubisoft Sofia рассказывает о своём проекте «Кабинет Дамблдора».

Главный художник Ubisoft Sofia Огнян Захариев (Ognyan Zahariev) написал для сайта quixel.se туториал, в котором рассказал о работе над своим проектом «Кабинет Дамблдора» (Dumbledore’s office) — в частности, о создании текстуры старого дерева.

DTF публикует перевод материала.

Меня зовут Огнян Захариев (Ognyan Zahariev), я главный художник в Ubisoft Sofia. В этом материале я расскажу, как создавались текстуры для моего проекта «Кабинет Дамблдора» с помощью Quixel Suite.

Целью проекта было воссоздание кабинета профессора Дамблдора из произведений о Гарри Поттере. Большую часть информации я почерпнул из фильмов, но также пользовался описаниями из книг. Разумеется, я добавил много своих элементов.

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

Мой подход к текстурированию объектов почти никогда не меняется.

  • обозначить масштаб, импортировав заготовку в Unreal;
  • создать высокополигональную модель и обработать её в ZBrush, если необходимо;
  • ретопологизировать (retopologize) в Topogun;
  • сделать оптимальную развёртку, используя одно и то же пространство текстуры (texture space) там, где это возможно;
  • запечь карту нормалей и ambient occlusion;
  • распознать ID материалов и запечь или нарисовать карту ID.

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

Я расположил модули так, чтобы их было легче текстурировать, и импортировал их в DDO. Следующим шагом было загрузить запечённую карту нормалей, ambient occlusion и карту ID. Я выбрал пресет UE4 RMA, потому что это отличный способ сэкономить память в Unreal.

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

Есть также окрашенные поверхности (золотая краска), более блестящие по сравнению с остальным покрытием. Помимо этого, кое-где собирается пыль. Все эти аспекты вместе рассказывают историю объекта.

Я выбрал пресет дерева, подходящий для такого шкафа.

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

Я сделал то же самое с более светлыми участками, на которых дерево истёрлось. Они должны находиться в логичных местах, таких, как края, которыми они могли соприкасаться с другими объектами. Пресет Dynamask под названием Light Edges хорошо подходит в качестве основы для этого эффекта.

Читайте также:  Отделка фасада домика деревом

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

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

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

Я постоянно проверяю результаты в Unreal. Я использую Quixel DDO, чтобы обновить текстуры, добавленные в движок, так что на это уходит всего пара кликов. Эта привычка помогает сэкономить время. Текстуры нужно обрабатывать в зависимости от света и наоборот. Частая ошибка — делать альбедо настолько тёмным, что свет отражается неправильно. Стоит проверять всю сцену в альбедо, чтобы сохранялся баланс между разными элементами.

Я часто использую материалы, не очень подходящие для поверхности объекта. Хороший пример — статуэтка дракона, которой не хватало деталей на чешуе. Я не хотел добавлять их в ZBrush, когда можно было сгенерировать их в NDO или наложить карту нормалей в DDO, что я в итоге и сделал. Материал Rough bronze хорошо подошёл, я замаскировал складки с помощью пресета Rich occlusion в Dynamask и вручную нарисовал остальное, придав чешуе более выраженный и органичный вид.

Я снизил значения альбедо, шероховатости и металлической непрозрачности (metallic opacity) до нуля и оставил только карту нормалей. Также я дал ей зайти за пределы чешуи, чтобы добавить неровностей поверхности — так я подчеркнул её рукотворность.

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

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

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

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

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

После экспорта двух наборов текстур с помощью пресета RMA я настроил стандартный шейдер для блендинга цвета вершин (vertex color blending shader) в Unreal.

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

Семь раз отмерь, один раз отрежь — заготовка с объектами и разными элементами окружения поможет вам сэкономить время и силы в будущем.

Постоянно проверяйте, как ваши текстуры ведут себя на движке. 3DO отлично подходит для текстурирования и работы над одиночными объектами, но вы можете удивиться, увидев свою работу на движке — там другое освещение, отражения и всё в таком роде.

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

Читайте также:  Побелочный раствор для деревьев

Источник

Megascans Trees: European Black Alder (early access)

Megascans — This collection is an early access tree pack with 22 unique models of various maturity to build a photorealistic black alder forest. The pack includes a powerful foliage master material to control seasons and wind.

This product contains an assortment of Unreal Engine assets which can be imported into a pre-existing project of your choice.

Description

Reviews

Questions

The Black Alder collection is a complete tree species pack containing 22 unique tree assets: 9 forest trees, 5 field trees, 6 saplings, and 2 seedlings.

A dynamic shader is included to provide procedural controls over seasons, health, wind, and many other functionalities compatible across the entire Megascans vegetation library.

The trees are optimized with unique LODs, shader quality tiers, and various wind implementations (simple + pivot painter) for maximum performance.

All tree variants are set up for painting and can be dragged and dropped with little effort to create a dense realistic forest scene.

Technical Details

Total number of unique meshes: 22

Matured Trees: [LOD0 20k-640k] to [LOD5 1k-13k]

Saplings: [LOD0 1200-32k] to [LOD3 100-2k]

LODs: seedlings/saplings 4, full trees 7

Number of Materials and Material Instances: 96

Number of Material Instances per tree: 1-5

Number of Textures: 14 Tree, 44 Impostor, 88 Pivot Painter

Supported Development Platforms:

All assets are UASSETs. There are no source files included.

Important/Additional Notes: UE-Only Content — Licensed for Use Only with Unreal Engine-based Products

Источник

Создание открытых пространств и растительности в Unreal Engine 4 Статьи редакции

Художник по окружению из Ubisoft Руди Ламотт (Rudy Lamotte) рассказал сайту 80.lv о создании открытого пространства и растительности в Unreal Engine 4. С разрешения главного редактора портала Кирилла Токарева мы публикуем главное из материала.

По словам Ламотта, вдохновение для создания окружения он черпает как из реального мира, так и из игр. В этом конкретном случае его вдохновила Ghost of Tsushima, поэтому он решил попробовать сделать открытое пространство на Unreal Engine 4, хоть и знал, что столкнётся с некоторыми трудностями. Для референсов Ламотт искал в Google фотографии рисовых полей в Японии.

Обычно при работе над окружением художник использует world machine, но в этот ландшафт был создан при помощи сайта Terrain Party. С него Ламотт взял спутниковые данные рисовых полей у города Тиба. Поверх карты из Google он наложил маску, созданную в Photoshop. Рисовые поля были помещены с помощью Houdini. Затем художник импортировал карты высот в Unreal Engine 4.

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

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

Читайте также:  Менеджмент схема дерева целей

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

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

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

Уровень детализации в деревьях Ламотта не превышает 10 тысяч. Однако если нужно выделить какие-то из них, то LOD можно и поднять, но надо помнить, что в большинстве случаев, чем меньше — тем лучше.

Для lod0 деревья Ламотта имеют 9995 tris, а для lod1 он делит это число на два и так далее. Замаскировать низкий уровень детализации деревьев вдалеке можно с помощью листвы. Таким образом, сохраняется объём крон. В противном случае, некоторые деревья будут иметь исчезающие ветки и дыры в кронах.

Вот так выглядит подменю LOD для листвы. Здесь вы можете снижать количество листвы вместе с уменьшением уровня детализации. Size Scale позволяет увеличивать размер оставшихся листьев, благодаря чему сохраняется объём крон. В строке Keep вы можете указать, сколько листьев должно остаться.

В зависимости от того, какое дерево вы создаёте, вам нужно найти текстуры для листьев. Вы можете либо использовать фотографии, либо создать собственные с помощью 3ds Max, ZBrush или любой другой программы. Экспортируйте созданный высокополигональный меш в SpeedTree и распространите на несколько веток. На основе полученного результата нужно создать атлас, а затем сделать из него низкополигональный меш с помощью любого 3D-редактора.

Для побочной растительности вроде травы вы можете задать дистанцию, на которой она пропадает. В режиме Foliage в Unreal Engine 4 вам нужно щёлкнуть на статичный меш, который вы разместили, чтобы открыть подменю Instance Setting.

Ламотт использует направленный свет и skylight. Кроме того, на сцене присутствуют Height fog и Atmospheric fog. Для небесного света можно включить HDRI для более реалистичного освещения.

А такое есть на ваших рисовых полях?!

На счет симметричных ассетов деревьев — спорно. Я наоборот замечаю что все они одинаковые и нет никакой уникальности и интереса. Даже тень они будут отбрасывать почти одинаковую. А уникальная тень хорошо смотрится на стенах различных построек.

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

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

Меня настораживает такой контент.

Геймдев на DTF рискует стать сборником переводов нескольких профильных сайтов.

Контент сам по себе классный — это бесспорно.

Нос вот все эти переводы ИМХО для не самых далеких людей, которые в 2018 (!) в англ не смогли.

Источник

Оцените статью