Рассеивание в Maya

Нововведением  системы mental ray в  Maya 8 является возможность без  про­ блем  моделировать  подповерхностное рассеивание  (scattering).   Подповерхн­

остное рассеивание  возникает   в случае, когда лучи света от источника проникают  сквозь  по­ верхность (а не отражаются от нее сразу), проходят полупрозрачный слой,  рассеиваются ниже на менее прозрачных областях и,  приобретя их  цвет,  возвращаются сквозь поверх­ ность  назад,  где  становятся видимыми.   Хотя  описание  этого  эффекта  может  быть  не очень понятным, само явление наблюдается  повседневно:  все, от крови, автомобильной  краски  и   молока до  мрамора и   фарфора,  обладает подповерхностным рассеиванием,  и, безусловно, кожа человека, на цвет которой частично  влияет цвет кровеносных сосудов  и жировой  ткани, находящейся  непосредственно под ней (безусловно, этот эффект более заметен там, где кожа тоньше).

Подповерхностное рассеивание  учитывает  несколько  сложных  визуальных  эффек­ тов. Во-первых, свет приобретает комплексные  цветовые  атрибуты,  проходя  путь  от источника света до поверхности  объекта. Во-вторых, свет  частично  отражается от объ­ екта сразу, а частично, рассеявшись  под его  поверхностью и  отразившись  от внутрен­ них слоев, добавляет мягкую  расплывчатую составляющую. В-третьих, на краях объ­ ектов   может  возникать   эффект  "рассвета", поскольку  луч  света, падающий под  не­ большим  углом,   способен   пройти   под   поверхностью  некоторое   расстояние перед отражением  наружу, где он станет виден.  Этот последний эффект заметен на обломке мрамора или  на лице человека, когда  они  перекрывают источник  света. Хотя сам  ис­ точник света невиден,  просвечивающий  сквозь край  обломка  или  кожи  лица  свет  за­ частую создает эффект светового ободка (rim light). Если  не хватает  воображения, что­ бы представить этот эффект, попросите друга встать перед  лампочкой в  темной комна­ те, и  эффект сразу станет вполне очевидным.

Без такого эффекта, как подповерхностное рассеивание, объекты выглядят жесткими, как будто "пластмассовыми",  поэтому у реалистичных  изображений  эффект  подповерхностного  рассеивания весьма популярен. К сожалению, настоящее  подповерхностное рассеивание — это очень сложный и дорогой (с точки зрения вычислений) эффект. Именно поэтому так ин­ тересны новые параметры рассеивания  mental ray:  несколько  простых корректировок  по­ зволяют создать эффект,  очень похожий на  подповерхностное рассеивание,  всего за  не­ сколько минут, в  то время как прежде для  получения результата потребовалось бы много усилий.  Параметр Scattering  (Рассеивание)  доступен для анизотропного тонера, тонера Blinn, Lambert, OceanShader и Phong (включая Phong Е).

Чтобы увидеть  рассеивание   в действии,  давайте переделаем модель, Машизмо, в  мра­ морную статую. Откройте на прилагаемом  CD файл Mac_for_scattering . ma. Как  мож­ но заметить, Машизмо стал более гладким, чем раньше (особенно округлилось его  лицо). На  сцене  установлены три   простых  источника света, включая главный,   заполняющий и контровой прожекторы, освещающие Машизмо.  На сцену добавлена камера (Camera1 ) и пара ключевых кадров для ее позиций, с которых будут просматриваться разные особенно­ сти  подповерхностного рассеивания.   К  Машизмо  применен стандартный  тонер Lambert (Lambert1) , который немного перенастроен  под  мрамор, чтобы придать фигуре внешний вид мраморной скульптуры. Визуализируйте сцену. Как можно заметить, "бюст" выглядит вполне  мраморным, но ему немного  недостает естественности.  Это именно тот случай, ко­ гда  необходимо   подповерхностное   рассеивание.   Сохраните копию визуализированного изображения, чтобы впоследствии сравнить ее с полученным результатом.

