[ { "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", "phone" ], "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-229719-0", "render_to": "inpage_VI-229719-0-952491735", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxeub&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&fmt=1&pr=" } } ]
{ "author_name": "Александр Котенко", "author_type": "self", "tags": ["\u043e\u043f\u044b\u0442","\u0430\u0440\u0442"], "comments": 7, "likes": 22, "favorites": 8, "is_advertisement": false, "section_name": "gamedev" }
Александр Котенко
855
Gamedev

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

Советы для ускорения работы над 3D-окружением.

Поделиться

В избранное

В избранном

В начале января сайт 80.lv взял интервью у художника Тимоти Колина (Timothy Colin), в котором тот поделился деталями работы с 3D-окружением. Он рассказал о материалах, выборе освещения и работе с модульностью при подготовке ассетов.

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

Вступление

Меня зовут Тимоти, я студент последнего курса в университете Haute Ecole Albert Jacquard на специальности «художник окружения». Честно говоря, я вообще не подходил под это направление. Сначала я учился на программиста, а в день получения диплома сказал самому себе, что надо попробовать что-то ещё прежде, чем начать работать, пусть даже у меня может и не получиться.

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

Работа из портфолио Тимоти

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

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

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

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

Помещение из научной фантастики

Помещение из научной фантастики — это один из двух моих выпускных проектов за второй год обучения в HEAJ.

Первый проект мы делали на Unity, он занял много времени — практически всему я учился прямо во время работы. Я столкнулся с большим числом ограничений, работа была для консоли GPD Q9, а найти к ней нормальную документацию почти невозможно. Очень долго длился период тестирования: мне нравится бросать себе вызов и дожимать консоли до их максимальной производительности.

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

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

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

После первого этапа я прервался на отдых, а потом снова принялся за работу. Отзывы преподавателей вернули меня в продуктивное русло. Следующие 10 дней были посвящены работе над движком, UV-развёрткой (UV unwrapping), текстурированием и направлением освещения.

Моделирование

Было очевидно, что из-за сроков придётся пойти на некоторые уступки в моделировании и доработке. Чтобы ограничить объём работы, я остановился на среднем количестве полигонов (mid-poly). Таким образом, не нужно было тратить время на сложные высокополигональные модели и дальнейшее «запекание» (baking).

Последнее потребовалось только для модели простыни, чтобы достичь высокого качества ассета. Остальные полигональные сетки, меши (meshes) создавались с использованием скосов и сочетаний твердых и мягких граней (harden and soften edges, группы сглаживаний в 3ds Max).

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

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

Модульность

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

У меня были два типа напольных плит и мозаичное покрытие потолка, сделанные из модулей. Это позволило создать коридор необходимой длины. Стены тоже можно было использовать повторно, к тому же они зависели от двух разных показателей — длины пола и потолка (очевидно, что высота должна быть одинаковой для боковых стен).

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

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

Также можно создать стены из числа универсальных элементов (generic walls), добавить на них модульные детали и получить несколько разных моделей.

Использование декалей (decals) и раскраски вершин (vertex painting) — ключевой способ скрыть повторяющиеся части при модульной работе.

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

Материалы

Большая часть сцены — это классические материалы: декали и функции освещения (light function). К сожалению, из-за жёсткого дедлайна у меня не было возможности создать собственные модульные материалы в Unreal. Этот простой основной материал используется в 90% работ на экспорте RMA.

Прорабатывать модульность я решил в DDO Painter, а не в Unreal. Почему — объясню дальше.

Сцены, предлагаемые Epic, учат нас работе в Unreal, а также созданию более сложных материалов. Отдельное спасибо Виктору Оману, по работе которого я понял, как сделать LED-панель над дверью.

Все обычные детали, присущие научной фантастике, я делал в NDO Painter с помощью простых белых фигур, впоследствии преобразованных в карты нормалей (normal maps) путём небольших исправлений.

Главным приёмом, который позволил мне ускорить работу, стало использование ID-заготовок (ID Preset) в DDO. Для этого достаточно просто доработать текстурирование основного элемента сцены, который включает большую часть материалов в ней. Как только всё будет готово, можно сохранять как ID-заготовку.

Потом я просто сделал ID-карту (ID map) с правильным цветовым кодом для всех элементов сцены. Быстрое, эффективное и качественное текстурирование занимало пару кликов.

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

Поскольку Quixel интегрирован с Photoshop, я чувствовал себя в своей тарелке. Обожаю функцию DDO «покрасить маску в Photoshop» (paint mask in Photoshop) при редактировании текста, потому что с ней можно легко отследить все расположения объектов во второй программе. После импорта UV-снимка (UV snapshot) и получения лендмарки (landmark) я добавляю надписи именно таким способом.

Для информационных знаков на стенах я просто сделал «умный» материал (smart material), который максимально подходил под стикеры знаков (или использовал пластик из SUITE). Затем остаётся перетащить вкладку albedo нужного знака, отредактировать маску так, чтобы эффект применялся только к выбранному участку, и скопировать (duplicate) её на все остальные. Ещё я добавил карту рельефа (bump map), чтобы они немного выпирали.

Цвет

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

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

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

Освещение

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

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

Я хотел соблюсти контраст тёплого и холодного, как в The Division и Battlefield.

Проще всего это можно сделать, выставив реальные значения температуры по Кельвину. Я использовал 4300К (~ 4027 °C) для звезды, которая освещала сцену снаружи, а для футуристичного освещения выбрал 5600К (~ 5327 °C) плюс цветокоррекция в постобработке.

При работе со светом важно совмещать качество и производительность, чтобы не остаться с огромным числом карт освещения. Я люблю контролировать в работе каждую мелочь, и поэтому идея переложить подсчеты карт освещения UV (UVs lightmap) на Unreal даже не рассматривалась. Я всегда делаю собственные карты UV в Maya. Так как я трачу время на создание чистых UV для текстурирования, то мне ничего не мешает использовать их как основу для карт освещения UV. По крайней мере, я точно знаю, что не будет никаких проблем при «запекании» света. Если вы всё сделали правильно, то плотность вашей карты освещения должна быть примерно такой.

Испытания

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

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

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

#опыт #арт

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

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

Популярные

По порядку

Прямой эфир

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

Подписаться