Освещение с помощью HDRI

Освещение с помощью HDRI

Привет всем!

Помню, когда я только начинал пробовать MAX мне хотелось сделать картинку, похожую на эту.

Вроде и модель простейшая, и фон белый – ничего особенного, а вот смотрится. И главное - не получалось…

Например, сделал модель машины для анимации (делал по типу МакКвина из мультика «Тачки»).

Наложил текстуры, настроил материалы. Осветил, как советуют в книгах. И… в лучшем случае, получается вот так:

Может быть, кому-то и понравится. Мне тоже по началу такой вариант нравился.

Но с течением времени я понял, что это, конечно, «не есть хорошо».

Да! Можно ещё источники света сделать протяжёнными для размывания тени. Это ещё улучшит результат. Можно ещё кое-что поправить, добавить и в результате получить сложно управляемую, особенно для анимации, сцену. Я видел и пробовал скрипты, которые создают осветители буквально десятками (для ровного освещения). Но это уже, конечно, прошлый век. Ведь сейчас можно воспользоваться «объёмным» освещением.

Справка №1 (для тех, кто не знает, что такое «объёмное» освещение).

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

И теперь есть возможность создавать это «объёмное» освещение прямо в Mаксе. Для этого нужно использовать встроенный MentalRay рендер или Vray, или кому какой нравится. Можете почитать уроки, посвященные этому на сайте. Результат превосходный. Чего ж ещё надо? Но есть одно «но». Для того, чтобы лучи света переотражались в окружающей среде и освещали объект, необходимо эту среду создать. Т.е. приходиться создавать то, что мне в конкретном случае совершенно не нужно. Я буду тратить время на создание ненужных мне объектов, мало того, компьютер будет тратить время на рендер ненужных объектов. И это всё для того, чтобы создать «мягкое» освещение. Сразу приходит на ум вариант – уменьшить количество полигонов у объектов окружающей среды для ускорения рендера. Неплохой ход мысли. Только зачем же останавливаться на полпути. Давайте вообще уберём полигоны и оставим только картинку окружающей среды – улицы, например. Давайте просто сфотографируем улицу. Там и яркое солнце и тень от дома, небо, деревья и никаких полигонов. Макс нам спасибо скажет ;-))

Но тут возникает другая проблема…

Справка №2 (для тех, кто не знает, как получается цвет пикселя).

Любой цвет спектра можно получить с помощью смешивания трёх цветов – красного (Red), зелёного(Green) и синего (Blue). Это так называемая цветовая схема RGB. Яркость каждой составляющей может меняться от 0 до 255. Тогда если все три составляющие равны нулю RGB (0, 0, 0) – получим абсолютно чёрный цвет, а если RGB (255, 255, 255) – абсолютно белый.

И вся проблема в том, что такая цветовая схема отлично передаёт все цветовые оттенки, но «из рук вон плохо» передаёт силу света. Т.е. сфотографированный белый лист бумаги (255, 255, 255) будет иметь такую же силу света, как и солнце (255, 255, 255). Вы ведь не обращаете внимания на то, что солнце на фотографии не слепит вам глаза. Мы привыкли, что это естественно. Это имитация действительности. Для человека этой имитации достаточно. А для того, чтобы освещать этой картинкой объёкт – НЕТ! Потому, что белый лист будет освещать предметы с такой же силой, как и солнце.

И вот тогда по многочисленным просьбам трёхмерщиков был создан специальный формат файлов для хранения изображений с расширенным динамическим диапазоном – HDRI (High Dynamic Range Image ) Там те же три цветовые составляющие RGB, но только они могут меняться в намного более широком диапазоне. Не волнуйтесь – солнце у вас на экране не загорится. Монитор передаёт только стандартный RGB диапазон. А вот использовать этот формат для освещения – пожалуйста. Найти HDRI изображения можно в Интернете. Несколько есть прямо в MAX. В уроке используем одно из них.

