Чтобы создать фотореалистичную картинку можно долго и утомительно экспериментировать с источниками света. А есть более простой метод - включить глобальное освещение. Собственно этот урок и посвящается глобальному освещению (далее просто GI) Vray. Здесь вы познакомитесь с основами GI (Global Illumination или Indirect Illumination для VRay), а заодно, если захотите, попытаетесь создать фотореалистичную картинку, дабы закрепить полученные знания.
Опубликовал: | Zedex |
Автор: | Zedex |
Опубликовано: | 15.09.2006 |
Просмотров: | 37928 |
Рейтинг: |
Урок написан так, чтобы поняли даже начинающие, так что прошу уважаемых знатоков особо меня не критиковать. Надеюсь, вы итак сами все знаете.
Что представляет собой GI и что он делает? На этот вопрос можно ответить примером из реальной жизни. Вот Вы сейчас сидите и читаете этот урок, скорее всего в помещении. Угадал? У Вас включен свет. Ну, или просто дневной свет попадает в окно. Затененные области от мебели, столов и прочей домашней или офисной утвари неплохо освещены. Это объясняется тем, что свет частично отражается от стен, потолка, пола и попадает в затененные области. Тоже самое произойдет, когда Вы включите GI в 3DS Max. Программа, а точнее модуль VRay, который мы сейчас рассматриваем, сымитирует нам практически реальное поведение фотонов, что придаст изображению вполне привычный вид. Вот пара изображений для примера созданных с помощью VRay с использованием GI.
VRay использует два метода для вычисления GI — прямое вычисление (Direct computation) и вычисление GI на основе карты свечения (Irradiance Map). Прямое вычисление является простым алгоритмом, который трассирует все лучи необходимые для GI, что позволяет получить очень точный результат, платой за это является долгий процесс просчета. Алгоритм, использующий карты свечения — сложная технология кэширования, результатом вычислений будет менее аккуратная картинка, получаемая за меньшее время.
Разберем некоторые параметры, используемые для настройки GI.
First diffuse bounce:
Параметры блока Direct computation:
Параметры блока Irradiance map:
Параметры блока Secondary bounces:
На первый взгляд все эти параметры кажутся непонятными. Но если построить простую сцену (например, комнатку с традиционным чайником) и поэкспериментировать со значениями, то Вы поймете что к чему. На первое время рекомендую использовать значения 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 командной панели, та, что справа. Установите параметры, как на рисунке.
Поясню. В свитке 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 прямо над сервизом. Стрелка светила должна смотреть вниз. Установите параметры, как показано на рисунке.
Теперь займемся текстурами. Заходим в редактор материалов. Нажимаем на кнопку 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" и любуемся результатом.
На самом деле я кое-что невольно утаил. Я использовал эффект Depth of Field, поэтому чашка у меня в фокусе. Но это уже тема для другого урока.
Удачи!