Меню

Нажмите ESC для закрытия

Арт окружения21 ноября 2025 г.

Последний вход

Бартош Сова рассказал о проекте «Последний вход», обсудив, как он собирал сцену по частям и как использовал Ambient Occlusion и Curvature Maps, чтобы добиться старого вида у компьютера и телефона.

Последний вход
Последний вход: — изображение 1

Введение

Здравствуйте! Меня зовут Бартош Сова, я 3D-художник из Польши. В настоящее время я учусь на дневном отделении в онлайн-центре подготовки Think Tank Training Centre, обучаюсь по программе «Создание CG-активов для фильмов и игр». Я нахожусь на промежуточном этапе обучения и решил специализироваться на создании игровых объектов и окружения.

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

Я сам изучал основы с помощью Blender и Substance 3D Painter, создавая простые ассеты исключительно ради удовольствия. Когда я решил, что хочу заниматься этим как карьерой, я поступил в Think Tank, чтобы довести свои навыки до профессионального уровня. Что касается проектов, то сейчас я как студент сосредоточен на создании сильного портфолио.

«Последний вход» — моя последняя личная работа, где основной целью было точно перевести красивую 2D-концепцию в высокоточный 3D-рендер, уделяя особое внимание настроению и реализму, а не оптимизации для игрового движка.

Последний вход: — изображение 2

Последний вход

Проект начался с чёткой установки: найти привлекательное 2D-изображение и точно перевести его в 3D-сцену. Моими основными критериями для концепции были реалистичность (не стилизованная) и сложность. После долгих поисков я наткнулся на галерею Flickr «Decentra», художника, который фотографирует заброшенные места.

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

Честно говоря, я не был до конца уверен, как я это сделаю. Это был проект базового курса, и у меня практически не было опыта работы с основными программными конвейерами (такими как Maya, Mari и V-Ray) до поступления в Think Tank. Самой большой задачей, на мой взгляд, была стена с отклеивающимися обоями, она казалась невероятно сложной, особенно учитывая сжатые сроки в 4 недели.

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

Последний вход: — изображение 3

Рабочий процесс

Моя композиция была на 100% основана на справочной фотографии, поэтому моим первым и самым важным шагом было достижение идеального соответствия камеры. Для этого я использовал fSpy, инструмент, который анализирует изображение, чтобы найти исходное фокусное расстояние и ориентацию камеры. Я импортировал полученную камеру непосредственно в Maya, что дало мне прочную основу и «плоскость изображения» для работы.

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

Последний вход: — изображение 4

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

Для моделирования скрученного телефонного кабеля у меня был специальный рабочий процесс. Сначала я смоделировал простую плоскость, которая следовала пути кабеля от вида камеры. Затем я извлёк её центральный край, преобразовал его в кривую NURBS и использовал эту кривую в качестве пути деформации для примитива Helix. Это дало мне точный контроль над окончательным потоком и формой кабеля.

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

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

Разбросанные клочки бумаги также были созданы с помощью простой симуляции nCloth, позволяя им падать и оседать естественным образом на столе. Что касается пыли, то это была не просто текстура. Я использовал сложную карту высот, подаваемую в узел V-Ray Displacement во время рендеринга. Это придало пыли реальную, хотя и микроскопическую, геометрию, которая правильно улавливала свет и тени, добавляя значительный уровень реализма.

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

Это легко сэкономило мне как минимум целую неделю производственного времени. Кроме того, я был очень эффективен, моделируя только то, что было видно камере. Однако мне всё равно нужно было развернуть всё для текстурирования. Для этого я использовал стандартный редактор UV в Maya. Весь проект был организован с использованием рабочего процесса UDIM. Это было важно для работы в Mari и было лучшим способом достижения чрезвычайно высокой плотности текселей, необходимой для реалистичных текстур высокого разрешения.

Last Login: - изображение 5

Текстурирование

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

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

