{ "author_name": "Vladislav Khromov", "author_type": "self", "tags": ["\u0430\u0440\u0442"], "comments": 13, "likes": 30, "favorites": 16, "is_advertisement": false, "section_name": "gamedev", "id": "12665", "is_wide": "" }
Vladislav Khromov
1 408
Gamedev
Редактирование закрыто

Создание стилизованных модулей окружения

Дома-конструкторы.

Поделиться

В избранное

В избранном

3D-художник Йохан Виллиам Лёффер (Johann William Löffler) рассказал сайту 80.lv о том, как он создавал стилизованные модели окружения. Читатель DTF перевёл интервью.

Я из Берлина, мне 19 лет. Сейчас я прохожу третий семестр по курсу Цифрового Искусства (Digital Art) в Берлинской Академии Игр (Berlin Games Academy). Впервые я познакомился с 3D-моделлингом для игр в 2013 году, во время стажировки в игровой студии. После этого я немного моделил во время учебы в школе, а с лета 2016-го плотно занялся 3ds Max, Zbrush и Substance Painter. До сих пор я, в основном, занимался 3D для учебных проектов и частной практики, но так же стажировался в небольшой инди-студии на мобильных играх. Вы можете познакомится с моим портфолио на Artstation.

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

До этого момента, я создавал только реалистичные или около-реалистичные ассеты, и мне хотелось узнать, как я могу добиться стилизации с такими PBR инструментами, как Substance Painter и Substance Designer, без создания текстур раскрашенных вручную, как очень затратного по времени процесса. Также я выбрал этот проект чтобы углубиться в скульпт стилизованных моделей в Zbrush и узнать больше о заменяемости, повторном использовании ассетов и о том, как лучше всего это представить в Unreal Engine 4.

Для начала я подробно изучил стилизованные сцены и игры на Artstation, чтобы понять как другие создают подобные работы. После этого решил построить рабочий процесс через 3ds Max, ZBrush и Substance Painter на примере небольшой сцены и проработать текстуры до тех пор, пока не добьюсь стиля, который устроит меня. Вскоре я понял, что мне придётся вырезать небольшие детали и лишний шум, чтобы добиться должной стилизации и чёткости, а так же добавить игры света и теней.

Шаг за шагом я создавал составные материалы (smart materials), которые состояли из базового слоя с чёткими цветами и подходящим уровнем шершавости и металлического блеска, с несколькими слоями поверх этого, с highlights, AO dirt, blurred edges и так далее. Я использовал этот материал практически для всех моих деталей, просто немного изменяя базовый слой и добавляя некоторые детали. Говоря о моделлинге, я преувеличивал общий размер вещей и искривлял их для создания интересных силуэтов.

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

Большую часть мелких деталей и моделей для сцены я создал, используя заново вещи, созданные до этого. Ящики, бочки, колодец и телега сделаны из бесшовных текстур и деревянных досок, произведённых до этого. Иногда я запекал кое-какие уникальные детали (например колесо телеги или веревка фонтана). Таким образом, я смог добиться большего от существующих вещей, а так же единообразия стиля. Для полностью уникальных моделей, как например продукты на рынке, я создавал базовые формы в 3ds Max, скульптурировал их используя несколько кистей из наборов ORB и AJ, а затем делал лоу-поли, просто подгоняя изначальную модель.

Когда я делал UV-развертку, я старался максимально часто использовать всё пространство и не разбрасываться ни единым пикселем. Текстуры ассетов делались в Substance painter, с помощью smart material, созданным ранее для экономии времени и единообразия стиля. Я создал бесшовную текстуру сена в Photoshop и Substance Designer, для использования её в альфа-канале, расположив декаль по кругу стога, чтобы эффект был более правдоподобным.

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

Основная идея моего набора в том, что у меня есть четыре базовых формы дома (большой/маленький/угловой/длинный) и есть возможность добавлять к ним детали (дверь, окно, балка, мансарда, балкон). Базовые модули созданы так, чтобы можно было сменить текстуру и добиться другого внешнего вида без необходимости моделить что-то новое. К домам можно добавить лишь второй этаж, но подобные модули могут быть легко добавлены.

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

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

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

В общем и целом, создание этой сцены заняло около двух месяцев моего свободного времени. Каждому, кто захочет использовать похожий подход, я бы рекомендовал уделить время планированию. Сделайте наброски модулей, расположите их правильно, а также удостоверьтесь в том, что пивот находится в нужном месте, чтобы не тратить время на это в будущем. Кроме того, я рекомендую создать большую сцену в программе вроде 3ds Max. В ней вы можете собирать всё из частей, а так же импортировать все модули для проверки масштаба.

Это делает экспорт более простым, так как вы можете экспортировать несколько ассетов за раз, используя скрипты вроде Batch Exporter. Напоследок, я бы порекомендовал каждому присоединиться к сообществам вроде Ten Thousand Hours, Polycount или Dinusty discord. Хороший отзыв стоит много и это действительно может помочь посмотреть на вашу работу свежими взглядом и мотивировать вас добавить больше усилий и продолжать работать.

#арт

Материал дополнен редакцией
Популярные материалы
Показать еще
{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Узнавайте первым важные новости

Подписаться
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-549065259", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxeub&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&puid32=&fmt=1&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } } ]