Making of Soulages Museum

ВВЕДЕНИЕ

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

Этот проект я решил сделать, в первую очередь, для конкурса The One Rendering Challenge. И наряду с этим, попробовать вложить в него все свои знания и умения, чтобы максимально отразить свои навыки. В целом, на создание проекта у меня ушло чуть больше двух недель.

ПРОЕКТ

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

Мне очень понравился проект музея Soulages во Франции. Самыми полезными для создания этих визуализаций были, конечно же, фотографии, сделанные фотографом KEVIN DOLMAIRE. Каких-то новых положений камер, направленных на само здание, я не искал, так как профессиональные фотографы, разбирающиеся в композиции кадра лучше меня, уже решили эту задачу. В свою очередь, я просто выбрал ракурсы, лучше всего демонстрирующие архитектуру здания. А вот над остальными я уже провел поиск самостоятельно.

Теперь расскажу немного о принципах, которыми я руководствуюсь при создании фотореалистичной 3д графики. Основное — это правильное освещение. Следующее, не менее важное, умение показать взаимодействие между материалами и размытие резких границ между объектами. Хорошие текстуры сейчас доступны многим, но при этом изображения все равно выглядят как CGI. Поэтому важно уметь создавать живую среду.

3Д МОДЕЛИРОВАНИЕ

Фасад

Очевидно, что фасад этого здания создать довольно просто. Создал боксы, затем просто нарезал (не использовал floor generator).

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

Какие растения использовал

Для травы я использовал эти модели модели (Megascans, Maxtree, Graswald Assets).

Кусты и деревья я брал из сборников Maxtree и Archmodels.

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

Щебень

Для переднего плана я не хотел использовать текстуру с дисплейсом и сразу решил сделать его геометрией. Меня сразу не устроил вариант с разбросом отдельных камешков через corona scatter, так как я понимал, что это будет выглядеть неестественно, камни буду пересекаться друг с другом, парить и т.д. Потому я решил изначально сделать симуляцию, а затем уже ее скатерить. Следующим шагом подобрал идентичный с референсом щебень — грубый, необработанный. Щебень я взял из сборника arroway. Когда я импортировал нужный мне образец, он уже был отсимулирован в квадратные сегменты. В противном случае я бы сам сделал их симуляцию через MassFX

Такую геометрию уже можно использовать для разброса. Определил размер квадратного образца, дальше в corona scatter указал распределение по сетке с необходимым шагом и чтобы избежать повторяемости взял несколько различных сгенерированных моделей с шагом вращения 90 градусов по оси z. И чтобы дополнительно избавиться от повторяемости, диффузную карту я подключил к corona multimap, указал вариативность в оттенке и гамме для инстанс копий (хотя лучше было бы для элементов).

Знаки и фонарные столбы.

Через просмотр улиц в google maps я сделал скриншоты всех элементов и затем создал их в максе.

Текстуры для информационных знаков нарисовал в фотошопе.

Стадия освещения

Основным в настройке освещения является подбор hdri и дальнейшая ее коррекция. Я выбрал самую подходящую из того что имел — это cloudy с CG-Source.

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

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

Я думаю этот результат немного ближе к истине.

Стадия текстурирования

Фасад

Материал фасада — это цельный шейдер. Он состоит из материала металла и ржавчины. Ржавчина состоит из двух базовых текстур диффузного компонента и различных масок (нет набора pbr текстур).

Металл

Ржавчина

Микс

Стекло

Это обычный материал стекла, но с одной условностью. Насколько я знаю в окнах для зданий, обычно, присутствует отражающая пленка на внутренней поверхности, поэтому я увеличил IOR с 1,52 до 2,5.

Дорога

Здесь я использовал основную бесшовную монотонную текстуру от poliigon, а для добавления деталей поверх накладывал текстуры friendly shade с различными дефектами. По факту тут нужна отдельная статья для описания всего процесса создания дороги, но вкратце расскажу основные моменты. Для начала я сделал развертку через unwrap uvw, чтобы при поворотах текстура также следовала за направлением дороги. Для всякой грязи можно использовать ту же развертку, но с uvw xform с указанием другого канала, либо пару uvw map поверх накинуть. Далее создал сплайны из контуров дороги, которые затем послужат маской через corona distance, и сплайны для колеи и следов от шин. А подключение карты corona distance к bercongradient дает вам неограниченные возможности в настройке маски (об этом приеме я узнал из ролика vray, где они показывали, как сделать чайные подтеки на бумаге от стакана).

Вообще bercongradient очень сильная карта, которая может заменить falloff map и gradient ramp, но не все ее функции работают корректно с короной.

Листва и кора растений

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

Для листвы, как правило, я настраиваю отдельно материал для фронтальной и обратной части листа. Фронтальная часть более темная и имеет IOR около 2.4 и высокую рефлективность (но все листья разные и для каждого отдельного растения настройки могут сильно отличаться). Обратная сторона менее рефлективная, но более яркая.

Деколи