Справка №3 (для тех, кто не знает принцип получения HDRI изображений).

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

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

  1. Открываем нашу модель и указываем Vray рендер в качестве текущего.

  2. Включаем «объёмное» освещение.

  3. В MaterialEditor загружаем HDR изображение. Для этого на карту Diffuse пустого материала перетаскиваем карту VRayHDRI.

    И указываем файл C:\3ds Max9\maps\HDRs\KC_outside_hi.hdr

    Вот и готовая улица!

  4. Указываем, что будем использовать это изображение в качестве освещения. Для этого кликаем на кнопке с названием карты в редакторе материалов (см. рис. выше) и перетаскиваем в слот освещения рендера Vray.

    И выбираем

    Теперь все изменения в редакторе материалов будут переданы в рендер.

  5.  (Очень важно) Выключаем осветители по-умолчанию.

    Дело в том, что так как в сцене нет ни одного «нормального» осветителя, Vray включает осветитель по-умолчанию. А он нам совсем не нужен.

  6. Для того, чтобы объёкт не висел в воздухе, создаём плоскость, на которую объёкт будет отбрасывать тень. А для того, чтобы была видна только тень (на белом фоне), присваиваем плоскости специальный материал VrayMtlWrapper и настраиваем.

    А в качестве Base material указываем стандартный VrayMtl.

  7. Если объёкт не полностью матовый, он должен иметь отражения. Поэтому  копируем VRayHDRI в другой слот и перетаскиваем полученную карту в слот отражений окружающей среды.

    И тоже указываем

    Я разделил эти карты для того, чтобы можно было отдельно редактировать силу освещения и отражения. Не знаю почему, но параметр Multiplier закладки «Vray: Environment» не работает

     и приходиться изменять значение Multiplier самой карты.

  8. Делаю пробный рендер. У меня получилось слишком темно. Увеличиваю мощность карты освещения Multiplier – 2.0 (напоминаю, что это нужно делать в настройках VRayHDRI карты в редакторе материалов, а не в настройках рендера на закладке «Vray: Environment»)

  9. Нажимаем кнопку рендер. Ждём.

Напоминаю, сцена не имеет ни одного осветителя.

Машина освещена очень мягко, отражает окружающую среду. Но из-за того, что карта освещения имеет преобладающий синий цвет неба, то и объект приобретает синий оттенок. Проще всего это исправить впоследствии с помощью Photoshop или AfterEffects (для анимации), а можно и с помощью Max. Включаем эффект ColorBalance.

Настраиваем таким образом, чтобы исходный серый цвет стал серым на картинке. Ну, или как вам нравится. Включаем флажок IgnoreBackground для того, чтобы не менять серый background.

С помощью HDR освещения могут быть получены только очень мягкие тени. И если вам требуется более конкретная, чёткая тень – добавьте осветитель. Но это уже, как говорится,  «от жиру», а начальный довольно качественный результат уже готов. В моей работе при создании рекламных роликов этого качества вполне достаточно. Что и требовалось – быстро и довольно качественно.

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

Успехов!

