ВНИМАНИЕ! Наш сайт переехал и больше по этому адресу не обновляется. Все самые свежие новости, статьи и бесплатные видеоуроки на русском языке на сайте 3Domen.com
Ищете информацию о плагинах? Они ВСЕ собраны в книге "3ds max 7. Лучшие плагины". Подробная информация тут
Когда-нибудь в конце третьего тысячелетия, когда будет написана "Всемирная история 3D-графики", 2002-й год наверняка назовут годом "рендер-конкуренции". Почти каждый месяц был отмечен выходом нового обновления к одному из существующих визуализаторов. Один из разделов этого многотомного труда обязательно будет называться "Гонка за полигонами", ведь как только один из рендеров заявлял, что ему под силу просчитать количество полигонов с девятью нулями, второй тут же отзывался: "А я могу больше!". Причем, это были в основном рекламные трюки, так как заявленные результаты были далеки от истины. Это порождало бесконечные споры на различных 3D-форумах.
Но вернемся в год 2003-й. Несмотря на то, что прошлый год успешно завершился, каждый из производителей внешних рендеров не желает сдавать свои позиции на рынке 3D-софта. Алгоритм просчета изображения постоянно усовершенствуется, а функциональные возможности визуализаторов растут. Многие из 3D-аниматоров используют Vray от ChaosGroup (http://www.vrayrender.com), так как он более прост в настройках и работает значительно стабильнее своих конкурентов. При этом качество отображения рельефных текстур у этого рендера, пожалуй, самое лучшее.
Более года назад, когда Vray <рис.1>
еще находился в стадии бета-тестирования, мы уже рассказывали о нем читателям МК (см. МК№ 51(170)), однако с тех пор он существенно изменился. Добавилось больше возможностей, но, что самое обидное, Vray стал платным. Однако, те, у кого есть деньги (ни много ни мало $800), наверняка не пожалеют о покупке. Если же вы еще никогда не работали с Vray, то у вас есть шанс познакомиться с ним, скачав демонстрационную версию с сайта производителя по адресу http://www.vrayrender.com/demo. Для этого нужно зарегистрироваться и оставить свой почтовый адрес. Правда, демо-версия, как ей и положено, имеет много ограничений, но общее представление о продукте вы получите.
Сегодня мы рассмотрим работу Vray с рефрактивной каустикой. Напомним, что этим термином называются блики света на поверхностях, полученные вследствие прохождения света через прозрачную среду. Например, солнечный зайчик от стакана с водой. Несмотря на то, что настройки рендера не очень сложные, есть отдельные моменты, о которых хотелось бы рассказать.
Создайте в окне проекции 3D Studio Max несколько объектов, но не менее двух. Первый объект, скажем плоскость, будет получателем каустики, второй - создателем. Делаем источник света, например, Target Spot. Отмечаем в его настройках отображение теней (VrayShadow), а параметр Яркость (Multiplier) выставляем равным 150000. Выбираем один из параметров затухания (Decay), пусть это будет Inverse Square. Теперь располагаем источник света под определенным углом к объекту, так, чтобы за ним могла наблюдаться отбрасываемая тень. Обратите внимание, что источник света должен располагаться на таком расстоянии от модели, чтобы сцена в окне проекции не была чрезмерно залита светом.
Теперь нужно создать материалы. Во-первых, стекло. В стандартном типе материала, в качестве карты преломления Refraction, выбирается текстурная карта VrayMap. В ее свойствах устанавливается опция Refract. Чтобы будущее стекло имело определенный цвет, требуемый оттенок можно установить значением Filter Color в группе параметров RefractionParams. Материал для плоскости создадим при помощи собственного материала рендера VrayMtl. Цвет и прочие параметры плоскости, на которой будет отображаться каустика, значения не имеют и зависят только от вашей фантазии.
Теперь перейдем к настройкам самого рендера. Для этого вызовем окно с настройками рендеринга (кнопкой F10 или проследовав по адресу Главное меню > Rendering > Render). В свитке Current Renderer выбирается строчка Vray. После этого возникает большое количество свитков с настройками. Отображение каустики включается в свитке Caustics при помощи "галочки" On.
Несколько слов о том, как просчитывается каустика. Механизм просчета каустики (равно как и принцип вычислений рассеиваемого света Global Illumination) во всех подключаемых рендерах один и тот же. Для получения освещенных участков каустики программа осуществляет трассировку фотонов. Это означает, что каждый источник света в сцене как бы начинает испускать частицы. Программа прослеживает ход этих частиц, анализирует участки поверхностей, на которые попадают фотоны, и соответственно рисует каустику. Качество каустики зависит от многих параметров: от количества фотонов, расстояния до источника света, на котором еще происходит анализ фотонов, глубины трассировки и так далее. В нашем случае мы пока не будем трогать настройки, предлагаемые рендером по умолчанию, поскольку большинство настроек подходит для любой сцены. Кроме того, изменение множества параметров может запутать начинающих, поэтому меняйте их только тогда, когда будете чувствовать себя уверенноJ.
Для того, чтобы источник света который мы сделали, использовался для трассировки фотонов, его необходимо указать в свитке System. Раскрыв этот свиток с настройками, нажимаем на кнопку Lights Settings, в появившемся окне Scene Lights выделяем Spot Light и включаем опцию Generate Caustics.
После этого на отрендеренном изображении мы (теоретическиJ) должны получить на плоскости световой блик каустики <рис.2>.
Ее следует ожидать предположительно в области тени объекта. Если каустики на изображении не видно (что в принципе не удивительно, так как у каждого, кто захочет проделать этот эксперимент с каустикой, источник света будет расположен по-своему), следует попробовать изменить некоторые параметры. Так, в частности, можно увеличить максимальное количество фотонов и расстояние, на котором будет искаться каустика (настройки в свитке Caustics, Search Dist. и Max photons). Если же это не помогает, попробуйте увеличить яркость эффекта, повысив значение Multiplier.
Vray имеет довольно неплохой сглаживающий фильтр, применив который, можно получить высококачественное изображение. Свиток Image sampler (Anti-Aliasing) содержит несколько алгоритмов сглаживания. Чтобы не перегружать читателей ненужной терминологией, скажем лишь, что самый оптимальный вариант сглаживающего алгоритма - Adaptive Subdivision. Этот способ позволяет автоматически выбирать характер обработки изображения. Так, например, если в некоторой области фильтр сглаживания не требуется вовсе, программа считает этот участок с минимальным качеством. Такой подход позволяет значительно уменьшить время расчета по сравнению с фиксированным значением качества фильтра Fixed rate и двухпроходным фильтром Simple Two-level.
Рефлективная каустика (каустика, созданная вследствие отражения света от поверхностей) создается в сцене 3D Studio Max аналогичным образом <рис.3>.
Однако, следует иметь ввиду, что параметры для рефлективной и рефрактивной каустики очень часто не совпадают. Если в сцене присутствуют тела, обладающие свойствами отражения и преломления, то для каждого из типов каустики применяется свой источник света. Это дает возможность управлять раздельно яркостью и формой каждого из бликов.
Для создания бликов отражения необходимо применить в качестве карты отражения (Reflection) ту же текстурную карту, что и в первом случае - VrayMap. Единственное отличие состоит в том, что в свойствах VrayMap указывается не Refract, а Reflect. Для получения лучшего результата используйте при создании материала шейдер Metal.
Кроме качественного отображения текстур, Vray позволяет просчитывать Global Illumination (GI). Для тех, кто до сих пор не уяснил для себя, что такое Глобальное освещение (даже после конкурса 3DшниковJ), поясняем, что GI - это метод просчета освещенности с учетом рассеиваемости света.
В настройках рендера этот термин фигурирует как Indirect Illumination. VRay использует два метода для вычисления GI - прямое вычисление (Direct Computation) и вычисление GI на основе карты свечения (Irradiance Map). Чтобы показать на примере, как рендер работает в режиме Indirect Illumination, используем источник света, который добавляет Vray.
Новый источник света располагается там же, где находятся и стандартные источники Command Panel > категория Lights > VrayLight <рис.4>.
Создайте обычный примитив Box и примените к нему стандартный модификатор Normal. Этот модификатор предназначен для того, чтобы обратить нормали параллелепипеда. Иными словами, примитив "вывернется наизнанку". Обратим примитив в Editable Mesh и, редактируя ее, удалим одну из стенок параллелепипеда, чтобы видеть, что находится внутри. Получится такая себе коробка.
Теперь разместим камеру так, чтобы она фиксировала все, что находится внутри получившейся "коробки". Создадим источник света VrayLight, придадим ему прямоугольную форму (с любыми геометрическими размерами) и разместим его на условном "потолке" нашей коробки. После этого вовнутрь коробки поставим несколько примитивов: чайник, цилиндр, тор и т.д.
Переходим в настройки рендера и "галочкой" On включаем функцию Indirect Illumination в свитке с одноименным названием. Для более наглядной демонстрации эффекта создадим материал, в котором в качестве карты отражения (Reflection) укажем текстурную карту VrayMap. Этот материал назначим примитивам, находящимся внутри коробки. Материал для коробки создадим при помощи собственного материала рендера VrayMtl.
По умолчанию рендеринг использует алгоритм, основанный на карте свечения Irradiance Map. Этот метод работает быстрее, чем Direct Computation, однако, и результат менее реалистичен. Попробуйте отрендерить получившуюся картинку. Даже используя настройки по умолчанию, Vray создаст достаточно правдоподобную картинку <рис.5>.
Однако, некоторые читатели наверняка захотят поэкспериментировать с настройками, чтобы добиться еще лучшего результата. Для них мы вкратце перечислим, за что отвечают основные параметры рендера.
Группа настроек First Diffuse Bounce определяет параметры первичного рассеянного освещения. В этой группе выбирается один из типов просчета, о которых мы говорили выше. Здесь также расположен параметр SubDivs. Он активируется, если выбран метод просчета Direct Computation. Значение SubDivs определяет число subdivision-поверхностей и влияет на качество просчета первичного света.
Группа настроек Secondary Bounces, как нетрудно догадаться, определяет параметры вторичного рассеянного освещения. Если отмечена строчка None, просчет вторичного освещения происходить не будет. Если же вы хотите, чтобы Vray делал трассировку вторичных лучей, отметьте опции Direct Computation или Global Photon Map. Параметр Depth определяет число попаданий вторичного освещения.
Параметры Multiplier отвечают за яркость первичного и вторичного рассеивания (First Diffuse Bounce и Secondary Bounces).
Возможности Vray действительно, огромны. Пробуйте, экспериментируйте и никогда не останавливайтесь на достигнутом!
(Продолжение следует)
Читать дальше
Все статьи и уроки, представленные на страницах этого сайта, являются интеллектуальной собственностью авторов. Публикация в любом виде, в том числе, электронном, материалов или их частей без письменного согласия авторов запрещена Законом Украины "Об авторском праве".