CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2003 ГОД

3D-максимум

Сергей БОНДАРЕНКО, Марина ДВОРАКОВСКАЯ ms@3dfly.com

(Продолжение, начало см. МК № 24, 26, 29, 32, 35, 40, 46, 48, 50, 4, 7 (195, 197, 200, 203, 206, 211, 217, 219, 221, 227, 230))

Когда-нибудь в конце третьего тысячелетия, когда будет написана «Всемирная история 3D-графики», 2002-й год наверняка назовут годом «рендер-конкуренции». Почти каждый его месяц был отмечен выходом нового обновления к одному из существующих визуализаторов. Большой раздел этого многотомного труда обязательно будет называться «Гонка за полигонами». Ведь как только один из рендеров заявлял, что ему под силу просчитать количество полигонов с девятью нулями, второй тут же отзывался: «А я могу больше!». Причем это были в основном рекламные трюки, так как заявленные результаты отстояли далеко от истины. Все эти события порождали бесконечные споры на различных 3D-форумах.

Но вернемся в год 2003-й. Несмотря на то, что прошлый год успешно завершился, каждый из производителей внешних рендеров не желает сдавать свои позиции на рынке 3D-софта. Алгоритм просчета изображения постоянно совершенствуется, а функциональные возможности визуализаторов растут. Многие из 3D-аниматоров используют Vray от ChaosGroup (http://www.vrayrender.com), так как он проще в настройках и работает значительно стабильнее своих конкурентов. При этом качество отображения рельефных текстур у этого рендера, пожалуй, самое лучшее.

Более года назад, когда Vray (рис. 1) еще находился в стадии бета-тестирования, мы уже рассказывали о нем читателям МК (см. МК № 51(170)), однако с тех пор он существенно изменился. Добавилось больше возможностей, но, что самое обидное, Vray стал платным. Однако те, у кого есть деньги (ни много ни мало — $800), наверняка, не пожалеют о покупке. Если же вы еще никогда не работали с этим рендером, то у вас есть шанс познакомиться с ним, скачав демонстрационную версию с сайта производителя по адресу http://www.vrayrender.com/demo. Для этого нужно зарегистрироваться и оставить свой почтовый адрес. Правда, демо-версия, как ей и положено, имеет много Рис. 1. Vray от ChaosGroup (http://www.vrayrender.com)ограничений, но общее представление о визуализаторе вы получите.

Сегодня мы рассмотрим работу Vray с рефрактивной каустикой. Напомним, что этим термином называются блики света на поверхностях, полученные вследствие прохождения света через прозрачную среду. Например, солнечный зайчик от стакана с водой. Несмотря на то, что настройки рендера не очень сложные, есть отдельные моменты, на которых хотелось бы остановиться подробнее.

Создайте в окне проекции 3D Studio MAX несколько объектов, как минимум два. Первый объект, скажем, плоскость, будет получателем каустики, второй — создателем. Делаем источник света, например, Target Spot. Отмечаем в его настройках отображение теней (VrayShadow), а параметр Яркость (Multiplier) выставляем равным 150000. Выбираем один из параметров затухания (Decay), пусть это будет InverseSquare. Теперь располагаем источник света под определенным углом к объекту, так, чтобы за ним могла наблюдаться отбрасываемая тень. Обратите внимание, что источник света должен находиться на таком расстоянии от модели, чтобы сцена в окне проекции не была чрезмерно залита светом.

Теперь нужно создать материалы. Во-первых, стекло. В стандартном типе материала в качестве карты преломления Refraction выбирается текстурная карта VrayMap. В ее свойствах устанавливается опция Refract. Чтобы будущее стекло имело определенный цвет, требуемый оттенок можно отрегулировать значением FilterColor в группе параметров RefractionParams. Материал для плоскости создадим при помощи собственного материала рендера VrayMtl. Цвет и прочие параметры плоскости, на которой будет отображаться каустика, значения не имеют и зависят только от вашей фантазии.

Теперь перейдем к настройкам самого рендера. Для этого вызовем окно с настройками рендеринга (кнопкой F10 или проследовав по адресу Главноеменю > Rendering > Render). В свитке Current Renderer выбирается строчка Vray. После этого возникает большое количество свитков с настройками. Отображение каустики включается в свитке Caustics при помощи «галочки» On.

Несколько слов о том, как просчитывается каустика. Механизм просчета (равно как и принцип вычислений рассеиваемого света Global Illumination) во всех подключаемых рендерах один и тот же. Для получения освещенных участков каустики программа осуществляет трассировку фотонов. Это означает, что каждый источник света в сцене как бы начинает испускать частицы. Программа прослеживает ход этих частиц, анализирует участки поверхностей, на которые попадают фотоны, и соответственно рисует каустику. Качество каустики зависит от многих параметров: от количества фотонов, расстояния до источника света, на котором еще происходит анализ фотонов, глубины трассировки и так далее. В нашем случае мы пока не будем трогать настройки, предлагаемые рендером по умолчанию, поскольку большинство из них подходит для любой сцены. Кроме того, изменение множества параметров может запутать начинающих, поэтому экспериментируйте с ними только тогда, когда будете чувствовать себя уверенно :-).

