Имитация теней в Maya
Режим формирования теней в Maya может быть включен или выключен по вашему желанию. По умолчанию он выключен. Соответственно, хотя поверхности освещенных объектов затенены, то есть ближняя к источнику света сторона объекта имеет более яркий цвет, чем противоположная, сами объекты не отбрасывают теней. Кроме того, это значит, что свет беспрепятственно проходит сквозь поверхности, освещая даже объекты, расположенные в тени других объектов.
Наличие тени помогает яснее определить размер объекта, его положение и ориентацию в пространстве. Соответственно, формирование теней позволяет определить пространственные соотношения между объектами. Отсутствие теней в сцене приводит к появлению в результате визуализации плоской картинки, то есть тени добавляют сцене глубину и делают ее более реальной. Особенно это касается сцен в интерьере. Еще раз посмотрите на рис. 9.8. Как вы видите, в данном случае сложно сказать, стоят ли объекты на поверхности или же парят в пространстве между камерой и опорной плоскостью.
Обычно принято использовать в сцене несколько источников света, формирующих тени, и большое количество более тусклых, "заполняющих" осветителей. Наличие теней значительно увеличивает время визуализации, особенно если тени формируются источником света типа Area (Прямоугольный) или являются трассированными. Поэтому при создании сцены с тенями руководствоваться надлежит также соображениями минимизации времени вычислений. Кроме того, тени имеют свойство выцветать при появлении дополнительных источников света с включенным свойством формирования теней, освещающих ту же самую область. В Maya существует много способов как сделать сцену более контрастной, так и уменьшить время визуализации. Рассмотрим подробнее дна основных типа теней в Maya – полученные на основе карты глубины и трассированные.
Карта глубины
В Maya существует возможность формирования теней на основе так называемой карты глубины (Depth Map), которая содержит информацию о расстоянии от источника света до поверхности, которую он освещает. Программа вычисляет эту карту при первой же визуализации, и впоследствии она используется при расчете теней. Благодаря наличию карты теней визуализатор получает информацию об освещенности различных областей сцены, указывая, насколько далеко могут распространяться лучи света. В итоге они останавливаются на поверхностях объектов.
Тени, полученные на основе карты глубины, обычно хорошо имитируют реальные, при этом значительного увеличения времени визуализации не происходит. Они обычно имеют более размытые края, что выглядит более натурально, чем резкие трассированные тени. Впрочем, при желании можно получить примерно такой же уровень резкости теней, увеличив значение параметра Dmap Resolution (Разрешение карты глубины). Основным недостатком этого метода является отсутствие возможности создания мягких теней и невосприимчивость к прозрачности объектов.
Для источников света типа Point (Точечный), Ambient (Рассеянный) и Area (Прямоугольный) карта глубины работает особым образом. Дело в том, что для создания теней с помощью карты необходимо квадратное растровое изображение, а упомянутые источники света распространяют лучи во всех направлениях. Соответственно, приходится создавать набор карт, покрывающий всю область тени. В Maya для этих случаев используются кубические карты теней, то есть шесть теней, расположенных на шести сторонах куба. Этот процесс требует в шесть раз большего объема оперативной памяти, что может быть связано с увеличенным размером карты. В общем случае желательно, чтобы большинство теней создавалось источниками света типа Spot (Прожектор) или Directional (Направленный). При этом можно прямо указать направление лучей света и падения теней.
Параметры карты глубины
При работе с картами теней можно настраивать следующие параметры:
- Shadow Color (Цвет тени). Этот параметр относится к обоим типам теней в Maya. Его изменение приводит к изменению цвета тени после визуализации. Сделав цвет тени немного ярче черного, можно имитировать диффузное рассеяние света. Кроме того, данному параметру можно назначить карту текстуры, используя способ, описанный в главе 8.
- Dmap Resolution (Разрешение карты глубины). Определяет аккуратность теней, сформированных на основе карты глубины. Карты представляют собой квадратные изображения, поэтому установив этот параметр равным 1024, вы получите карту теней с разрешением 1024x1024 пиксела. При очень больших значениях этого параметра у компьютера может не хватить оперативной памяти на обработку такой карты. Если же данный параметр имеет малое значение, у теней могут образоваться зубчатые края.
Правда, это имеет отношение только к окончательному изображению, полученному в результате визуализации. Этот эффект можно завуалировать, увеличив значение параметра Dmap Filter Size (Размер фильтра карты глубины). Увеличение разрешения тоже приводит к исчезновению зазубренных краев, но формирует более резкие границы тени.
- Dmap Filter Size (Размер фильтра карты глубины). Непосредственно влияет на состояние границы тени. Удачно скомбинировав значение этого параметра с величиной разрешения карты глубины, можно сгладить размытую границу тени, избавившись от эффекта. Имейте в виду, что увеличение размера фильтра карты глубины сопровождается увеличением времени визуализации, поэтому без крайней необходимости не присваивайте данному параметру значений, превосходящих 3.
- Dmap Bias (Смещение карты глубины). Когда с помощью карты глубины формируются длинные тени, иногда они могут быть смещены относительно объекта, который их отбрасывает. Смещение карты глубины регулирует расстояние между тенью и объектом. Как правило, изменение заданного по умолчанию значения требуется очень редко. Например, при имитации теней, возникающих при заходящем Солнце.