Принцип, который помогает мне добавить деталей элементам без особых усилий — это деколи из megascans. Когда я смотрел демонстрационные ролики от quixel, где они собирали сцену в unreal engine, они, загадочным для меня образом, накладывали деколи на поверхности, которые очень естественно интегрировались с ними. Я не знаю, что там за механика, но мне захотелось то же провернуть в 3ds max. И я пришел к очень простому решению. Я просто создаю плоскость с нужными пропорциями, применяю материал, далее в настройках объекта убираю галочки с cast shadows и visible to reflection/refraction. Подношу к месту, где бы я хотел его установить и проецирую через rapidRTconform на нужную поверхность, затем при интерактивном рендере приподнимаю этот объект до тех пор, пока он не станет видимым (из-за возможного дисплейса поверхности на которую вы его положили). Так как он не отбрасывает тени и не виден в отражениях, даже если он будет парить над поверхностью вы этого не заметите. Вот такой интересный прием).

Бонус

Покажу некоторые фишки, которых я не видел на просторах интернета.  Они все будут завязаны на falloff map.

1. Изменение масштаба текстуры по мере отдаление от взгляда.

Сначала покажу результат, думаю для вас очевидно какой вариант лучше.)

Сначала покажу как работает маска. Она интерактивная. Зависит от дистанции от точки взгляда.

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

Так выглядит настройка маски. Значения дистанции естественно могут разниться.

Далее эту маску применяем к шейдеру. Berconmapping я использую для того, чтобы изменить масштаб текстуры. И далее, с помощью карты rgb tint я фильтрую маску по rgb каналам.

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

2. Применение того же режима карты falloff для coronascatter

Я уверен многим знаком режим распределения объектов в Forest pack, который при отдалении от камеры уменьшает плотность инстансов. Так вот.  Подключив карту falloff в слот distribution в corona scatter вы получите тот же эффект.

3. Использование карты bercongradient или falloff+gradientramp для создания маски снега, пыли и т.д.

 

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

Единственная причина, по которой я показал эти фишки на примитивах в том, что я еще не успел ни в одном проекте применить эти знания. Но в следующих проектах я обязательно это реализую.

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

Комментарии (49)

+1
petrovich23rus
спасибо!
+2
danro
Хороший мейкофф, только его сложно заметить. Киньте превью в описание, в таком виде как сейчас, его легко пропустить.
0
vsakulv
Спасибо! Сразу не понял как добавить изображение на превью.)
+5
Charlyxxx
Хороший Making. За большие статьи - сразу ставлю жирное +5. Так как когда-то тоже формировал их здесь и знаю, как это заморочно вставить кучу картинок и текста. Так что заслуживает уважения и высокой оценки даже только из-за этого.
+2
snake
Супер, спасибо за труд. Материалы отличные, столько заморочек с ними, но это стоило того)
+1
Baleon
Огромное спасибо за материал!
+1
instudio_visuals
натыкался на этот проект в бэхе, неожиданно увидеть мэйкап, очень круто, автору респект. Инфа очень важная для многих)
+1
V.Dolgalev
Спасибо коллега за труд! Все изучил!
+2
egor98
За последние две фишки с картой градиента и наложением мегасканов на плоскость огромное спасибо.
+1
Aya92
Я бы поставил и 10 баллов но больше нельзя)
Спасибо за статью, подчерпнул немало полезного для себя)
0
Patarach
А я вот не понял как накладывать карту мегасканов вобще , мегасканы же вобще работают через бридж или как , можете кто то детально описать действия переноса материала из самого мегаскана в макс
+1
Aya92
Текстуры и модельки с мегаскана можно вручную переносить в макс, так же как и обычные модели.
0
Aya92
Насчет виза все шикарно!
А еще вопрос) Использовали ли вы для архивиза substance painter? Если да то как он вам?
Я использую его для текстуринга, и скажу много геммороя отпадает с созданием потертостей, подтеков)
+1
vsakulv
Нет не использовал, но я понимаю, что это очень сильно упростит создание текстур и подтеков (я видел как там они рисуются кисточкой, очень удобно). Тем более для таких текстур как плитка и паркет там есть генераторы всякие. Я уже пол года хочу изучить что-то подобное, но не как не подступлюсь.) Меня останавливает пока только анонс quixel mixer 2020, как мне показалось они внедрят в миксер quixel suite. Так как я пользуюсь миксером и мегасканс библиотекой, хотелось бы все делать в одной среде. По сути substance painter и quixel suite это что-то похожее. Единственное у substance есть painter (аналог suite), designer и alchemist (аналог mixer) и эти прогрммы, по мне, лучше чем у квикселя. Но блин библиотека у мегасканс очень удобная (хотя я не знаком с библиотекой substance). Есть еще mari от foundry (тоже крутая) мне в целом все продукты foundry нравятся, но блин я начал свою работу в 3ds max. В будущем возможно буду постепенно переходить на другой софт. Если ты работал и с quixel и с substance, то скажи что лучше выбрать по своему опыту.
+1
visvis.ddd
Отличная статья, спасибо!
0
Patarach
Чуваки у кого есть эта ХДР скиньте пожалуйста сюда , поделитесь с братюнями добром ну емае.
0
V.Dolgalev
"и размытие резких границ между объектами" - а как технически достигали?
+3
vsakulv
Первый вариант. К примеру если бордюр граничит с землей, то к материалу бордюра добавлять немного подсохшей грязи (и немного свежей) через послойный материал по маске (AO, distance и т.д.), используя тот самый материал земли. Если это бордюр и асфаль, то вдоль линии соприкосновения обычно скапливается вода, которая делаей асфальт и бордюр немного темнее, либо там будет скапливаться пыль (может быть множество различных ситуаций), но суть в том, чтобы эту пыль добавлять и на материал бордюра и на материал асфальта, + скатерить камешки, листья, травинки. Главное чтобы границы не выглядела как ровная линия, можно по макскам накладывать различные текстуры с дисплейсом, (как я сделал в этом проекте, тут просто цельный шейдер, но для границ дороги применена другая карта дисплейса с поврежденным асфальтом по маске через distance, и на эти участки по карте АО я добавил высветления типа пыли и эта же маска работает от люковhttps://vk.com/doc71144927_537470203?hash=e0baf38b9d0faf4736&dl=c804d14043a468bae7 ). Следующий вариант который я часто сейчас использую — это деколи из мегасканс. Настривать у них дисплейс, чтобы они не были плоскими и подносить к границе (очень действенный метод). Много вариантов есть, в каждой ситуации свой прием. Но суть надеюсь уловили.
0
V.Dolgalev
Ааа понял, я так и делаю... думал что то другое имели ввиду. Все равно спасибо за инф!
0
vladimir.drobzhev90
Я пыталя сделать с помощью мегасканов через мультиматериал каменный берег переходящий далее в траву и регулировать переход через дистанс, так вот при этом дисплейс не аботает почему то. Не знаете в чем проблема? отдельно накидываю этот материал на всю геометрию, тогда все выдавливается.
0
vsakulv
Если вы про послойный материал, то дисплейс нужно смешивать в базовом слое.
0
vladimir.drobzhev90
Понял, спасибо! Ну да, мультисаб в одном из слотов которого послойный материал был.
+1
V.Dolgalev
"можно по макскам накладывать различные текстуры с дисплейсом, (как я сделал в этом проекте, тут просто цельный шейде" - только сейчас этот момент приметил у вас! Попробую, еще раз спасибо :)
+1
nikitann
Супер статья! Автор потрудился конечно!
+1
sorter
самое интересное для меня была инфа о создании дороги и ей уделено буквально пару строк. Печаль, хотя идею я понял. Взял на заметку)
0
chado
Если делать потёртости от шин на асфальте с помощью карты КоронаДистанс, то нужно использовать бесшовные и более однородные текстуры, как я понял. Т.к. поворачивать в след за сплайном текстура не умеет. Так получается?
0
vsakulv
Умеет, если ты сделаешь правильную развертку.
0
chado
Развертку делать сплайну? Не понял...
+1
vsakulv
Нет. Для дороги, текстура ведь по развертке дороги ложится, а маска по сплайну рисуется.
0
roninelli
n1
0
Ghonatan
2 Недели????????? Там работы на день.
+12
Uraken
Ну вот и однодневщики подехали. Ждем часовиков.
+2
hydra
Ок, покажите класс с записью экрана, мы так уж и быть потратим рабочий день и просмотрим ваш результат за день!
+1
Uraken
Спасибо, круто!
+1
pet046
Сильно! Есть чему поучится.
0
SaqoG
Круто, круто, круто! Всегда есть чему поучиться новому. Работа очень классная!
А скажи пожалуйста что за карта bercongradient?
0
vsakulv
Эти карты можно скачать, они в бесплатном доступе, называются berconmaps. Если конкретно по этой карте, то это аналог gradient ramp, но с большим функционалом.
0
Pavel19922
Мы занимаемся продажей декоративных покрытий, ржавчина в том числе, если кому то интересно можем отрисовать бесшовную текстуру по ней? Ну как правило такие проекты редко бывают, кому нужно пишите в лс, отрисуем, выложим сюда.
0
Uraken
Комментарий удален
0
Pavel19922
Надо отрисовать сначала)
+2
highmoon
Было бы интересно еще почитать и про создание асфальта и дороги! Спасибо, что поделились своим опытом! Очень интересная статья, есть к чему стремиться!
+1
fas3d
Спасибо автору
+1
Ponchock
Спасибо! Бонус отличный
+1
1411647
Вообще круто) Респект.
Картинка сразу погружает в атмосферу скандинавской сырой дождливой погоды)
Желаю автору работы здоровья и новых идей.
+1
ashes63
Отличный урок - в закладки, однозначно. Спасибо!
0
irina131413
подскажите, а зачем карта композит в материале? точнее как используется без маски? или дело в режимах наложения?
+1
vsakulv
Если в основной слот я подключаю черно-белую карту, то в основном использую режимы наложения multyply или screen и регулирую непрозрачность слоя.
+1
irina131413
понятно, спасибо! Классная работа!
0
vsakulv
Спасибо!