Install-Pro Magazine


Читаем свежий номер Install Pro

Читаем свежий номер Install Pro










СВЕЖИЙ НОМЕР



АРХИВ НОМЕРОВ







НОВОСТИ



ВЫСТАВКИ



ПРОЕКТЫ



СЕМИНАР



ОБОРУДОВАНИЕ







НАШИ КООРДИНАТЫ



ПОДПИСКА







Наш адрес электронной почты



Журнал о профессиональной шоу-технике
Шоу-Мастер



Световое оборудование для дискотек



Rambler's Top100
Rambler's Top100





 

Реконструкция одного эффекта

Валерий Минин


Рис. 1.

Рис. 2.

Рис. 3.

Рис. 4.

Рис. 5.

Рис. 6.

Рис. 7.

Рис. 8.

Однажды попался мне на глаза один клип. Клип явно буржуйский, чей не помню - не в этом суть. Привлек внимание один эффект, на котором весь клип и был построен. Эффект такой - виртуальный герой, двигаясь по плоскости, отбрасывал тень (тень была резкая, трассированная, от одного источника), которая создавала отверстие в плоскости, куда потом что-то проваливалось, что-то прыгало. То есть отбрасываемая персонажем тень была не тенью, а отверстием на плоскости, точно повторяющим контуры тени. Смотрелось это довольно эффектно, поэтому запомнилось и заставило задуматься, а как это, собственно, было реализовано и можно ли средствами 3DS Max создать такой эффект.

На первый взгляд, задача кажется трудной, так как в 3DS Max нет средств, отслеживающих положение тени математически, поэтому придется пользоваться какой-то уловкой. И уловкой этой будет предварительное создание анимированной карты тени на плоскости. Сначала мы сделаем в виде сверху ролик, где по абсолютно белой плоскости будет двигаться в соответствии с движением персонажа его абсолютно черная тень. Для чего - будет понятно ниже.

Итак, создадим квадратную плоскость (Plane) и шарик (куда ж без него, многострадального). Плоскости задаем простой белый материал типа Fong, полностью обнулив движки блеска и блика (блик сейчас совершенно ни к чему). Шарику задаем любой материал с нулевой прозрачностью и опять же отсутствием блика и блеска. Готово (рис.1).

Задаем направленный источник света типа Target Spot и заставляем его отбрасывать трассированную тень с параметрами по умолчанию. Цвет тени абсолютно черный, интенсивность 1. Направляем этот прожектор так, чтобы плоскость была освещена как можно более равномерно. Создадим маленькую тестовую анимацию нашего персонажа - шарика. Для демонстрации нам хватит кадров 50-ти. Подвигайте шарик вверх - вниз, вправо - влево, но не очень интенсивно, чтобы тень не убегала за границы плоскости. В виде сверху сделаем визуализацию анимации в формате AVI. В настройках рендеринга выберем тип визуализации Crop, чтобы ограничивающей рамкой точно выделить нашу плоскость, т.е. отношение сторон кадра должно полностью соответствовать отношению сторон нашей плоскости. В виде сверху визуализируем один кадр анимации для теста. Мы должны получить снимок белой плоскости с тенью на ней. Упс! Тени мы не получаем, так как материал шарика был сделан абсолютно прозрачным, и тени от этого материала не получится. Значит надо решить такую задачу: шарик сам не визуализируется, но тень отбрасывает по полной программе Можно, конечно, назначить материал Matte/Shadow и начать париться с настройками этого материала, но есть способ добиться нужного нам результата одним щелчком мыши, что мы и сделаем. Открываем окно свойств шарика и ставим одну галку перед Render Occluded Objects в Rendering Control (рис.2).

Снова визуализируем тест - вот теперь все как надо. Шарик сам не рендерится, но тень отбрасывает. Визуализируем всю последовательность, сохраняя ее на диске для последующего потребления (рис.3).

Теперь настало время разобраться с плоскостью - как же ее грамотно продырявить в точном соответствии с тенью. А сделаем мы это с помощью нескольких стандартных "максовских" модификаторов и недавно сотворенного нами шедевра - ролика в формате AVI с тенью в главной роли.

Итак, приступим.

Назначим нашей плоскости модификатор Displace и в качестве карты дисплейсмента выберем наш ролик AVI, увеличим интенсивность дисплейсмента до тех пор, пока плоскость не начнет демонстрировать явную вмятину в месте тени. Результат получается неубедительным, какие-то грубые горбы вместо мягкого провала, так что ж мы хотели - геометрическая сложность плоскости по умолчанию мала, надо повысить ее до достижения нужного результата. Спускаемся вниз по стеку до первоначального объекта Plane и увеличиваем количество полигонов до 80 - 90 в обоих направлениях. Вот теперь совсем другое дело. На месте черного пятна от тени мы имеем приятную впуклость, которая ездит по плоскости, повторяя движение тени от шарика, но не отверстие, как нам хотелось бы (рис.4, 5).

Добавим еще пару стандартных модификаторов для достижения цели. Первый из них Vol.Select. С его помощью мы выберем точки, которые наша карта вдавила при помощи предыдущего модификатора. В настройках Vol.Select выберем тип gizmo - Box в Select by Volume и далее Selection Method - Replace, Stack Selection Level - Vertex, Aligment - Auto Fit. Войдем на уровень Sub-Object в параметр Gizmo и подвинем выделившийся желтым габаритный контейнер снизу так, чтобы в зону его действия попали нижние точки вдавлености на нашей плоскости. Они выделяются красным - это то, что нам нужно (рис.6).

Теперь дело за малым - чтобы получилось отверстие, мы должны будем убить эти точки. Чем убить? Конечно, модификатором Delete Mesh. Никаких хитрых настроек он не имеет, но найдя точки или полигоны, выделенные снизу по стеку, безжалостно их убивает. Что мы и видим (рис.7).

Назначаем шарику любой видимый материал, плоскости при желании тоже. Корректируем, если очень хочется свет, и … готово. Запускаем анимацию - вместо тени от шарика получаем бегающую за ним дыру (рис.8).

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

Наверх

Адрес редакции: 123459, Москва, а/я №7 Тел.: (495) 250-0207 Факс: (495) 978-7362
Copyrignt Install Pro 1999-2006
Поддержка сайта web@install-pro.ru
mrmidi.ru