Характеристики света и методы визуализации теней
Как мы уже говорили выше, настоящий луч света претерпевает большое количество отражений и преломлений, поэтому реальные тени всегда имеют размытые края. В трехмерной графике используется специальный термин, которым обозначают такие тени – мягкие тени.
Добиться мягких теней довольно сложно. Многие визуализаторы решают проблему мягких теней, добавляя в интерфейс 3ds max 7 неточечный источник света, имеющий прямоугольную или другую форму. Такой источник излучает свет не из одной точки, а из каждой точки поверхности. При этом чем больше площадь источника света, тем более мягкими получаются тени при визуализации.
Существуют разные подходы к визуализации теней: использование карты теней (Shadow Map), трассировка (Raytraced) и глобальное освещение (Global Illumination). Рассмотрим их по порядку.
Рис. 6.8. Свиток настроек Shadow Map Params (Параметры карты теней) источника света
Использование карты теней позволяет получить размытые тени с нечеткими краями. Главная настройка Shadow Map (Карта теней) – это размер карты теней (параметр Size (Размер)) в свитке настроек Shadow Map Params (Параметры карты теней) (рис. 6.8). Если размер карты уменьшить, четкость полученных теней также снизится.
Метод трассировки позволяет получить идеальные по форме тени, которые, однако, выглядят неестественно из-за своего резкого контура. Трассировкой называют отслеживание путей прохождения отдельных световых лучей от источника света до объектива камеры с учетом их отражения от объектов сцены и преломления в прозрачных средах. Метод трассировки часто используется для визуализации сцен, в которых присутствуют зеркальные отражения.
Начиная с 3ds max 5, для получения мягких теней используется метод Area Shadows (Распределение теней), в основе которого лежит немного видоизмененный метод трассировки. Area Shadows (Распределение теней) позволяет просчитать тени от объекта так, как будто в сцене присутствует не один источник света, а группа равномерно распределенных в некоторой области точечных источников света.
Несмотря на то что метод трассировки лучей точно воспроизводит мелкие детали сформированных теней, его нельзя считать идеальным решением для визуализации из-за того, что полученные тени имеют резкие очертания.
Метод глобального освещения (Radiosity) позволяет добиться мягких теней на финальном изображении. Этот метод является альтернативой трассировке освещения. Если метод трассировки визуализирует только те участки сцены, на которые попадают лучи света, то метод глобального освещения просчитывает рассеиваемость света и в неосвещенных или находящихся в тени участках сцены на основе анализа каждого пиксела изображения. При этом учитываются все отражения лучей света в сцене.
Совет
Глобальное освещение позволяет получить реалистичное изображение, однако процесс визуализации сильно нагружает рабочую станцию и, к тому же требует много времени. Поэтому в некоторых случаях имеет смысл использовать систему освещения, имитирующую эффект рассеиваемого света. При этом источники света должны быть размещены таким образом, чтобы их положение совпадало с местами прямого попадания света. Такие источники не должны создавать теней и должны иметь небольшую яркость. При таком методе, безусловно, не получается настолько же реалистичное изображение, как можно получить, используя настоящий метод глобального освещения. Однако в сценах, которые имеют простую геометрию, он вполне может пригодиться.
Алгоритмов просчета глобального освещения существует несколько, один из способов расчета отраженного света – фотонная трассировка (Photon Mapping). Этот метод подразумевает расчет глобального освещения, основанный на создании так называемой карты фотонов. Карта фотонов представляет собой информацию об освещенности сцены, собранную при помощи трассировки.
Преимущество метода фотонной трассировки заключается в том, что единожды сохраненные в виде карты фотонов результаты фотонной трассировки впоследствии могут использоваться для создания эффекта глобального освещения в сценах трехмерной анимации. Качество глобального освещения, просчитанное при помощи фотонной трассировки, зависит от количества фотонов, а также глубины трассировки. При помощи фотонной трассировки можно также осуществлять просчет эффекта каустики (подробнее об эффекте каустики читайте в разд. "Общие сведения о визуализации в трехмерной графике" глава 7).