Создание динамических характеристик – это одна из функций 3ds max 7, связанная с анимацией. Сцены, в которых используется просчет динамических составляющих (например, изображение разбивающихся предметов, развивающейся на ветру ткани, движений марионеток), – это анимационные проекты. Поскольку в реальном мире движение любого объекта подчиняется законам физики, для создания реалистичной трехмерной анимации необходимо учитывать влияние многих физических факторов – гравитацию, массу тел, направление ветра и т. д. С помощью 3ds max 7 можно просчитывать анимацию объектов, которая будет подчиняться законам физики. При этом в настройках объектов указываются их физические свойства, на основе которых происходит просчет их поведения и взаимодействия. Просчет таких сложных сцен происходит с использованием модуля reactor 2.
Чтобы понять, что означает термин "динамика в сцене", приведем пример. Допустим, требуется создать простую сцену, в которой мячик падает на пол. В реальной жизни этот мячик несколько раз подпрыгнет, причем каждый последующий раз он будет подскакивать все ниже. Если вы решите делать такую сцену при помощи ключевых кадров, вам придется потратить большое количество времени.
Во-первых, необходимо точно вычислить промежутки времени между ключевыми кадрами, а во-вторых, потребуется подобрать положение мячика относительно пола в каждом ключевом кадре. Согласитесь, задание не из легких! Заметьте, что сцена – очень проста, и объектов в ней только два.
Если же представить сцену, в которой, например, таких мячиков более десяти, то создание анимации с расстановкой ключевых кадров вручную покажется непосильной задачей. В то же время, используя модуль reactor 2, эту сцену можно просчитать за несколько секунд, причем все ключевые кадры будут созданы автоматически, практически без участия пользователя.
При помощи модуля reactor можно просчитать поведение тел при взаимодействии, имитацию водной поверхности, материи и многое другое. В ранних версиях 3ds max reactor, как и некоторые другие модули, был подключаемым модулем, однако, начиная с 3ds max 5, входит в стандартную поставку программы.
В 3ds max 7 используется вторая версия модуля reactor. Он полностью интегрирован в 3ds max 7 – в левой части экрана расположена вертикальная панель с настройками модуля (рис. 4.15). Создание сцены при помощи модуля reactor 2 можно условно разделить на несколько этапов.
- Создание сцены 3ds max 7.
- Установка физических параметров каждого объекта, включенного в сцену, при помощи свитка настроек Properties (Свойства) утилиты reactor 2.
- Объединение объектов в группы.
- Создание конструкции из компонентов сцены.
- Анализ и просчет готовой сцены.
Модуль reactor может работать со следующими группами объектов: Rigid Bodies (Твердые тела), Soft Bodies (Гибкие тела), Rope (Веревка), Deforming Mesh (Деформируемые поверхности), Constraints (Конструкции), Actions (Воздействия) и Water (Вода). Эти группы с сокращенными названиями также находятся в категории Helpers (Вспомогательные объекты) и Space Warps (Объемные деформации) вкладки Create (Создание) командной панели в группе объектов reactor (рис. 4.16).
Рис. 4.15. Панель reactor
Рис. 4.16. Группа объектов reactor в категории Helpers (Вспомогательные объекты)
При имитации движения объектов, связанных между собой, применяются Constraints (Конструкции). В модуле используются разные типы конструкций, наиболее интересными из которых являются Cooperative Constraints (Объединенные конструкции). В их числе:
- Rag Doll Constraints (Ограничение куклы) – поворот тел на угол, не превышающий заданное значение (примером данной конструкции может служить плечевой сустав руки);
- Hinge Constraints (Ограничение поворота) – движения одного объекта относительно другого вокруг заданной оси (например, локтевой сустав руки и колено);
- Prismatic Constraints (Призматическое ограничение) – поступательные движения, подобные тем, которые осуществляют роботы и другие механизмы;
- Car-Wheel Constraints (Ограничение колеса) – симуляция поведения колес транспортного средства.
В процессе работы над сценой удобно использовать окно Real-Time Preview (Просмотр в реальном времени). Его можно вызвать, нажав на кнопку Preview in Window (Предварительный просмотр в окне) в свитке Preview & Animation (Предварительный просмотр и анимация) настроек модуля reactor. Чтобы открыть настройки этого модуля, необходимо перейти на вкладку Utilities (Утилиты) командной панели и нажать кнопку reactor. При его вызове появляется окно, внутри которого будет автоматически визуализирован первый кадр (рис. 4.17).
Рис. 4.17. Окно Real-Time Preview (Просмотр в реальном времени)
Чтобы проиграть анимацию, нужно в раскрывающемся списке Simulation (Имитация) выбрать строку Play/Pause (Проиграть/Пауза). В данном окне также можно указать прорисовку сетчатой поверхности для каждого объекта, по которой модуль просчитывает взаимодействия.
Модуль reactor 2 может хранить данные относительно взаимодействий всех объектов Rigid Bodies (Твердые тела), которые происходили в процессе просчета. Эта информация запоминается, ее можно просмотреть, используя язык сценариев MAXScript. Для этого перед просчетом в свитке Collision (Информация о взаимодействиях) настроек модуля reactor необходимо установить переключатель Store Collision (Сохранять информацию о взаимодействиях) в положение Always Store (Всегда сохранять), а после просчета нажать кнопку View (Показать), откроется окно (рис. 4.18). Информацию о взаимодействиях также можно сохранить в текстовом файле. Он будет содержать данные о скорости движения тел, координатах точек взаимодействий и др.
Рис. 4.18. Окно Collision Info (Информация о взаимодействиях) с информацией о взаимодействии всех твердых тел в процессе просчета