Для того чтобы источник света, который мы сделали, использовался для трассировки фотонов, его необходимо указать в свитке System. Раскрыв этот свиток с настройками, нажимаем на кнопку LightsSettings. В появившемся окне SceneLights выделяем Spot Light и включаем опцию Generate Caustics.

После этого на плоскости отрендеренного изображения мы (теоретически :-)) должны получить световой блик каустики (рис. 2). Этот эффект следует ожидать предположительно в области тени объекта. Если каустики на изображении не видно (что в принципе не удивительно, так как у каждого, кто захочет проделать этот эксперимент, источник света будет расположен по-своему), следует попробовать изменить некоторые параметры. Так, в частности, можно увеличить максимальное количество фотонов и расстояние, на котором будет искаться каустика (настройки в свитке Caustics, Search Dist. и Maxphotons). Если же и это не помогает, попробуйте Рис. 2. Получение светового блика каустикиувеличить яркость эффекта, повысив значение Multiplier.

Vray имеет довольно неплохой сглаживающий фильтр, применив который, можно получить высококачественное изображение. Свиток Image sampler (Anti-Aliasing) содержит несколько алгоритмов сглаживания. Чтобы не перегружать читателей ненужной терминологией, скажем лишь, что самый оптимальный вариант сглаживающего алгоритма —Adaptive Subdivision. Этот способ позволяет автоматически выбирать характер обработки изображения. Так, например, если в некоторой области фильтр сглаживания не требуется вовсе, программа считает этот участок с минимальным качеством. Такой подход позволяет значительно уменьшить время расчета по сравнению с фиксированным значением качества фильтра Fixed rate и двухпроходным фильтром Simple Two-level.

Рефлективная каустика (каустика, созданная вследствие отражения света от поверхностей) создается в сцене 3D Studio MAX аналогичным образом (рис. 3). Однако следует иметь в виду, что параметры для рефлективной и рефрактивной каустики очень часто не совпадают. Если в сцене присутствуют тела, обладающие свойствами отражения и преломления, то для каждого из типов каустики применяется свой источник света. Это дает возможность управлять раздельно яркостью и формой каждого из бликов.

Для создания бликов отражения необходимо применить в качестве карты отражения (Reflection) ту же текстурную карту, что и в первом случае, —VrayMap. Единственное отличие состоит в том, что в свойствах VrayMap указывается не Refract, а Reflect. Для получения лучшего результата Рис. 3. Рефлективная каустикаиспользуйте при создании материала шейдер Metal.

Кроме качественного отображения текстур, Vray позволяет просчитывать Global Illumination (GI). Для тех, кто до сих пор не уяснил, что такое Глобальное освещение (даже после конкурса 3Dшников :-)), поясняем, что GI — это метод просчета освещенности с учетом рассеиваемости света.

В настройках рендера для этого явления применяется другой термин, а именно Indirect Illumination. VRay использует два метода для вычисления GI: прямое вычисление (Direct Computation) и вычисление GI на основе карты свечения (Irradiance Map). Чтобы показать на примере, как рендер работает в режиме Indirect Illumination, воспользуемся источником света, который добавляет Vray. Новый источник света располагается там же, где и стандартные источники: Command Panel > категория Lights > VrayLight (рис. 4). Создайте обычный примитив Box и примените к нему стандартный модификатор Normal. Этот модификатор предназначен для того, чтобы обратить нормали параллелепипеда. Иными словами, примитив вывернется наизнанку. Обратим примитив в EditableMesh и, редактируя ее, удалим одну из стенок параллелепипеда, чтобы видеть, что находится внутри. Получится такая себе коробка.

Теперь разместим камеру так, чтобы она фиксировала все, что находится внутри получившейся «коробки». Создадим источник света VrayLight, придадим ему прямоугольную форму (с любыми геометрическими размерами) и разместим его на условном «потолке» нашей коробки. После этого внутрь коробки поставим несколько примитивов: чайник, цилиндр, тор и т.д.

Переходим в настройки рендера и «галочкой» On включаем функцию Indirect Illumination в свитке с одноименным названием. Для более наглядной демонстрации эффекта создадим материал, в котором в качестве карты отражения (Reflection) укажем текстурную карту VrayMap. Этот материал назначим примитивам, находящимся внутри коробки. Материал для коробки сформируем при помощи собственного материала Рис. 4рендера VrayMtl.

По умолчанию рендеринг использует алгоритм, основанный на карте свечения Irradiance Map. Этот метод работает быстрее, чем Direct Computation, однако и результат получается менее реалистичным. Попробуйте отрендерить получившуюся картинку. Даже работая с настройками по умолчанию, Vray создаст достаточно правдоподобную картинку.

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

Группа настроек 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 действительно огромны. Пробуйте, экспериментируйте и никогда не останавливайтесь на достигнутом!

(Продолжение следует)

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov