2. Нам понадобятся: твердые тела (на которые будет падать ткань), мягкое тело (сама ткань). Напомню, что при создании данных тел необходимо подобрать наименьшую допустимую их сегментацию. Казалось бы, в качестве твердого тела можно использовать саму кровать и "уронить" на нее покрывало. Однако сегментация матраца здесь, очевидно, чересчур высока. Поэтому мы создадим отдельные твердые тела с низкой сегментацией, "уроним" на них покрывало, а затем переложим покрывало на кровать.
3. Создайте два примитива Box (Куб): первый должен быть похожим по размерам и форме на горизонтальную часть кровати, а второй — на матрац. Расположите их рядом с кроватью. У меня получилось, как на рис. 7.62.
4. Над этой парой объектов создайте еще один примитив Box (Куб), который будет играть роль покрывала. Значения его длины и ширины задайте такими, чтобы он был немного больше по размерам, чем модель кровати (чтобы получились загибающиеся части). Расположите его сверху, над двумя ранее созданными объектами (рис. 7.63). Сегментацию данного объекта по длине и ширине задайте равной не менее 20 единиц. Высоту объекта (Height) задайте равной около 2 см.
5. Добавьте в сцену два коллектора: RBCollection и CLCollection (см. предыдущий шаг 5).
6. Выделите созданный в сцене коллектор RBCollection (который с изображением трех кубиков), перейдите во второй раздел командной панели к его параметрам, в свитке RB Collection Properties (Свойства коллекции твердых тел) нажмите кнопку Pick (Показать), затем щелкните по первому объекту, созданному в шаге 3, затем — снова Pick (Показать) и щелкните по второму. Имена обоих должны отобразиться в списке над кнопкой. Таким образом, вы показали, что данные объекты являются твердыми.
7. Выделите объект Box (Куб), который играет роль покрывала, перейдите во второй раздел командной панели, раскройте список модификаторов и примените модификатор reactor Cloth. Установите галочку опции Avoid Self-Intersections (Предотвратить самопересечения) в параметрах данного модификатора. Значение параметра Rel Density (Относительная плотность) в верхней части свитка задайте равным 0,2.
8. Выделите созданный в шаге 5 коллектор CLCollection, перейдите к его параметрам, нажмите кнопку Pick (Показать) и щелкните по объекту-покрывалу в сцене. Его имя отобразилось в списке над кнопкой.
9. Сцена готова к выполнению просчета. На всякий случай, сохраненная сцена на данном этапе содержится в файле reactor.max в папке Primeri_scen\Giava_7 на компакт-диске. Если у вас что-то не получилось, можете использовать ее.
10. Перейдите в последний раздел командной панели — Utilities (Утилиты) и нажмите последнюю кнопку — reactor. Раскройте свиток Preview & Animation (Предварительный просмотр и анимация) и нажмите кнопку Create Animation (Создать анимацию).
11. По окончании просчета сцены, запустите воспроизведение анимации. Остановите воспроизведение на том кадре, когда внешний вид покрывала кажется вам наиболее подходящим. Выделите покрывало, перейдите во второй раздел командной панели, в стеке модификаторов нажмите правую кнопку мыши по строчке reactor Cloth и в появившемся меню выберите пункт Collapse To (Свернуть в).
12. Перенесите покрывало на кровать, положите его на нее, подушки положите сверху. В результате — модель кровати оказалась покрыта покрывалом (рис. 7.64).
Таким образом, мы в общих чертах рассмотрели порядок создания упавших тканей методом reactor.
Разумеется, этот метод имеет множество вариаций и настроек. Например, для достижения гораздо более хорошего и реалистичного эффекта, вам следует воспользоваться параметрами модификатора reactor Cloth, примененного в шаге 7. Например, параметр Mass (Масса) позволяет оперировать мнимой массой покрывала, Friction (Трение) — отвечает за то, насколько сильно материал будет скользить при падении, Rel Density (Относительная плотность) — отвечает за мнимую плотность материала, а Air Resistance (Сопротивление воздуха) — за плотность атмосферы, в которой якобы падает объект (рис. 7.65).
Отмечу, что для того чтобы изменения вступили в силу, необходимо каждый раз заново запускать просчет сцены (Create Animation (Создать анимацию)), что не совсем удобно.
Также отмечу, что после выполнения функции Collapse To (Свернуть в) в шаге 11, покрывало больше не будет подвластно методу reactor.
Окончательно довести до ума форму покрывала можно при помощи модификатора FFD.
Для комбинирования вышеуказанных параметров, создайте сцену заново или используйте сцену из файла reactor.max в папке Primeri_Scen\Glava_7 на компакт-диске.