GI и HDRI - освещение в YafRay.

автор - Zsolt Stephan

 

Введение

Существует множество способов освещения трёхмерных сцен, от размещения нескольких простых отдельных источников света, пространственных и комплексных  световых конструкций, составленных из разных типов до различных вариантов глобального освещения (GI).Здесь мы будем рассматривать именно GI используя YafRay в качестве рендерера для Blender.

Сначала развеем общее заблуждение, что GI это некая волшебная кнопка "СДЕЛАТЬ РЕАЛИСТИЧНЫЙ РЕНДЕР". Нет, это просто тип модели освещения, более передовой, чем старые добрые отдельные светильники и более физически точный.  Он не сможет автоматически сделать классные изображения, он просто даст вам иной инструмент, будучи заменой сложным комплексам световых источников, которые нужно было бы расставлять вручную. Это позволяет сэкономить время (а время=деньги, как всем известно). Основной принцип GI - освещение сцены базовым заполняющим светом с ровным светораспределением, что делает её более правдоподобно выглядящей. Сцена при этом может (и должна) дополняться традиционными источниками света.

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

Глобальное освещение отличается от рейтрейсинга. В последнем световой луч направляется (трассируется) от камеры к объекту от которого может быть отражён\поглощён, и затем направлен ко всем видимым источникам света. Это даёт вам отражения, поглощения света и жёсткие тени. GI, напротив направляет пучок своих световых частиц (фотонов) от источников света к объекту, учитывая отскоки фотонов между объектами сцены. Это даёт вам отражения, поглощения И цветовое взаимосмешение, мягкие тени, каустики (невозможные при рейтрейсинге) и в целом большую реалистичность. Источником света в GI может быть лампа или другой объект. Для экстерьерных сцен задник (фон) может также испускать свет. Так как Blender не поддерживает (пока) GI, то для визуализации по этому алгоритму используется YafRay.

 

Рис.1 Развёрнутые панели YafRay в опциях рендеринга [F10] Blender.

 

Настройки GI.

Сперва нужно установить YafRay и добавить путь его размещения в переменные среды вашей ОС (см. файлы Yafray readme !). В Blender в панели рендеринга, в выпадающем меню под большой кнопкой RENDER необходимо выбрать пункт "Yafray". При этом станут доступны ещё две закладки панелей настроек: "Yafray" и "Yafray GI". В панели "Yafray" кнопку XML необходимо отжать, это позволит видеть процесс рендеринга в действии.

Две кнопки ниже позволяют вам управлять антиалиасингом (сглаживанием), остальные кнопки ниже них пока не столь важны и не требуют изменять установленные по умолчанию значения.

Вторая панель "Yafray GI" - более важна. Выпадающее меню "Method" устанавливает метод просчёта GI и позволяет выбрать значения None - рендеринг без GI), SkyDome - метод приближённый к внутреннему методу Blender называемому Ambient occlusion (влияние среды)  и Full - точный тасчёт глобального освещения. Выбор Full открывает новый набор кнопок ниже.

Выпадающее меню "Quality" позволяет устанавливать качество просчёта сцены, а следовательно и скорость рендеринга. В большинстве случаев достаточно установок medium/high (среднее/высокое), но если в сцене много маленьких поверхностей и детальных моделей или поверхности очень близко друг к другу, вам может понадобиться установка режима higher (высокий улучшеный) чтобы избавиться от артефактов изображения при рендеринге.

Полный просчёт GI может быть мучительно медленным при рендеринге и занимать многие часы. Однако некоторые приёмы позволяют ускорить вывод изображения. Включим обе кнопки Cache (Кэш) и Photons (Фотоны) в панели "Yafray GI". Кэширование фотонов может ускорить рендеринг более чем в 10 раз! Конечно это может привести к появлению светлых/тёмных пятен на изображении. Чтобы избежать этого увеличьте значение "Quality" или измените значение в поле "Ref" (Refinement - усовершенствование) на что-то меньшее чем 1 (я использую 0.1), это позволит просчитывать фотонную карту два раза перед финальным рендерингом. Второй проход делает больше вычислений в насыщенных деталями частях сцены и итоговый результат становится лучше.

Другие важные настройки -  "EmitPwr" (emitpower) и "GI Pwr"(GI power). "EmitPwr" устанавливает  яркость излучающих объектов, плоскостных источников света (arealights) и фона. "GI Pwr" устанавливает количество "энергии" (света) испускаемое этими источниками. Обычно достаточно изменить значение "GI Pwr" чтобы сделать итоговое изображение темнее или ярче.

 

Эмиттеры (Emitters) - излучатели

Для использования GI вам необходимо несколько излучателей света в вашей сцене. Излучатели света в Blender/Yafray могут быть следующие: плоскостные источники света (arealights); объекты со значением "Emit" в свойствах материала большим, чем 0; фон. Простейшая вещь которую мы можем сделать - установить цвет фона любого цвета, кроме чёрного. Фон будет излучать во всех направлениях равномерно, подобно пасмурному дню на улице. Вы также можете загрузить в качестве текстуры фона HDR-изображение, которое будет определять количество и цвет света и направление его испускания.

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

 

Визуализация 1 - "Белое пространство"

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

Если разбирать подробнее, то вы можете видеть два типа теней в этой сцене. Жёсткие тени, генерируемые солнечным светом (Источник света Sun Light, но вы можете использовать и другие типы источников освещения, отбрасывающие тени, ТОЛЬКО исключая плоскостные источники света (arealight), поскольку они действуют как излучатели фотонов при GI-рендеринге в Yafray, а не как обычные ИС.) Мягкие красивые тени - результат GI.

 

Сцена.

Сцена представляет собой само изделие, простое белое основание (plane) и источник света типа "солнце" (sun). Ничего больше, всё очень просто.

 

 

Основание

Белое основание (plane) не стоит растягивать очень далеко, просто чуть пошире, чем область отбрасывания всех теней от объекта. Цвет ставим абсолютно белый, значение отражения "Reflectivity" в свойствах материала установим 1.0. Важно, что опция "Only shadow" (Только тени) не работает в Yafray. Это означает, что края основания будут видимы на итоговом изображении, что не есть хорошо! Избежать этого можно настройками рендера (рассмотрим ниже).

 

Свет.

У нас только один источник света в сцене   (sun) с включённой трассировкой теней (Ray Shade). Цвет ИС примем слегка желтоватый, мощность установим 0,6.

 

Окружение.

Снова всё очень просто, одноцветный фон, белый с очень слабой голубизной.

 

Настройки рендера.

 

ВАЖНО! Это по-настоящему слабое место и я видел плохие примеры много раз, когда изделие, выставленное на сером основании, парящее в пространстве на фоне такого же рода фона. Эти серые поверхности издают "шум". Это важно, когда вы не видите основания и оно сливается с фоном. В нашем примере я использовал белое основание, но даже белые поверхности иногда рендерятся серыми по краям. Фон сам по себе слегка голубоватый но не чисто белый.

Чтобы получить эффект "Белого пространства" я использовал следующий приём - установил для "EmitPwr" в панели "Yafray GI" значение больше 1. Возможно предстоит провести несколько экспериментов для получения верных настроек, таких, чтобы края основания стали невидимы, но в то же время не появилось ненатуральное свечение.Установленное значение на 1.20 кажется подходит хорошо. "GI Pwr"  устанавливаем 0.80. Если вы сделаете  свет от солнца ярче (мощность/power), тогда уменьшите значение "GI Pwr", если темнее - тогда увеличьте.

Установим низкое разрешение и сделаем пробный рендер. Щёлкаем и удерживаем левую кнопку мыши на отрендеренном изображении. В левом нижнем углу отображается цвет пикселя под курсором. Не отпуская проводим курсор вокруг объекта и убеждаемся, что цвет пикселей и на месте фона и на месте основания R:255, G:255, B:255. Теперь мы готовы к окончательному рендерингу! Установим качество "Quality" на Medium или High, значение "Ref" на отличное от 1, и включим сглаживание. Здесь я использовал 2 прохода по 4 образца (AApasses=2; AAsamples=4), такие установки сглаживания я использую обычно там где требуется компромисс между скоростью и качеством. Итоговое изображение показывает какого качества мы можем достичь простыми настройками.

 

