некоторой степени недостатком Shadow Map (Карта теней) и Area Shadows (Площадная тень) является значительное увеличение времени просчета сцены, особенно если в ней используется несколько источников света с такой тенью, а у Area Shadows (Площадная тень) указано большое значение размытия тени на краях.
До создания таких теней существовали подключаемые модули или сценарии, которые генерировали по кругу дополнительные источники света на небольшом расстоянии друг от друга. Таким образом тени, создаваемые многими источниками, перекрывались при визуализации и давали размытый контур. Существует более простой и, что самое приятное, легкоуправляемый способ, который, однако, имеет некоторые ограничения. Он заключается в том, чтобы назначить источнику света с отрицательным значением параметра Multiplier (Яркость) созданную пользователем текстурную карту Projector Map (Карта проектора).
Для построения такой карты нужно выделить источник света, который будет отбрасывать тень, и в любом окне проекции (например, в окне Left (Cлева)) выбрать вид из этого источника. Для этого щелкните на названии окна проекции правой кнопкой мыши, в результате чего появится контекстное меню (рис. 5.12), в котором следует выбрать нужный источник света (в моем случае это Spot01), выполнив команду Views ? Spot01 (Вид ? Объект Spot01).
Рис. 5.11. В сцену добавлен заполняющий свет
Рис. 5.12. Контекстное меню для выбора вида отображения
Если вы все сделали правильно, то в окне проекции будет такой вид, как будто мы смотрим из камеры (рис. 5.13).
Далее нужно исключить из визуализации все объекты, которые не будут отбрасывать тень. Сцена содержит всего два геометрических объекта: Plane (Плоскость) и Teapot (Чайник), но их может быть гораздо больше. Чтобы исключить объект из визуализации, выполните следующие действия.
1. Щелкните на нужном объекте правой кнопкой мыши.
2. В появившемся контекстном меню выберите пункт Object Properties (Свойства объекта). В результате откроется одноименное окно.
3. Снимите флажок Renderable (Визуализируемый) в области Rendering Control (Управление визуализацией).
4. Щелкните на кнопке OK для подтверждения выполненных изменений.СОВЕТ
Можно исключить объекты из визуализации и другим способом. Для этого выделите все «ненужные» геометрические объекты и щелкните на них правой кнопкой мыши. В появившемся контекстном меню выберите пункт Hide Selection (Спрятать выделенное).
Визуализируйте стандартными средствами вид из окна, в котором установлен источник света, с типовым значением разрешающей способности 800 x 600. После этого сохраните изображение в файл в формате, поддерживающем альфа-канал (например, TIFF).
Откройте сохраненный файл в программе растровой графики, допустим Adobe Photoshop, и, выделив альфа-канал, залейте его белым цветом. Если фон не черного цвета, то инвертируйте выделение и залейте все остальное черным цветом (то есть объекты сцены должны быть белыми, а фон черным, как показано на рис. 5.14).
Рис. 5.13. Вид со стороны источника света Spot01
Рис. 5.14. Карта теней на начальном этапе
Как только вы это сделаете, можно переходить к созданию размытых краев в изображении. Это можно сделать разными способами, например воспользоваться программой Photoshop, где применить для выделения градиентную маску, а затем использовать фильтр размытия по Гауссу. Важно, чтобы по мере удаления от основания объекта (от плоскости, на которой стоит чайник и на которую будет отбрасывать тень) размытие становилось более заметным (рис. 5.15).
Как только размытие будет готово, сохраните его в любом удобном для вас формате и продолжите работу в 3ds Max.
Вернувшись в программу, нужно клонировать источник света, благодаря которому образуется тень (в данном случае это ключевой свет). Для этого выполните следующие действия.
1. Выделите источник света, который необходимо клонировать.
2. Выполните команду Edit ? Clone (Правка ? Клонирование) и в появившемся окне Clone Options (Параметры клонирования) выберите тип создаваемых при дублировании объектов, установив переключатель в положение Copy (Независимая копия объекта).
3. В окне Clone Options (Параметры клонирования) также задайте объекту значимое имя, чтобы впоследствии было легче выбирать его из списка, например shadow.
После этого активизируйте источник света (если он до сих пор не выбран) и разверните свиток Advanced Effects (Дополнительные эффекты), где в качестве Projector Map (Карта прожектора) выберите вашу карту тени (рис. 5.16).Рис. 5.15. Законченная карта теней
Рис. 5.16. Свиток Advanced Effects (Дополнительные эффекты) для карты теней
В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) установите отрицательное значение параметра Multiplier (Яркость) (у меня эта величина равна –1,25). Исключите из освещения чайник (чтобы тень ложилась не на него, а только на плоскость). Для этого щелкните в свитке General Parameters (Общие параметры) на кнопке Exclude (Исключение) и в появившемся окне Exclude/Include (Исключение/включение) исключите чайник из визуализации (рис. 5.17).
Рис. 5.17. Окно Exclude/Include (Исключение/включение) с исключенным из освещения чайником
Теперь можно выполнить финальную визуализацию сцены (рис. 5.18).
Рис. 5.18. Результат финальной визуализации сцены
Конечно, кроме достоинств этот метод имеет и недостатки, один из которых – невозможность формирования падающих на объект теней от самого себя (как в данном случае с ручкой крышки). Однако часто можно добиться великолепных результатов при минимальных затратах сил, времени и компьютерных ресурсов.
ПРИМЕЧАНИЕ
В папке ExamplesГлава 05Base_light прилагаемого к книге DVD находится файл сцены данного упражнения, который называется base_light.max.
5.2. Практическое задание. Разрежем лазерным лучом
Если вы решили создать заставку в стиле «Звездных войн» или нестандартно анимировать надпись, то вам не обойтись без такого эффекта, как луч лазера. В этом небольшом упражнении мы научимся создавать такой луч простыми средствами 3ds Max.
Начнем с моделирования объектов сцены. Для этого постройте в начале координат примитив Teapot (Чайник), выбрав из главного меню Create ? Standard Primitives ? Teapot (Создать ? Простые примитивы ? Чайник) с параметрами, показанными на рис. 5.19.
Излучение лазера можно представить в виде плотного луча, направленного света, поэтому для его имитации как нельзя лучше подойдет направленный источник света с цилиндрическим излучением – Target Direct (Нацеленный направленный источник света).
СОВЕТ
Вторым возможным вариантом создания такого луча может служить примитив Cylinder (Цилиндр), которому необходимо присвоить соответствующий материал.
Для построения источника света, имитирующего луч, сделайте следующее.
1. Выполните команду главного меню Create ? Lights ? Standard Lights ? Target Directional (Создать ? Источники света ? Стандартные источники света ? Нацеленный направленный).
2. Постройте в окне проекции Top (Cверху) источник света таким образом, чтобы луч проходил через примитив Teapot (Чайник). Сразу подкорректируйте положение источника света и его цели и в других окнах проекций.
3. В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) настроек источника света на вкладке Modify (Изменение) командной панели задайте параметру Multiplier (Усилитель) значение 5, а цвет луча сделайте ярко-красным (Red (Красный) – 255; Green (Зеленый) – 0; Blue (Синий) – 0) (рис. 5.20).
Рис. 5.19. Свиток Parameters (Параметры) настроек примитива Teapot (Чайник)
Рис. 5.20. Свиток Intensity/Color/Attenuation (Интенсивность/цвет/затухание) с настройками для источника света
4. В свитке Directional Parameters (Параметры направленного источника света) задайте параметру Hotspot/Beam (Яркое пятно/луч) значение 0,5, а Falloff/Field (Край пятна/область) – 2,5. Если сейчас выполнить визуализацию (например, нажав сочетание кравиш Shift+Q), то результатом будет небольшой красный круг на черном фоне. Это связано с тем, что единственный источник света, который мы