После этого я начал процесс старения, накладывая грязь и повреждения. Я в значительной степени полагался на процедурные маски, управляемые Ambient Occlusion и Curvature Maps, чтобы реалистично создать грязь в щелях и износ по краям, соответствующий «старости» объектов на фотографии. Последним слоем была пыль, и, как я уже упоминал, я экспортировал её карту высот для использования с V-Ray Displacement.

Last Login: - изображение 6

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

Моим решением было сделать скриншот с них из оригинального концепта и посмотреть, сможет ли ИИ помочь. Я скормил скриншот с низким разрешением ChatGPT и попросил его помочь мне восстановить и воссоздать изображения. Результаты были абсолютно поразительными. Он предоставил мне почти идентичные изображения FullHD, которые я мог сразу использовать.

После минимальной коррекции цвета в Photoshop они были готовы. Было полной неожиданностью, что такой рабочий процесс вообще возможен, и он сэкономил мне огромное количество времени.

Last Login: - изображение 7

Финальная сцена

Сборка финальной сцены была на самом деле простой, потому что я всё время работал «на месте». Поскольку я заблокировал камеру в первый же день с помощью fSpy, мой файл Maya был финальной сценой. Процесс заключался в том, чтобы просто последовательно заменять простые формы блок-аута на финальные высокополигональные модели Sub-D. Композиция была поэтому заблокирована с самого начала.

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

Для освещения моя установка в V-Ray состояла из нескольких V-Ray Rect Lights. У меня был один основной свет для создания ключевых теней, а затем несколько заполняющих источников света для освещения областей, в которых это было необходимо. Ключевой техникой, которую я использовал, было создание «отражающих карточек» (простых плоскостей). Я направил некоторые из моих Rect Lights в сторону от сцены и на эти плоскости, что позволило свету отразиться обратно и создать чрезвычайно мягкие, естественные тени в определённых областях.

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

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

Мой руководитель предложил мне преобразовать все мои текстуры в плиточные, отображаемые в памяти файлы .tx. Я изучил процесс и с помощью ChatGPT написал небольшой скрипт на Python для использования в Maya. Этот скрипт автоматически конвертировал все мои файлы .tiff в .tx и затем перелинковал их в Hypershade.

Last Login: - изображение 8

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

Для финального рендера я использовал сэмплер V-Ray Bucket, соответствующий исходному разрешению концепции 2449x1621. Я рендерил в многоканальном файле EXR, который встраивал все мои элементы рендеринга (AOV). Моими важными проходами были Cryptomatte (для маскировки), Specular, Reflection, Denoiser, Diffuse и все отдельные световые проходы для V-Ray Light Mix. Весь мой рабочий процесс в постпродакшне был выполнен в Nuke.

Благодаря проходам Light Mix я смог извлечь из своей сцены каждый источник света и использовать узлы Grade для индивидуальной настройки его интенсивности и цвета. Это означало, что я мог по сути «переосветить» сцену в постпродакшне, сверяясь с референсной фотографией и тщательно подбирая вклад каждого источника света, один за другим.

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

Заключение

Общее время производства работы составило ровно четыре недели, не считая первоначального поиска концепции и её проработки. Всё это было сделано в рамках моего базового курса в учебном центре Think Tank Training Centre. Главной задачей, без сомнения, был амбициозный масштаб проекта в сочетании со сжатыми сроками.

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

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

Эта поддержка со стороны коллег была бесценна. Мой совет начинающим художникам — просто завершать свои проекты. Чем больше я оглядываюсь на «Last Login», тем больше вижу вещей, которые я бы исправил или сделал иначе сегодня. Но, в конце концов, это моя первая крупная завершённая работа. Завершенный проект, даже если он не идеален, бесконечно ценнее, чем идеальная идея, которую вы так и не реализовали. Вы узнаете всё из процесса завершения. Желаю всем удачи в их творческом пути.

Бартош Сова, 3D-художник

Интервью проведено Эммой Коллинз

Автор: Bartosz Sowa

Материал подготовлен на основе статьи 80.lv. Перевод — Skills Up.