Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3dsmax2009intro.pdf
Скачиваний:
151
Добавлен:
05.06.2015
Размер:
4.48 Mб
Скачать

Рис. 1.43. Схема алгоритма Raytrace

В стандартном рендерере 3ds Max имеется возможность получения "настоящих" отражений и преломлений с помощью материала или карты Raytrace. При всех своих достоинствах, у этого механизма есть большой недостаток — он весьма медленный, так как оформлен как плагин, и много времени занимает передача данных от одной подпрограммы к другой. В mental ray и VRay трассировщики лучей являются непосредственно частью рендерера, поэтому они значительно быстрее.

На основе именно этого алгоритма возможно создание различных эффектов, например, так называемый Glossy (размытые отражения и преломления). Это достигается путем замены одного трассирующего луча несколькими, расходящимися под некоторым углом. Конечно, это увеличивает время рендеринга.

Материалы и текстуры

Понятие материала

Основным действием, происходящим при рендеринге, является определение реакции поверхности объекта на освещение, прежде всего прямое. Это определяется свойствами материала, примененного к объекту, что, в свою очередь, является следствием работы алгоритмов, заложенных в тот или иной шейдер (программный модуль, реализующий ту или иную функцию при рендеринге), на базе которого создан материал. На рис. 1.44 показана схема для стандартного материала 3ds Max с применением шейдеров типа Phong или Blinn.

Первичный луч из камеры достигает поверхности объекта. Из этой точки строится луч в направлении источника света (или источников, если их несколько). В том случае, угол между направлением на камеру и нормалью (перпендикуляром) к поверхности (помечен цифрой 1) и угол между направлением на источник света и нормалью к поверхности (цифра 2) примерно равны, т. е. соблюдается правило "угол падения равен углу отражения", работает цвет Specular (цвет блика). Чем больше разница углов, тем более сильным становится влияние цвета Diffuse (рассеянный). Именно этот цвет определяет цвет объекта. И, наконец, в том месте, куда не попадает прямой свет, используется цвет Ambient (заполняющий).

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 36

Рис. 1.44. Схема взаимодействия компонентов материала со светом

В той или иной степени подобная схема является основной для всех модулей рендеринга с некоторыми нюансами. Например, в шейдере DGS (Diffuse, Glossines, Specular) mental ray для определения размеров и интенсивности блика используются размытые отражения (ранее озвученный "эффект Glossy"), а цвет Ambient отсутствует вообще. А в материале VRayMtl и новом материале Arch+Design для mental ray вообще присутствует только цвет Diffuse. Остальные компоненты рассчитываются автоматически на основании зеркальности и прозрачности, исходя из принципа сохранения энергии света. Но и в этом случае есть "лазейки", которые позволяют изменить свойства поверхности, несколько поступившись физической корректностью этих материалов.

Следует сказать, что в какой-то мере приведенная выше схема является анахронизмом, особенно блик. Последний является ничем иным, как отражением источника света, и совершенно логично для его создания использование видимых источников света. Но пока высокая скорость рендеринга, достигаемая с применением "нечестных" приемов перевешивает физическую корректность более прогрессивных алгоритмов, что хорошо видно из истории развития VRay, создатель которого изначально не предполагал использования "нечестных" методов. "Фейки" (от английского “fake” – подделка, фальшивка) в VRay появились под давлением общественности.

И еще раз подчеркнем, что материал в большинстве случаев определяет именно свойства поверхности объекта. Определение материала как "камень", "зеркало", "стекло" не должно вводить вас в заблуждение, внутри объекта ничего этого нет. Исключение составляют волюметрические (объемные) шейдеры.

Текстуры и карты

Почти на каждый параметр материала можно наложить текстуру или "карту" (Map). Второе понятие является более общим, так как карта может быть использована не только для определения цвета материала, но и для управления (модуляции) некоторым параметром, например, шероховатостью (фактурой, Bump) или прозрачностью.

При присвоении карты на канал она может быть интерпретирована двумя способами: если это канал цвета (Diffuse, Ambient и т. д.), то используется вся информация о цвете. Если это канал уровневый (например, Bump), то используется информация о яркости пикселей карты — чем он светлее, тем больше значение параметра. Как правило, черный цвет соответствует нулевому значению, а белый максимально достижимому для данного параметра.

Также возможно и одновременное использование яркости для определения уровня параметра и цвета для тонирования, например, канал Reflection (отражение) для материала типа Raytrace или VRayMtl. При этом яркостная составляющая дает уровень отражения, а цвет позволяет подкрашивать отражения.

По способу наложения карты можно разделить на двумерные и трехмерные.

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

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 37

(рис. 1.45, а), иногда называемые "проекционными координатами". Если текстурные координаты наложены неточно, то появляются "потеки" текстуры. Как правило, двумерные карты — это изображения из внешних файлов.

Замечание

Не ищите расшифровку аббревиатуры "UVW" — это всего лишь буквы перед "XYZ".

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

Рис. 1.45. Принцип наложения двумерных (а) и трехмерных (б) карт

В качестве карты могут быть использованы либо изображения из внешних файлов, либо процедурные карты, т. е. изображения, получаемые в результате работы программы непосредственно в процессе рендеринга.

Карты (текстуры) из внешних растровых файлов подготавливаются заранее в пакете двумерной графики, это могут быть фотографии, отсканированные изображения или результат рендеринга. 3ds Max поддерживает все основные форматы файлов. Эти карты являются только двумерными и для наложения требуют назначения текстурных координат. В 3ds Max их можно наложить в пространстве XYZ, но это достаточно специфичный способ использования таких карт.

При использовании текстур из внешних растровых файлов важно помнить следующее:

Есть некоторые ограничения на использование этих файлов. Например, нельзя использовать файлы в цветовой модели CMYK, вы должны предварительно перевести их в RGB. Пока не поддерживаются файлы формата TIFF со слоями и т. д. Более подробную информацию на тему совместимости форматов с 3ds Max вы можете получить в руководстве пользователя.

Текстуры из внешних файлов не записываются в сцену. При переносе проекта с компьютера на компьютер вы должны взять с собой все необходимые файлы.

Двумерные процедурные карты создаются в процессе рендеринга по заданным параметрам. Классический пример такой текстуры — это Checker (шахматная доска). Двумерность же их заключается в том, что кроме

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 38