В главе 10 мы уже создавали скатерть, используя технику NURBS-моделирова-ния. Главный недостаток скатерти, созданной таким методом — ее очень трудно анимировать. При взаимодействии ткани с каким-либо объектом ее поверхность деформируется по всей площади. Использовать привычные способы создания анимации в данном случае очень сложно. Нам пришлось бы устанавливать ключи анимации для огромного количества точек объекта, что заняло бы много времени и сил. С помощью модуля reactor (Реактор) эта задача решается очень просто. Программа автоматически высчитывает воздействие, производимое на ткань внешними силами, и соответственно задает деформацию объекта. Более того, за поведением ткани можно наблюдать в режиме реального времени с помощью специальной функции предварительного просмотра. Анимация ткани, просчитанная с помощью модуля reactor (Реактор), выглядит очень реалистично, а сам процесс просчета занимает немного времени, особенно при правильно выбранных настройках.
Итак, для создания скатерти, падающей на стол, выполните следующие действия: 1. Откройте сцену с любым из созданных нами в рамках нашего проекта столов. Вы можете использовать сцену Stol.max, находящуюся в папке Scenes\Glava_05, я работал именно с ней. Сохраните ее под именем Stoljeactor.max. Перейдите в окно проекции Тор (Вид сверху). Создайте примитив Plane (Плоскость), расположив его таким образом, чтобы созданная вами плоскость была по площади немного больше стола. Подобрав необходимые настройки модуля reactor (Реактор), мы добьемся того, что эта плоскость будет обладать свойствами ткани. Переключитесь в окно проекции Perspective (Перспектива) и передвиньте объект Plane (Плоскость) вдоль оси Z вверх, чтобы она располагалась над столом, как показано на рис. 17.13. Если бы в реальной жизни мы могли каким-то образом зафиксировать ткань в таком положении и отпустить, то, поскольку на нее воздействует только сила гравитации, она начала бы падать вниз. После столкновения с поверхностью стола ткань начнет деформироваться, обхватывая краями объект столкновения. Поскольку наша плоскость должна изменять форму аналогичным образом, необходимо позаботиться о том, чтобы модель ткани, содержала достаточное количество сегментов по длине и ширине. Если объект, имитирующий ткань будет содержать малое количество полигонов, участки на изгибах выдадут трехмерную подделку, а просчитанная анимация будет выглядеть нереалистично. Увеличьте сегментацию плоскости, установив 24 сегмента по каждой из координат.