Поскольку мрамор обычно имеет блестящие включения,  возможно, лучше подошел бы  то­ нер Blinn, однако бликовая подсветка на сцене не нужна, поскольку она помешает  рассмот­ реть эффект рассеивания.

Чтобы   создать   эффект   рассеивания, откройте   редактор   атрибутов    для    тонера Lambertl и    в   разделе  mental  ray  (рис. 14.37)  измените   значение параметра  Scatter  radiu s (Радиус рассеивания) на отличное от 0; например на 1. Сравнив результат визуа­ лизации  со стандартным, можно заметить, что общее освещение стало  намного более яр­ ким, чем прежде, за счет света, рассеиваемого под поверхностью  модели. Кроме того, за­ тененные области  (например,  подмышками  и  с левой стороны  щеки) стали  из-за рассеи­ вания  намного  светлее. Различия  между  результатами  визуализации  представлены на рис. 14.38. Увеличьте радиус до 10 и повторите визуализацию; различие весьма незначи­ тельное,  но  демонстрирует некоторое   повышение рассеивания    в  теневых областях  и уменьшение общего  контраста.  Прежде   чем  продолжать,  верните параметру  Scatter  radiu s (Радиус рассеивания) значение 1.

В общей схеме освещения эффект почти незаметен. Чтобы рассмотреть его лучше, отклю­ чим главный  и заполняющий источники света (spotlight l и  spotlight2), уменьшив их интенсивность до 0. Снова визуализируйте сцену с радиусом рассеивания 0 и  1. Как можно заметить, теперь различие между результатами визуализации с  подповерхностным рассеива­ нием и без него стали заметнее (рис. 14.39). В частности, обратите  внимание на расплывчатые светлые области спереди фигуры, освещение правой стороны лица Машизмо,  груди и руки,  на которые не падает прямой свет. При большом значении радиуса, например  10, рассеива­ ние фактически  смажет детали  модели; в  результате увеличения значения радиуса модель должна казаться все меньше, поскольку прозрачный слой материала будет становиться  все толще, а расплывчатых светлых областей вокруг будет все больше. Если перейти  к кадру 2,

где модель полностью загораживает  свет, сквозь камеру можно лучше увидеть  результат изменения значения  радиуса.

а                                                                                                                        б

Рис. 14.39. Визуализация с использованием только контрового источника света (а) без рассеивания (б) при рассеивании с радиусом 1

Параметр Scatter Accurac y (Точность рассеивания) задает количество точек, учиты­ ваемых при  рассеивании;  чем больше их  количество,  тем выше реализм  эффекта, но на визуализацию    потребуется   больше   памяти    и     времени.  Параметр   Scatter   Falloff (Затухание  рассеивания), подобно затуханию  освещения, определяет,  как быстро спадает яркость рассеивания внутри  модели. Дл я получения более  реалистичного  эффекта по­ пробуйте поменять значения Linea r (Линейно) и Quadrati c (Квадратично).  Параметр Scatter Limit (Предел рассеивания)  ограничивает общее количество отражений  и  пре­ ломлений луча  при   определении   окончательного  цвета пикселя. Дл я  большинства случаев  вполне достаточно  значения 5 или  10 ; значение 0 отключает эффект рассеи­ вания. Параметр Scatte r Cach e Size (Размер кэша рассеивания) задает количество то­ чек рассеивания,  сохраняемых в  кэше рассеивания.  Чем больше точек используется — тем  лучше  результат  визуализации,   но  памяти   используется больше.  Если   избытка памяти не наблюдается, оставьте значение 0, при котором система mental ray кэширует все  точки  рассеивания.

С помощью этих относительно  простых элементов  управления  можно создать  весьма убедительный (и  сложный) эффект,  который  несколько лет назад заставил  бы  поблед­ неть от зависти  признанных мастеров  визуализации.

Источник: Кундерт-Гиббс, Джон,  Ларкинс, Майк,  Деракшани, Дариус, Кунзендорф, Эрик,  и др., Освоение Maya  8.5.:  Пер.  с англ.  – М.:  ООО  «И.Д.  Вильямс», 2007.  – 928  с.:  ил.

По теме:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий