Выполняю, подождите...
 
 
Библиотека

Глобальное освещение в VRay

Чтобы создать фотореалистичную картинку можно долго и утомительно экспериментировать с источниками света. А есть более простой метод - включить глобальное освещение. Собственно этот урок и посвящается глобальному освещению (далее просто GI) Vray. Здесь вы познакомитесь с основами GI (Global Illumination или Indirect Illumination для VRay), а заодно, если захотите, попытаетесь создать фотореалистичную картинку, дабы закрепить полученные знания.

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

Что представляет собой GI и что он делает? На этот вопрос можно ответить примером из реальной жизни. Вот Вы сейчас сидите и читаете этот урок, скорее всего в помещении. Угадал? У Вас включен свет. Ну, или просто дневной свет попадает в окно. Затененные области от мебели, столов и прочей домашней или офисной утвари неплохо освещены. Это объясняется тем, что свет частично отражается от стен, потолка, пола и попадает в затененные области. Тоже самое произойдет, когда Вы включите GI в 3DS Max. Программа, а точнее модуль VRay, который мы сейчас рассматриваем, сымитирует нам практически реальное поведение фотонов, что придаст изображению вполне привычный вид. Вот пара изображений для примера созданных с помощью VRay с использованием GI.

Vray глобальное освещение. Vray глобальное освещение - интерьер.

VRay использует два метода для вычисления GI — прямое вычисление (Direct computation) и вычисление GI на основе карты свечения (Irradiance Map). Прямое вычисление является простым алгоритмом, который трассирует все лучи необходимые для GI, что позволяет получить очень точный результат, платой за это является долгий процесс просчета. Алгоритм, использующий карты свечения — сложная технология кэширования, результатом вычислений будет менее аккуратная картинка, получаемая за меньшее время.

Опции VRay indirect illumination.

Разберем некоторые параметры, используемые для настройки GI.

First diffuse bounce:

  • Multiplier — этот множитель увеличивает яркость первичных лучей (First bounce). Проще говоря, увеличение этого значения увеличивает освещение, но при этом слишком большие значения приводят к засвечиванию.
  • Параметры блока Direct computation:

  • Direct computation — GI просчитывается, используя прямую трассировку лучей.
  • Subdivs — это значение определяет число полушарий (сэмплов / фотонов) берущихся для вычисления вторичного света. При малом значении получается сильный шум.
  • Параметры блока Irradiance map:

  • Irradiance map — GI вычисляется и сохраняется в специальной карте до начала просчета.
  • Show adaptive — включение этой опции позволяет Вам увидеть, как много GI сэмплов берется из разных частей сцены.
  • Min rate — это значение определяет минимальное количество GI сэмплов для одного пикселя.
  • Max rate — это значение определяет максимальное количество GI сэмплов для одного пикселя.
  • Clr thresh — когда различия между соседними GI сэмплами превосходит Clr thresh значение VRay берет большее кол-во сэмплов.
  • Nrm thresh — когда косинус угла между нормалями векторов соседних сэмплов превышает Nrm thresh значение, VRay будет брать большее кол-во сэмплов.
  • HSph. Subdivs — число полусферических сэмплов использованных для расчета GI.
  • Interp. Subdivs — число GI сэмплов на точку, хранящуюся в Irradiance Map.
  • Show calc. phase — включение этой опции позволяет Вам увидеть фазы просчета карты свечения в виде набора пикселей.
  • Параметры блока Secondary bounces:

  • Multiplier — этот множитель увеличивает яркость вторичных лучей (Secondary bounce).
  • None — опция, отключающая вторичные лучи.
  • Subdivs — значение определяет число полусферических сэмплов использованных для расчета вторичного GI.
  • Depth — значение определяет число попаданий вторичного освещения.
  • Global photon map — использовать глобальные настройки фотонной карты.
  • Irradiance map presets — Заранее предустановленные настройки Irradiance map. Пока не освоите VRay как следует, используйте этот параметр.
  • На первый взгляд все эти параметры кажутся непонятными. Но если построить простую сцену (например, комнатку с традиционным чайником) и поэкспериментировать со значениями, то Вы поймете что к чему. На первое время рекомендую использовать значения Irradiance map по умолчанию, так как они вполне оптимальны для просчета качественной картинки. Однако, если Вы используете для просчета метод Direct computation, то придется увеличивать значение Subdivs, чтобы избежать зашумления.

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

    Создайте подобную сцену.

    Заготовленная сцена.

    Чашку сделайте с помощью сплайна (Create → Shapes → Line). Нарисуйте сечение чашки относительно ее оси и примените модификатор Lathe (Modifiers → Patch/Spline Editing → Lathe), предварительно отредактировав сплайн с помощью кривой безье (Modifiers → Patch/Spline Editing → Edit Spline). Ручку можно сделать из бокса редактированием полигонов (Modifiers → Mesh Editing → Edit Poly), либо применением к ChamferBox (Create → Extended Primitives → ChamferBox) модификатора FDD 4x4x4 (Modifiers → Free Form Deformers → FDD 4x4x4), либо также сплайнами с применением модификатора Extrude или самым адекватным способом — люфтинг-моделированием. В общем как хотите, так и делайте (смайл). Блюдце делается аналогично чашке. Ложку лепим редактированием полигонов.

    Редактирование сплайнов.

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

    Затем вставьте в сцену источник света Omni и сразу настройте его. Выделите Omni и перейдите во вкладку Modify командной панели, та, что справа. Установите параметры, как на рисунке.

    Настройка источника света Omni и теней.

    Поясню. В свитке General Parameters включаем тень и выбираем в качестве тени VRayShadow. В следующем свитке устанавливаем интенсивность источника света 0.7, чтобы не было засвечивания объектов. В свитке VRayShadowParams включаем и настраиваем параметры размытых теней. Параметр U-Size задает размытость, а Subdivs отвечает за качество теней.

    Поскольку у нас получается открытое пространство, то большая часть фотонов улетучится в бездну Макса и получится темноватая картинка. Увеличение интенсивности источника света не поможет, а только засветит уже освещенные области. Многие 3D художники, вероятно, сталкивались в своей работе с такой проблемой. Проблему эту каждый решает по-своему. Я же хочу поделиться опытом по созданию реалистичного освещения и качественной картинки при помощи VRay, и, по моему мнению, оптимальным выходом из этой ситуации послужит размещение дополнительного специального источника света VRayLight. И хотя можно было бы сказать, что на этом вопрос исчерпан, я все же немного заострю внимание на этой проблеме. Дело в том, что есть несколько подходов для решения такой задачи. Один из них – это установка светлого фона (Rendering → Environment → Background Color). Казалось бы, зачем ставить дополнительное освещение, если можно осветить сцену фоном. Да, можно и не ставить, но тогда избавится от засвечивания, и добиться реалистичного освещения будет гораздо сложнее, а играться со значениями Multiplier GI и источника света можно бесконечно. Фон нужно использовать только для частичной подсветки или для того, чтобы придать изображению правильный оттенок. А если это замкнутое пространство, например комната, как тогда осветить помещение фоном? Опять же придется прибегнуть к дополнительному источнику света, вставив его в оконный проем. Поверьте, ни одна программа на сегодняшний день не может сымитировать абсолютно реального поведения лучей света и поэтому размещением лишних источников света брезговать не нужно. Но если все же есть необходимость подсветить сцену, то для этого лучше использовать карту HDRI. Я ее использовал в этой сцене. Но поскольку HDRI в этом уроке рассматривать не будем, то установите для фона цвет RGB: 94.76.58. Результат будет ничуть не хуже. Но светлее не делайте – засветите однозначно.

    И так, вернемся. Разместите VRayLight прямо над сервизом. Стрелка светила должна смотреть вниз. Установите параметры, как показано на рисунке.

    Настройка источника света VRayLight.

    Теперь займемся текстурами. Заходим в редактор материалов. Нажимаем на кнопку Get Material, выбираем материал VRayMtl.

    Сделаем материал, имитирующий фарфор. Для этого установите цвет Diffuse RGB: 254.243.228. Задайте уровень отражения Reflect RGB: 14.14.14. Для плоскости, на которой стоит сервиз, сделаем в следующем слоте обычный материал Standard с картой древесной поверхности. Для стен тоже стандартный материал без карт, но с коричневым оттенком. Наложим готовые материалы на объекты.

    Создание материала фарфор.

    Создайте камеру, переключитесь на нее. Для этого нажмите правой кнопкой мыши на названии окна проекции и, в раскрывшимся свитке, выберите Views → Camera 01. Расположите камеру так, чтобы изображение выглядело как на финальной картинке.

    Сцена готова и теперь займемся настройкой рендера. В качестве рендера выберите VRay (Rendering → свиток Assign Render).

    Перейдите во вкладку Renderer и установите значения как показано на рисунке.

    Настройка глобального освещения и сглаживания.

    В свитке VRay: Image sampler включите параметр Adaptive subdivision, чтобы изображение получилось сглаженным и без зазубрин.

    В свитке VRay: Indirect illumination включите глобальное освещение и выберете метод Irradiance Map. Оставьте все значения по умолчанию. Они нам не понадобятся. Мы выберем, так сказать, шаблон Irradiance map presets. Поставьте галочку на Show calc. Phase, чтобы видеть, как все это дело просчитывается. В блоке Secondary bounces выберите Global photon map. А в выпадающем меню Irradiance map presets значение High. Кстати, потом проиграйтесь с этим параметром и посмотрите как меняются значения Irradiance Map.

    Всё! Теперь нажимаем заветную кнопку "Render" и любуемся результатом.

    Результат финальной визуализации VRay.

    На самом деле я кое-что невольно утаил. Я использовал эффект Depth of Field, поэтому чашка у меня в фокусе. Но это уже тема для другого урока.

    Удачи!