540 0 850 104
47
2008-02-20
От меня лично большой сенкс!!! Такое чувство, что конкретно для меня написано. Вот сколько не бился, а тень на белом не получалась. А уж освещение - вообще нет слов. Ещё раз большой поклон до земли. Так держать! 5/5
2008-02-20
У меня есть стойкое подозрение, что если бы автор в GI Environment (skylight) override заменил голубой цвет на белый - не пришлось-бы подключать "Color Balance"
2008-02-20
Не очень актуально, но все по делу. И в следующий раз не пиши "Не знаю почему, но параметр Multiplier закладки «Vray: Environment» не работает". А то странно слышать "не знаю" от того, кто пишет урок, за который , кстати, большое спасибо.
2008-02-20
AndrewL, ошибаетесь! Карта если она загружена перекрывает цвет
2008-02-20
Ну, уроков, описывающих подробно освещение с помощью hdr, предостаточно.... Поэтому не считаю этот урок актуальным :) P.S. На плоскость, принимающую тень, не обязательно назначать материал VrayMtlWrapper. Достаточно просто поставить соответствующие галочки во Vray properties(Matte properties) выделенного обьекта. А за старания спасибо ;)
2008-02-20
От меня тоже 5/5 Хотя... за актуальность даже 6! Спасибо.
2008-02-20
Полезно, но вот с эффектом "Колор балланс" вы перегнули. Нет, это конечно правильно, но вот не всегда возможно. Я про настройку баланса. А если в HDR не один синий\голубой преобладает? А урок актуальный. В силу того, что его можно использовать в "предметной визуализации". Мог бы оценивать - оценил бы на 5.
2008-02-21
уроков-то подобным много, но это не делает им чести) в этом уроке более менее собрно все вместе - эти знания я собирал по частям, попался бы он мне раньше... вобщем, автору респект)
2008-02-21
Автор молодец!Начинающие:везет вам,столько прекрасных уроков. :)
2008-02-21
Спсибо огромное. для меня, как новичка в 3DMAXе очень полезный урок.
2008-02-21
Спасибо большое наконец нашел то, что нужно.
2008-02-22
Отличный урок. Все доступно объяснил.
2008-02-22
лови пятёрки :) хоть урок для меня особой пользы не принёс, но на свете же не только лишь "Я" существую ;)
2008-02-22
Ну скажем так!Урок в принципе позновательный и доступный к пониманию!Но это уже давно обсуженная тема и по этой теме множество тутов которых я прочитал!Так что для меня особо это урок не интересен!
2008-02-22
[quote][b]ViewPort[/b] странно слышать "не знаю" от того, кто пишет урок[/quote] Почему странно? Вполне даже нормально, когда человек не занимается самообманом и тем самым не вводит других в заблуждение.
2008-02-22
Ну как бы да..... прикольно. Но мне если чесно картинка первая (Я так понял это вообще сканлайн!?) БОЛЬШЕ ПОНРАВИЛАСЬ! да освещение там неалё, но в димках и краски есть глубина, прям видно ихний "вес". А последний результат хоть и зализаный но какойто пластмассовый... Поставил 4 так как урок действительно оч. полезен для новичков, но есть недоделки. СПАСИБО! Пишите ещё!
2008-02-23
хм...мне очень напомнило конец вот этого урока: http://render.ru/books/show_book.php?book_id=250 Есть что-то принципиально новое, чего не было в нём или до чего не тривиально дойти самому? (а то может я не тем местом читаю...^_^)
2008-02-24
ДЛя начала не про сам урок, а про мифическое "объёмное освещение" Лучше бы это не писал вовсе. Потому, что это правильнее называть "рассеянным светом" от атмосферы. Отражёния от земли и поверхностей, конечно, тоже есть, то не так важны. Они актуальны лишь в закрытых помещениях. Именно из-за света рассеяного в атмосфере, тени на улице не абсолютно чёрные, даже при облачности и в чистом поле (где только одна поверхность - земля) Аналогично поздним вечером в безлунную ночь не абсолютная тьма и небо может быть относительно светлым. Или можно в терминах компьютерной графики, перевести Global Illumination Тени всё равно есть - это те зоны, куда проникает меньше рассеяного света. Поэтому тени при облачности под машинами сгущаются к центру. И для имитации "рассеяного света" нет нужды "создавать среду". Достаточно VraySky, например. Можно сферу самосветящуюся "вокруг". А можно и просто градиент вместо HDRI в тот же слот А если наставить объектов, но не озаботиться о освещении от неба, то результат вряд ли будет как нужен. И HDRI во многом тем и хорошо, что сохраняет правильно информацию о рассеяном свете и может её "вернуть" Только для этого нужен "сферический" HDRI, а не просто фото с разными выдержками.. Какую, собственно и применил Урок же неплох. Но есть и варианты. Если на бэке нужен вид самой HDRI, без всякой плоскости, но с тенями, то не обойтись без материала matte\shadow с параметром matte в свойствах vray Также потребуется кинуть карту в environment самого макса. Если это сделать, то можно не включать override reflection Чтобы не париться с color balance проще hdri взять нужную, серую, типа облачной. И есть специальные HDRI изображающие светящиеся плейны - хороши для студий. А ещё hdri можно нарисовать или сделать в самом максе, отрендерив панораму. Кстати, машинка на белом фоне, но отражающая улицу, смотрится несколько глупо. Это нередкая ошибка при создании студий.
2008-02-25
[quote][b]Александр Карабардин[/b] хм...мне очень напомнило конец вот этого урока: http://render.ru/books/show_book.php?book_id=250[/quote] Да, напоминает именно вот это: [quote]"[i]Если на полученом изображении слишком много синего цвета, что произошло у меня, то это легко исправить изменив немного кривые в свитке Output, установив предварительно галочку на Enable Color Map и переключив Mono на RGB. Здесь мы можем провести цветокорекцию по каждому из трёх базовых цветов, установить экспозицию или инвертировать цвета.[/i]" http://render.ru/books/show_book.php?book_id=250 [/quote] Похоже тут тоже проблемы с синим цветом =) Действительно, лучше цветокоррекцию провести не с помощью пост эффекта в максе, а на уровне материала. А потом еще в фотошопе подкорректировать - там сразу видно конечный результат! А еще странно какой фиолетовый цвет приобрели хромированные диски. Гы, надо было на отражение другое hdr изображение назначать, чтобы отражения и блики были четкими. [quote][b]nailgun[/b] Урок же неплох. Но есть и варианты.[/quote] Ага, с такими вот уроками они поялвляются только в комментариях =).
2008-02-25
Отличный урок. Как раз для меня! Пятёрочки держи.
2008-02-25
Обалдеть. Оказывается всё так просто?! А я думал, что в 3d Studio MAX такое вообще нельзя сделать. Оказывается у этого пакета большие возможности. Буду продолжать его изучать.
2008-02-25
Огромное спасибо за урок. Присоединяюсь к благодарности. Молодец!!!
2008-02-25
Нормально, только вот диски синими и остались.
2008-02-25
Прикольный урок, конечно... "В вирее есть слот под карту GI, и оказывается если туда засунуть эту самую карту, она будет освещать собой сцену, как собственно и должна. Конец." =)) Ну да ладно... Просто несколько добавлений: - нафик не надо юзать VrayHDR, а загружать хдрку просто через Bitmap с настройкой яркости в самой хдрке. Считается быстрей; - для освещения юзать хдрку маленького размера. Считается быстрей; - чтоб сделать Matte - проще ткнуть правой кнопкой в плейн и сказать VrayProperties > Matte (-1); - плейну под машинкой выключить Properties > Visible to Reflection, если хотим, чтобы в объекте при виде сбоку отражался не этот белый огрызок, а земля с хдрки; - настроить цветовой баланс можно гораздо гибче изначально у самой хдрки, через Output > Color Map; - ХДР освещение обычно юзается, чтобы вписать объект в освещение бэкграунда, так что плейну под объектом дать цвет/текстуру того, на чем он стоит на бэкграунде.
2008-02-26
Урок понравился. Спасибо!
2008-02-26
Если писать про использование HDR в качестве GI, то почему забыт Dome Light ? Вроде не сложнее использовать, к тому же именно Dome, как пример, в хелпе указан в качестве генерации GI HDR, да вращать его можно изменяя тем самым освещенность.
2008-02-27
Здорово! Именно это было нужно!!!!!!! Спасибо!
2008-03-02
Честно говоря это уже тысссссччууууу раз обсуждалось, а вот для освещения лучше использовать разблюренную HDR-ку, она кстати лежит там же где и эта которая использовалась в уроке C:\3ds Max9\maps\HDRs\KC_outside_hi.hdr и называется C:\3ds Max9\maps\HDRs\KC_outside_Xsm_blur.hdr
2008-03-27
а у меня почему то картинка становится менее реалестичнойиз за преминения HDRI в качестве освещения... немогу подобрать настройки, да к тому же увлекся gamma настройками, не увидел я хваленой реалестичности... [url]http://vertalet.ru/0035.htm[/url]
2008-04-16
Все сделал как написано, но ничего подобного не получается! тень у меня очень светлая и в примешку с отраженным цветом объекта, короче фигня получилась у меня! А урок какраз в тему
2008-04-17
Класс работает.
2008-04-25
"Я разделил эти карты для того, чтобы можно было отдельно редактировать силу освещения и отражения. Не знаю почему, но параметр Multiplier закладки «Vray: Environment» не работает" - скорее всего, потому, что он не для силы освещения создан (http://www.spot3d.com/vray/help/150R1/render_params_environment.htm)
2008-04-25
[url]http://www.spot3d.com/vray/help/150R1/hdri_params.htm[/url] - добавление
2008-05-30
Молодец! Урок очень пригодился! 5\5
2008-06-23
Спасибо огромное автору за урок. Можно сказать, жизнь спасли)) Присоединяюсь к Юрию Гузееву: тени на белом тоже совершенно не получались! А тут - все, как надо, и даже лучше! Спасибо еще раз!
2008-06-26
И от меня огромное спасибо, все очень понятно изложенно! =) дальнейших успехов тебе!
2008-12-25
Хороший урок...! Но елки палки, почему у меня карта в редакторе материалов не перетаскивается в слот освещения Vray! ПОМОГИТЕ!
2008-12-25
ВСЕ разобрался)))))))
2009-02-08
спс:-)
2010-02-24
Вопрос - почему у меня получается фон (VrayMtlWrapper) темный, а не белый? Базовый материал VrayMtl простой белый Загуглил про VrayMtlWrapper, но это как-то ситуацию не прояснило: "Matte surface - Масочная поверхность - делает материал масочным, который показывает фон вместо базового материала, когда виден непосредственно. Заметим, что базовый материал по прежнему используется для таких вещей как GI, каустика, отражения и т.д."
2010-08-26
вопрос к автору: можно ли использовать данный вид освещения с другими видами, к примеру с V-ray light. Не потеряется ли при это эффект окр среды HDR?
2011-01-04
А у меня плоскость получается абсолютно черная. Настройки несколько раз проверил - вроде все совпадает. Если кто знает в чем дело - напишите, плиз.
2011-11-14
если черная плоскость значит по восьмерке черное окружение назначено
2011-12-31
Владимир, спасибо, разобрался
2012-03-15
Очень помогло, параллельно изучил ещё пару функций V-ray. СПАСИБКИ
2014-03-08
Делаю все по инструкции,а получается все в каком то белом тумане,а в стеклах не отображается hdri окружение.(экстерьер коттеджа)
2016-03-19
Спасибо за статью!
RENDER.RU