3ds max 7.5. Трюки и эффекты
Шрифт:
Таким образом, при помощи модуля Character Studio можно «оживить» трехмерных персонажей.
Глава 6Динамика в трехмерных сценах
• Модуль reactor 2.
• Модуль Cloth.
• Модуль Hair and Fur.
Несмотря на универсальность и простоту техники ключевых кадров, существуют случаи, когда использование этого метода не позволяет добиться желаемого результата. Это касается сцен, в которых необходимо отобразить эффекты, подчиняющиеся законам физики.
Поскольку в реальном мире движение любого объекта подчиняется законам физики, для создания реалистичной трехмерной анимации необходимо учитывать влияние многих физических факторов – гравитации, массы тел, направления ветра и т. д. Если это условие выполняется, то анимация выглядит правдоподобно, в противном случае зритель непременно отличит трехмерную «подделку». В реальной жизни все, что нас окружает, постоянно изменяется – шторы слабо двигаются, по озеру «бежит» мелкая рябь и т. д. Аниматору очень трудно воссоздать такую картину методом ключевых кадров.
Кроме этого, при помощи ключевых кадров разработчику трехмерной анимации бывает очень сложно создать реалистичную анимацию некоторых объектов: жидкости, материи, огня, волос, разбивающихся предметов. Алгоритм решения этих проблем настолько сложен, что его разработкой занимаются целые институты.
В этой главе рассказано об интегрированных в 3ds max модулях для создания динамики в сценах: reactor 2, Cloth и Hair and Fur.
Модуль reactor 2
С помощью 3ds max 7.5 можно просчитывать анимацию объектов, которая будет подчиняться законам физики. При этом в настройках объектов указываются их физические свойства, на основе которых происходит просчет их поведения и взаимодействия. Просчет таких сложных сцен происходит с использованием модуля reactor 2.
Чтобы понять, что означает термин «динамика в сцене», приведем пример. Допустим, требуется создать простую сцену, в которой мячик падает на пол. В реальной жизни этот мячик несколько раз подпрыгнет, причем каждый последующий раз он будет подскакивать все ниже. Если вы решите делать такую сцену при помощи ключевых кадров, вам придется потратить большое количество времени. Во-первых, необходимо точно вычислить промежутки времени между ключевыми кадрами, а во-вторых, потребуется подобрать положение мячика относительно пола в каждом ключевом кадре. Согласитесь, задание не из легких! Заметьте, что сцена, очень проста, и объектов в ней только два. Если же представить сцену, содержащую, например, более десяти таких мячиков, то создание анимации с расстановкой ключевых кадров вручную покажется непосильной задачей. В то же время, используя модуль reactor 2, эту сцену можно просчитать за несколько секунд, причем все ключевые кадры будут созданы автоматически, практически без участия пользователя.
При помощи модуля reactor можно просчитать поведение тел при взаимодействии друг с другом, имитацию водной поверхности, материи и многое другое. В ранних версиях 3ds max reactor, как и некоторые другие модули, был подключаемым, однако, начиная с 3ds max 5, входит в стандартную поставку программы.
В 3ds max 7.5 используется вторая версия модуля reactor. Он полностью интегрирован в 3ds max 7.5 – в левой части экрана расположена вертикальная панель с настройками модуля (рис. 6.1).
Рис. 6.1. Панель reactor.
Создание сцены при помощи модуля reactor 2 можно условно разделить на несколько этапов.
1. Создание сцены 3ds max 7.5.
2. Установка физических параметров каждого объекта, включенного в сцену, при помощи свитка настроек Properties (Свойства) утилиты reactor 2 (чтобы его открыть, перейдите на вкладку Utilities (Утилиты) командной панели и нажмите кнопку reactor).
3. Объединение объектов в группы.
4. Создание конструкции из компонентов сцены.
5. Анализ и просчет готовой сцены.
Модуль reactor может работать со следующими группами объектов: Rigid Bodies (Твердые тела), Soft Bodies (Гибкие тела), Rope (Веревка), Deforming Mesh (Деформируемые поверхности), Constraints (Конструкции), Actions (Воздействия) и Water (Вода). Эти группы под сокращенными названиями также находятся в категории Helpers (Вспомогательные объекты) и Space Warps (Объемные деформации) вкладки Create (Создание) командной панели в группе объектов reactor (рис. 6.2).
Рис. 6.2. Группа объектов 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.
При его вызове появляется окно, внутри которого будет автоматически визуализирован первый кадр (рис. 6.3). Чтобы проиграть анимацию, нужно в раскрывающемся списке Simulation (Имитация) выбрать строку Play/Pause (Проиграть/Пауза). В данном окне также можно указать прорисовку сетчатой поверхности для каждого объекта, по которой модуль просчитывает взаимодействия.
Рис. 6.3. Окно Real-Time Preview (Просмотр в реальном времени).
Модуль reactor 2 может хранить данные относительно взаимодействий всех объектов Rigid Bodies (Твердые тела), которые происходили в процессе просчета. Эта информация запоминается, ее можно просмотреть, используя язык сценариев MAXScript. Для этого перед просчетом в свитке Collision (Информация о столкновениях) настроек модуля reactor необходимо установить переключатель Store Collision (Сохранять информацию о столкновениях) в положение Always store (Всегда сохранять), а после просчета нажать кнопку View (Показать). При этом откроется окно (рис. 6.4). Информацию о взаимодействиях также можно сохранить в текстовом файле. Он будет содержать данные о скорости движения тел, координатах точек взаимодействий и др.
Рис. 6.4. Окно Collision Info (Информация о столкновениях) со сведениями о взаимодействии всех твердых тел в процессе просчета.