Визуализация 2 - HDR-освещение.

Вместо чисто белого цвета фона вы можете использовать HDR-зонд. Он варьирует цвет и интенсивность света всего виртуального неба, придавая изображению более натуральный, смягчённый вид.

Объясним два термина:

HDR означает изображение с расширенным динамическим диапазоном, в котором вместо RGB значений от 0 до 255 используются числа с плавающей точкой и повышенной точностью вычислений, расширенный "динамический диапазон" используется для хранения информации о яркости (световом излучении) каждого пикселя. Зонд в данном случае означает замкнутое 360-градусное панорамное изображение окружающей среды. Процесс получения  HDR-зондов не входит в предметы рассмотрения данной статьи, поэтому просто скачайте несколько образцов HDR-зондов, доступных в Интернете (к примеру здесь www.debevec.org  ) или сделайте свои собственные :) Убедитесь, что скачиваемые вами изображения представлены в формате светового зонда (напр. угловая карта), а не вертикальный крест, широта/долгота или другой панорамный формат.

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

С некоторыми образцами может получиться  "пятнистый" рендер из-за взаимоналожения близлежащих пикселей. Я устраняю это размыванием (blurring) исходного HDR-изображения. С сайта www.hdrshop.org , вы можете скачать бесплатную программу HDRShop. Открыть в ней ваше HDR-изображение и в меню Filter выбрать Gaussian blur (Гауссово размытие) и размыть изображение, используя значение 4-5 для небольших карт 512х512, и 12-15 для карт с высоким разрешением напр. 1512х1512. Сохранить результат под другим именем.

 

Загрузка светового зонда

В панели текстурных кнопок (F6) выбрать кнопку "World", установить тип текстуры Image, и загрузить *.hdr - файл как обычную текстуру. Перейти в панель "World" (F8) и в закладке "Texture and Input" установить метод маппинга AngMa, в закладке Map To нажать Hori, ZenUp и ZenDo. Теперь Yafray будет автоматически определять HDR-текстуру фона и использовать её для освещения при включении режима GI.

 

Настройки сцены

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

 

Освещение

В предыдущем методе "Белое пространство" использовался постоянный гомогенный белый свет, и источник света (sun) использовался для добавочных жёстких теней. Конечно, большинство HDR-изображений уже содержит один или несколько сконцентрированных источников света. Сначала рендерим сцену только с GI-освещением, без дополнительных ИС. Посмотрим каким образом отбрасываются мягкие тени, и затем разместим дополнительный ИС.

Вам может понадобиться несколько тестовых рендеров, чтобы получить верное расположение жёстких теней . Я обычно использую очень тонкий, слабый свет с HDR-картой: прибл. 0.2 - 0.4, не более.

 

Настройки рендера.

Похожие на предыдущий случай за исключением настроек энергии GI. Она настраивается в зависимости от количества освещённости, даваемой используемой вами HDR картой, в зависимости от её яркости. Делаем насколько пробных  рендеров с низким разрешением для поиска верного значения яркости. Тёмные карты могут потребовать значения "GI Pwr"=1-1,5; в то время как для карт с высокой яркостью достаточно значения 0.2. Теперь переходим к финальному рендерингу! Это моя тестовая сцена с HDR-зондом заката, сделанного при помощи программы Terragen. Такое же качество без GI потребовало бы установки и точной настройки нескольких дюжин источников света, так что преимуществе GI-рендеринга очевидны.

 

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

 

 

 

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

 

Экспериментируйте. Щастья вам!

 

Источник: журнал Blenderart Magazine №3, март 2006 (www.blenderart.org). Перевод – cyberdime.

 

Hosted by uCoz