Имитация ткани
Долгое время программа 3ds max имела большой недостаток — в ней отсутствовало средство имитации ткани. С появлением модуля reactor эта задача стала решаться быстро и просто. В этом примере рассмотрим создание сцены, в которой стол будет покрываться скатертью.
Сначала смоделируем стол. Создайте в окне проекции стандартный примитив Box (Параллелепипед). Перейдите на вкладку Modify (Изменение) командной панели и в настройках параллелепипеда укажите следующие значения параметров: Length (Длина) - 100 и Width (Ширина) - 100, Height (Высота) - 5, Length Segs (Количество сегментов по длине) — 11, Width Segs (Количество сегментов по ширине) — 11, Height Segs (Количество сегментов но высоте) — 1 (рис. 4.96).
Рис. 4.96. Настройки объекта Box (Параллелепипед)
Щелкните правой кнопкой мыши на названии окна проекции и в контекстном меню выберите режим отображения объектов Edged Faces (Контуры граней). В этом режиме будет видна сетчатая оболочка объекта, что необходимо для выполнения дальнейших операций с примитивом Box (Параллелепипед).
Чтобы в дальнейшем можно было изменять форму полусферы, конвертируйте объект в Editable Mesh (Редактируемая поверхность). Для этого щелкните правой кнопкой мыши на объекте и выполните команду Convert То > Convert to Editable Mesh (Преобразовать > Преобразовать в редактируемую поверхность) (рис. 4.97).
Рис. 4.97. Выбор команды Convert To > Convert to Editable Mesh (Преобразовать > Преобразовать в редактируемую поверхность) в контекстном меню
Перейдите на вкладку Modify (Изменение) командной панели. Раскройте строку Editable Mesh (Редактируемая поверхность) в стеке модификаторов, щелкнув на плюсике, и переключитесь в режим редактирования Polygon (Полигон). Выделите четыре полигона, как показано на рис. 4.98, при этом они станут красными.
Рис. 4.98. Выделенные полигоны
Щелкните на кнопке Extrude (Выдавливание) в свитке Edit Polygons (Редактирование полигонов) настроек объекта на командной панели или выберите команду Extrude Polygons (Выдавливание полигонов) в контекстном меню и выдавите полигоны на некоторое расстояние, чтобы у стола появились ножки (рис. 4.99).
Рис. 4.99. Ножки стола
Выйдите из режима редактирования Polygon (Полигон).
При помощи операции Rotate (Вращение) поверните объект вокруг оси X на 180°, чтобы ножки были направлены вниз.
Создайте в окне проекции стандартный примитив Plane (Плоскость). Перейдите на вкладку Modify (Изменение) командной панели и в настройках плоскости укажите следующие значения параметров: Length (Длина) — 150 и Width (Ширина) — 150, Length Segs (Количество сегментов по длине) — 28, Width Segs (Количество сегментов по ширине) — 28 (рис. 4.100).
Рис. 4.100. Настройки объекта Plane (Плоскость)
Разместите созданную плоскость относительно стола таким образом, чтобы она была выровнена в плоскости XY по центру стола и размещалась над ним (рис. 4.101).
Рис. 4.101. Размещение объектов в сцене
Затем выделите стол и нажмите кнопку Create Deforming Mesh Collection (Создать группу объектов, деформирующих поверхность) на панели инструментов reactor (рис. 4.102).
Рис. 4.102. Кнопка Create Deforming Mesh Collection (Создать группу объектов, деформирующих поверхность) на панели инструментов reactor
В настройках этой группы вы увидите, что стол занесен в нее (рис. 4.103).
Рис. 4.103. Настройки вспомогательного объекта Deforming Mesh Collection (Группа объектов, деформирующих поверхность)
Выделите плоскость, перейдите на вкладку Modify (Изменение) командной панели и выберите из списка Modifier List (Список модификаторов) модификатор reactor Cloth.
В настройках модификатора укажите значение параметра Friction (Трение) равным 2, а также установите флажок Avoid Self-Intersections (Избегать внутренних пересечений), что позволит получить трехмерную поверхность ткани, которая при деформации не будет пересекать сама себя (рис. 4.104).
Рис. 4.104. Настройки модификатора reactor Cloth
СОВЕТ
Вы также можете применить к объекту модификатор reactor Cloth, нажав кнопку Apply reactor Cloth Modifier (Применить модификатор reactor Cloth) на панели инструментов reactor.
Выделите плоскость и нажмите кнопку Create Cloth Collection (Создать группу объектов, имитирующих ткань) на панели инструментов reactor (рис. 4.105).
Рис. 4.105. Кнопка Create Cloth Collection ( Создать группу объектов, имитирующих ткань) на панели инструментов reactor
В настройках этой группы вы увидите, что плоскость занесена в нее (рис. 4.106).
Рис. 4.106. Настройки вспомогательного объекта Cloth Collection (Группа объектов, имитирующих ткань)
Выделите все элементы стола. Перейдите на вкладку Utilities (Утилиты) командной панели и нажмите кнопку reactor.
В свитке Properties (Свойства) установите значение параметра Friction (Трение) равным 5.
В свитке Preview & Animation (Предварительный просмотр и анимация) нажмите кнопку Create Animation (Создание анимации).
Если в свитке Utils (Утилиты) установлен флажок Analyze Before Simulation (Проанализировать перед просчетом), то программа сначала проанализирует задачу и, если ошибок не будет, начнет просчет.
В противном случае она выдаст сообщение, например, о том, что тело не относится к группе Cloth Collection (Группа объектов, имитирующих ткань).
При отсутствии ошибок программа начнет просчет анимационной сцены.
Если в свитке Preview & Animation (Предварительный просмотр и анимация) установить флажок Update Viewports (Обновлять вид в окнах проекций), то на протяжении просчета вы сможете наблюдать изменение положения объектов в сцене.
После обработки данных можно будет воспроизвести анимацию — вы увидите, что скатерть опускается на стол и ее края изменяют свое положение так, как это происходит с тканью в реальной жизни (рис. 4.107).
Рис. 4.107. Результат просчета сцены при помощи модуля reactor 2
ПРИМЕЧАНИЕ
Готовый файл сцены находится на прилагаемом к книге компакт-диске в папке ch04/Examples. Файл сцены называется Урок11_4.тах. Вы можете посмотреть, как создается имитация ткани в модуле reactor 2, запустив файл video4_3.avi, который находится на прилагаемом к книге компакт-диске в папке ch04/Videotutors.
Подведем итоги урока — в этом уроке вы научились:
Вы также закрепили свои навыки, которые касаются: