DS MAX 7

         

Имитация ткани


Долгое время программа 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.

Подведем итоги урока — в этом уроке вы научились:

создавать коллекции тел;

заносить объекты в коллекции тел;

устанавливать настройки объектов, занесенных в коллекции, а также в список тел, подвергающихся воздействию вспомогательного объекта типа Fracture (Разрушение);



работать с объектами типа Rigid Bodies (Твердые тела), Soft Bodies (Гибкие тела), Deforming Mesh (Объекты, деформирующие поверхность), Cloth (Объекты, имитирующие ткань), со вспомогательными объектами типа Fracture (Разрушение) и объемной деформацией Water (Вода);

использовать модификаторы FFD 4x4x4, reactor SoftBody и reactor Cloth;

применять панель инструментов reactor;

использовать опцию Preview in Window (Предварительный просмотр в оконном режиме);

просчитывать динамические сцены при помощи модуля reactor;

связывать объекты с объемными деформациями, используя кнопку Bind to SpaceWarp (Связать объемной деформацией).

Вы также закрепили свои навыки, которые касаются:

применения к объектам модификаторов;

установки настроек модификаторов;

конвертирования объектов в Editable Mesh (Редактируемая поверхность);

работы в режиме редактирования Polygon (Полигон);

выделения полигонов;

использования для редактирования полигонов инструмента Extrude (Выдавливание).


Ключевые кадры


Задолго до появления трехмерной графики существовала кукольная анимация. Делалась она так: снимался один кадр с мультипликационным героем, затем, например, руку персонажа передвигали на очень небольшое расстояние и опять снимали один кадр. Вся работа состояла в том, чтобы снять на пленку все положения руки. В компьютерной графике все гораздо проще. Аниматор задает в программе только два положения руки — верхнее и нижнее, а все промежуточные положения просчитываются компьютером. Кадры, которые фиксируют начальное и конечное положение тела, называются ключевыми. Ключевые кадры управляют всеми параметрами объекта, в том числе и текстурами, например, при помощи двух ключевых кадров можно сделать так, чтобы бронзовая статуэтка плавно превратилась в стеклянную.

Таким образом, для создания анимации в 3ds max 7 достаточно указать значения параметров в ключевых точках. Программа просчитает изменение параметров от одного ключевого кадра к другому и автоматически визуализирует кадры, не являющиеся ключевыми. Например, чтобы анимировать движение примитива в окне проекции, достаточно переключиться в режим создания ключевых кадров и указать начальное и конечное положение объекта. При этом анимированными параметрами являются координаты объекта. Аналогичным образом можно создавать анимированные атмосферные эффекты, деформацию объекта, изменяющиеся во времени текстуры и т. д., указывая в настройках объектов или эффектов ключевые значения параметров.

Режим создания ключевых кадров включается при помощи кнопки Auto Key (Автоключ), расположенной под шкалой анимации (рис. 4.1).

Рис. 4.1. Кнопки управления анимацией

Любое изменение параметра сцепы в текущем кадре запоминается, и на шкале анимации появляется метка-маркер ключевого кадра. Для перемещения между ключевыми кадрами анимации используется кнопка Key Mode Toggle (Переключение между ключевыми кадрами). Ключевыми кадрами можно управлять — изменять их положение, удалять, назначать группам объектов, корректировать параметры и т. д.

ПРИМЕЧАНИЕ

Изменять положение ключевых кадров можно непосредственно на шкале анимации. Для этого необходимо щелкнуть на ключевом кадре, который нужно передвинуть, и, удерживая левую кнопку мыши, изменить его положение на шкале.



Контроллеры анимации


В реальной жизни характер движения объектов и изменения каких-либо действий могут быть различными. Чтобы вам было понятнее, что имеется в виду, приведем следующий пример: представьте простую ситуацию, когда электрическая лампочка гаснет и загорается снова. Это несложное действие, однако, может происходить совершенно по-разному. Лампочка может плавно потухать до тех пор, пока перестанет излучать свет (вспомните освещение в театре), а затем так же плавно накаляться. В другом случае лампочка может потухнуть резко и так же резко зажечься вновь или плавно погаснуть и резко загореться. Как видите, существует большое количество вариантов того, как может происходить данное действие. Если создать подобную трехмерную сцену, то анимированным параметром будет яркость источника света.

Приведем другой пример: автомобиль подъезжает к столбу. Он может приближаться с некоторой постоянной скоростью, с ускорением или торможением. Если создать подобную трехмерную сцену, то анимированным параметром будут координаты объекта. При этом положение объекта в ключевых точках будет одинаковым, однако характер изменения параметра в каждом случае будет различным. Каждый ключевой кадр характеризуется двумя кривыми, которые определяют функциональные зависимости анимированного параметра на промежутке между текущим ключевым кадром и предыдущим, а также настоящим ключевым кадром и следующим.

Программа 3ds max 7 содержит так называемые контроллеры анимации, с помощью которых разработчик трехмерной графики может гибко управлять изменением анимированного параметра объектов.

Контроллеры анимации представляют собой заготовки зависимостей, согласно которым могут изменяться параметры. Задать характер протекания анимации можно двумя способами: при помощи окна Track View (Редактор треков), а также перейдя на вкладку Motion (Движение) на командной панели. В 3ds max 7 имеется семь основных заготовок, каждая из которых изменяет значение анимированного параметра следующим образом:

Smooth (Сглаженная) — плавно, данный тип функции выбран по умолчанию;

Step (Ступенчатая) — но ступенчатому графику;

Slow (Медленная) — с замедлением;

Fast (Быстрая) — с ускорением;

Linear (Линейная) — линейно;

Custom (Пользовательская) — позволяет установить форму кривой зависимости вручную;

Custom — Locked Handles (Пользовательская с закрепленными маркерами) — позволяет установить форму кривой зависимости вручную, с заблокированным положением маркеров.

ПРИМЕЧАНИЕ

Пример использования контроллеров в анимационной сцене рассмотрен в разд. «Урок 8. Создание анимированного вентилятора» данной главы.



Модуль Character Studio


В повседневной жизни наши движения настолько естественны и привычны, что мы не думаем, запрокинуть ли нам голову во время смеха или пригнуться, проходя под низким навесом.

Моделирование подобного поведения в трехмерной графике сопряжено с множеством трудностей, поэтому используется следующее: к телу человека подключается большое количество датчиков, которые фиксируют перемещение любой части тела в пространстве и подают соответствующий сигнал на компьютер. В свою очередь, компьютер обрабатывает полученную информацию и использует ее по отношению к некоторой модели. Такая технология называется Motion Capture.

Модуль Character Studio — это, пожалуй, самый мощный на сегодняшний день инструмент для работы с анимацией персонажей.

Начиная с седьмой версии 3ds max, Character Studio, который ранее существовал как дополнительный модуль, был интегрирован в пакет.

Character Studio содержит три модификатора:

Biped (Двуногий) — моделирует скелет практически любого двуногого создания и задает его поведение;

Physique (Телосложение) — с его помощью можно «надеть» оболочку на скелет;

Crowd (Толпа) — анимирует группы трехмерных персонажей, используя систему связей и поведения.

Имитация движения трехмерных персонажей в Character Studio производится по следующему принципу: сначала строится скелет, в котором иерархично взаимодействуют его составляющие — кости (Bones). Затем на скелет надевается оболочка (Skin).

Для построения скелета используется система костей Biped (Двуногий), а также любая трехмерная модель персонажа.

Новый объект создается нажатием на кнопку Biped (Двуногий), которая расположена на вкладке Create (Создание) командной панели в свитке Object Type (Тип объекта) категории Systems (Дополнительные инструменты). Создаваемый объект представляет собой скелет двуногого персонажа (рис. 4.23).

Рис. 4.23. Объект Biped (Двуногий)

Свиток Create Biped (Создание двуногого) содержит параметры (рис. 4.24) настройки анатомических особенностей модели. Строение скелета максимально упрощено. Например, кости рук и ног изображаются параллелепипедами (см. рис. 4.23).




Рис. 4.24. Свиток настроек Create Biped (Создание двуногого) на командной панели

Это объясняется тем, что для прорисовки движений любого персонажа требуется указать не все кости, а лишь те, которые составляют опорно-двигательный аппарат.

Среди прочих настроек системы костей Biped (Двуногий) можно выделить параметры, которые регулируют наличие или отсутствие костей рук, позволяют изменять от одного до пяти количество пальцев на руках и ногах, а также количество позвоночных и шейных костей. Помимо этого можно добавить нестандартные типы костей для персонажей с хвостом или гривой.

После создания скелета необходимо совместить его с оболочкой (трехмерной моделью персонажа) и подогнать их по размеру.

Для этого нужно выделить объект Bip01 и постараться совместить его с моделью персонажа. Можно сделать наоборот — совместить оболочку со скелетом.

ПРИМЕЧАНИЕ

Для выделения объекта Bip01 вызовите окно Select Objects (Выбор объектов) при помощи клавиши Н.

Следующая задача заключается в том, чтобы кости оказывались внутри оболочки и располагались там как можно более естественнее. Правдоподобность движений конечной модели персонажа будет зависеть от того, насколько тщательно удалось совместить все элементы скелета и внешней оболочки. Для соединения скелета и оболочки необходимо включить режим Figure Mode (Режим фигуры) в свитке Biped (Двуногий) вкладки Motion (Движение) (рис. 4.25) и, не выходя из него, поочередно выделять и перемещать составляющие скелета.



Рис. 4.25. Включение режима Figure Mode (Режим фигуры)

При включении этого режима на командной панели появится свиток Structure (Конструкция), в который из вкладки Create (Создание) переместятся настройки системы костей.

Поскольку скелет симметричен, часто приходится выполнять одни и те же действия. Например, нужно поднять правую руку, а потом точно так же — левую. Если в настройках объекта на вкладке Motion (Движение) развернуть свиток Track Selection (Выбор направления) (рис. 4.26) и нажать кнопку Symmetrical (Симметрично), то все действия, которые будет производить персонаж на экране, будут симметрично отображаться. Чтобы перейти к симметрично расположенной кости, нужно нажать кнопку Opposite (Противоположный) в свитке Track Selection (Выбор направления). Форма костей у любого существа своя, поэтому всякий раз нужно специально регулировать размеры (длину и толщину) каждой из них.





Рис. 4.26. Свиток настроек Track Selection (Выбор направления)

После того как будут правильно расположены скелет и внешняя оболочка, нужно перейти в режим Rubber Band Mode (Режим резиновой нити), щелкнув на соответствующей кнопке свитка Biped (Двуногий) (рис. 4.27).



Рис. 4.27. Включение режима Rubber Band Mode (Режим резиновой нити)

ПРИМЕЧАНИЕ

Чтобы открыть дополнительные параметры свитка Biped (Двуногий), щелкните на плюсике в его нижней части.

Находясь в режиме Rubber Band Mode (Режим резиновой нити), можно управлять формой отдельно взятой кости. Если попытаться переместить кость в окне проекции, то ее форма изменится, и она начнет вытягиваться так, как будто сделана из резины (отсюда следует название режима — rubber, от англ. резина). Величину элементов скелета можно изменять при помощи стандартной операции Scale (Масштабирование).

После подбора размеров нужно воспользоваться модификатором Physique (Телосложение). Применяется он к внешней оболочке будущего персонажа Character Studio. Оживление персонажей — процесс очень трудоемкий. Скелет двуногого существа состоит из иерархично связанных компонентов, поэтому удобнее присоединять к нему не сразу всю оболочку, а отдельные компоненты (конечно, если позволяет сцена), то есть сначала руки и плечи, затем ноги, а в конце — все остальное.

В свитке Physique (Телосложение) настроек модификатора есть кнопка Attach to Node (Присоединить к оболочке). После нажатия этой кнопки выбирается элемент скелета, главный в той группе костей, на которую надевается внешняя оболочка.

На экране появится окно Physique Initialization (Условия составления телосложения) (рис. 4.28). Модификатор Physique (Телосложение) но своему принципу действия напоминает модификатор Skin (Кожа). В месте, где кожа изгибается, вокруг выбранной кости будет построена огибающая в форме капсулы.



Рис. 4.28. Окно Physique Initialization (Условия составления телосложения)

Вершины той части оболочки, которая охвачена огибающей, в окне проекции окрасятся в разные цвета. Цвета вершин символизируют степень воздействия на них перемещений текущей кости.



Огибающая состоит из внешнего и внутреннего контура, а также содержит два поперечных сечения в форме кругов. Чтобы модифицировать характер сгиба оболочки, нужно изменить размер сечений огибающей или настроить степень воздействия на вершины перемещения кости.

Окно Physique Initialization (Условия составления телосложения) содержит несколько свитков с параметрами, которые определяют начальные настройки огибающей. Здесь необходимо нажать кнопку Initialize (Составить), затем перейти на вкладку Motion (Движение) командной панели. Нажав на кнопку Load File (Загрузить файл), можно загрузить файл, в котором хранится информация о движении скелета (предварительно необходимо отключить режим Figure Mode) (Режим фигуры). Данный файл имеет расширение BIP, его можно найти среди разнообразных примеров, предложенных разработчиками 3ds max 7.

Результат действий будет виден сразу после нажатия кнопки Biped Playback (Воспроизведение движений) в свитке Biped (Двуногий) вкладки Motion (Движение).

В этом случае двигаться будет только схематично нарисованный персонаж. Анимацию можно проиграть также, нажав кнопку Play Animation (Воспроизвести анимацию) — при этом будет видна вся анимация без упрощения. Двуногий человечек совершает определенные действия: прохаживается, размахивает руками и выполняет другие действия.

Однако такая оболочка хоть и будет «одета», но будет иметь множество недостатков. Во-первых, есть большая вероятность того, что некоторые вершины не попадут под действие огибающей, поэтому на экране форма оболочки сильно исказится (будет выглядеть, как будто она прибита гвоздями к полу). Во-вторых, несмотря на все усилия, не получится добиться правильного соотношения размеров скелета И оболочки.

Чтобы исправить первый недостаток, нужно перейти на вкладку Modify (Изменение) командной панели, щелкнуть на значке плюса возле названия модификатора Physique (Телосложение) и переключиться в режим редактирования подобъектов Vertex (Вершина). На командной панели появится свиток Link-Assignment (Назначение связи) (рис. 4.29).





Рис. 4.29. Режим редактирования подобъектов Vertex (Вершина) модификатора Physique (Телосложение)

Чтобы убрать «прибитые гвоздями» вершины, нужно нажать кнопку Select (Выбрать) и выделить их в сцене. Затем необходимо нажать кнопку Assign to Link (Назначить связь) и указать, на какой кости будут закреплены выбранные вершины.

Можно также совершить обратную операцию: выбрать вершины при помощи кнопки Select (Выбрать), после чего нажать кнопку Remove from Link (Удалить связь) и указать элемент, с которым желательно удалить связи.

Для решения второй проблемы необходимо щелкнуть на плюсике возле названия модификатора Physique (Телосложение) и переключиться в режим редактирования подобъектов Envelope (Огибающая) (рис. 4.30).



Рис. 4.30. Режим редактирования подобъектов Envelope (Огибающая) модификатора Physique (Телосложение)

После этого оболочку можно будет редактировать на уровне огибающей. Чтобы при проигрывании анимации общий скелет не был виден, можно пойти двумя путями.

Самый простой — установить флажок Hide Attached Nodes (Скрыть присоединенные вершины) в свитке Physique Level of Detail (Уровень детализации) настроек модификатора Physique (Телосложение).

Другой метод — выделить скелет, нажать правую кнопку мышки, выбрать строку Properties (Свойства) и в окне настроек объекта установить параметр Visibility (Видимость) равным нулю (рис. 4.31).



Рис. 4.31. Диалоговое окно Object Properties (Свойства объекта)

Когда настройка модификатора Physique (Телосложение) будет завершена, результат можно сохранить с расширением PHY, нажав кнопку Save Physique File (Сохранить файл) в свитке Physique (Телосложение). Таким же образом при помощи кнопки Open Physique File (Открыть файл) в дальнейшем его можно открыть, чтобы использовать в других проектах.

При помощи модуля Character Studio можно также смоделировать ходьбу персонажа по нарисованным следам, расположение которых вы указываете сами. При этом результат сохраняется/загружается в файле с расширением STP.

ПРИМЕЧАНИЕ

Пример использования Character Studio подробно рассмотрен в разд. «Урок 10. Персонажная анимация» данной главы.


Модуль Particle Flow


Модуль Particle Flow ранее являлся дополнительным модулем и был интегрирован в 3ds max шестой версии. Particle Flow — это мощный модуль для работы с частицами. До его появления в 3ds max существовали системы частиц, с их помощью можно было создавать несложные эффекты. Были и дополнительные модули для работы с частицами, например Digimation Particle Studio и Cebas Thinking Particles. Однако возможности Particle Flow значительно шире. При помощи этого модуля можно создать практически любой эффект, связанный с частицами, — брызги воды, разбивание объекта на мелкие части, сноп искр и др.

Для начала работы с Particle Flow необходимо перейти на вкладку Create (Создание) командной панели в категорию Geometry (Геометрия), выбрать строку Particle Systems (Системы частиц) и нажать кнопку PF Source (Источник Particle Flow). Этот объект представлен в окне проекции пиктограммой. В его настройках (рис. 4.19) есть кнопка Particle View (Представление частиц), которая вызывает окно для работы с модулем (рис. 4.20).

Рис. 4.19. Настройки объекта PF Source (Источник Particle Flow)

Рис. 4.20. Окно Particle View (Представление частиц)

Окно Particle View (Представление частиц) можно условно разделить на четыре части. Основную часть окна занимает диаграмма, отображающая процесс создания эффекта в сцене. В нижней части окна расположены доступные средства для описания эффекта. При добавлении эффектов в общую диаграмму можно просмотреть их описание в правой нижней части окна Particle View (Представление частиц). Наконец, в правой верхней части окна отображаются настройки каждого компонента диаграммы. Изменяя их, можно редактировать эффект. При использовании модуля Particle Flow употребляют следующие термины. Действия, которые происходит с частицами, называются событиями (Events). Средства для описания эффекта — операторы (Operators) и критерии (Tests). Каждое событие состоит из группы операторов и критериев.

Операторы определяют поведение частиц в событии. При помощи операторов можно указать изменение формы, цвета, скорости движения, размера, материала частиц и т. д. Критерии нужны для связывания нескольких событий в одном эффекте. Они указывают на то, при каком условии состоится переход от одного события к другому. Например, критерий Age Test (Критерий возраста) будет означать, что частицы перейдут к другому событию, достигнув заданного возраста.


Чтобы добавить оператор или критерий в событие, нужно перетащить значок оператора или критерия на диаграмму. Если перетащить оператор или критерий на пустую область, то будет создано новое событие. Если событие происходит в определенном направлении, то оно (направление) задается стрелками на диаграмме. Чтобы указать направление, нужно щелкнуть мышью на выступе диаграммы события, который расположен напротив критерия, и перетащить этот выступ на мишень в верхней части второго события. При этом курсор изменит форму (рис. 4.21). На то, что события связаны, будет указывать соединяющая их синяя линия, которая появится сразу после того, как вы отпустите кнопку мыши.



Рис. 4.21. Связывание событий

Каждое событие можно на время отключить, то есть сделать неактивными все его операторы. Для этого служит кнопка в виде лампочки в правом верхнем углу события.

Если эффект, создаваемый средствами Particle Flow, сложный, то диаграмма будет достаточно большой. Чтобы было легче управлять событиями эффекта, можно увеличить область окна с диаграммой, растянув его мышью.

Для управления видом содержимого окна Particle View (Представление частиц) можно также использовать кнопки, расположенные в его правом нижнем углу (рис. 4.22):



Рис. 4.22. Кнопки управления видом содержимого окна Particle View (Представление частиц)

Pan (Прокрутка);

Zoom (Масштаб);

Zoom Region (Масштаб выбранного участка диаграммы);

Zoom Extents (Масштаб всей диаграммы в пределах вида окна);

No Zoom (Отмена масштабирования).

ПРИМЕЧАНИЕ

Пример использования Particle Flow подробно рассмотрен в разд. «Урок 9. Работа с модулем Particle Flow» данной главы.


это одна из функций 3ds


Создание динамических характеристик — это одна из функций 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).



Рис. 4.15. Панель reactor

Создание сцены при помощи модуля 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.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 (Информация о взаимодействиях) с информацией о взаимодействии всех твердых тел в процессе просчета

ПРИМЕЧАНИЕ

Примеры использования модуля reactor 2 рассмотрены в разд. «Урок 11. Работа с reactor 2» данной главы.


Общие сведения о трехмерной анимации


Создание трехмерной анимации — это интересный, но в то же время трудоемкий процесс. Анимировать в трехмерной сцене можно все — от источников света и камер, до любых объектов и эффектов. Каждая создаваемая в программе анимация использует так называемые ключевые кадры, которые содержат информацию обо всех параметрах анимации.

В 3ds max 7 можно анимировать любые характеристики всех объектов: примитивов, источников света, камер, вспомогательных объектов и др. Задавая значения параметров объектов в ключевых кадрах, вы можете сделать так, чтобы объекты перемещались в сцене, изменяли текстуру, увеличивались или уменьшались в размерах и т. д. Анимированная камера позволяет добиться эффекта присутствия в сцене и получить вид, раскрывающийся перед глазами персонажа.

ПРИМЕЧАНИЕ

Подробнее о виртуальных камерах читайте в гл. 6.

Простейший тип анимации — перемещение объектов в трехмерной сцене. При этом изменяющимся параметром являются координаты положения объекта. Их необязательно задавать вручную. При включенном режиме автоматического создания ключевых кадров 3ds max 7 автоматически фиксирует параметры объекта в текущем ключевом кадре. Например, передвинув в окне проекции на 48 кадре трехмерное тело, вы укажете программе конечные координаты модели.

Анимационные эффекты могут быть самыми разнообразными: игра теней и света, движение объектов в виртуальном пространстве, анодированные эффекты постобработки, деформирующаяся поверхность и т. д.



Окно Parameter Collector (Коллектор параметров)


Для более удобного создания анимации в 3ds max 7 появилась новое окно — Parameter Collector (Коллектор параметров). Благодаря ему вы сможете гораздо быстрее управлять свойствами объектов.

При работе с анимированной сценой, содержащей большое количество объектов, часто бывает неудобно изменять их параметры. Например, на определенном кадре нужно изменить положение одного объекта, другой повернуть, для третьего подобрать новые настройки материала. В таком случае утомительно переключаться между свойствами объектов и окнами модулей 3ds max.

В окно Parameter Collector (Коллектор параметров) можно вынести все настройки, необходимые вам для работы с объектами сцены. Это могут быть как параметры объектов, так и настройки примененных к ним модификаторов, материалов и т. д.

Для вызова окна Parameter Collector (Коллектор параметров) выполните команду Animation > Parameter Collector (Анимация > Коллектор параметров) (рис. 4.4) или воспользуйтесь сочетанием клавиш Alt+2.

Рис. 4.4. Выполнение команды Animation > Parameter Collector (Анимация > Коллектор параметров)

В появившемся окне Parameter Collector (Коллектор параметров) необходимо нажать кнопку Add to New Rollout (Добавить в новый свиток) (рис. 4.5),

Рис. 4.5. Кнопка Add to New Rollout (Добавить в новый свиток) в окне Parameter Collector (Коллектор параметров)

после чего на экране возникнет окно Track View Pick (Окно треков) (рис. 4.6). В нем в виде иерархичного списка отображены все объекты сцены и их параметры.

Рис. 4.6. Окно Track View Pick (Окно треков)

В этом окне нужно выбрать необходимый параметр и нажать кнопку ОК — параметр перенесется в окно Parameter Collector (Коллектор параметров). Как показано на рис. 4.7, в одном свитке могут быть собраны самые разные параметры: настройки размера объекта, его положения в пространстве и т. д.

Рис. 4.7. Окно Parameter Collector (Коллектор параметров) с добавленными параметрами

Настройки, занесенные в отдельный свиток, можно изменять одновременно. Для этого необходимо нажать на одну из кнопок выбора параметра, расположенных рядом с каждой настройкой (рис. 4.8). После этого кнопка станет желтой.

Рис. 4.8. Кнопка выбора параметра

В окне Parameter Collector (Коллектор параметров) можно создавать любое количество свитков с настройками (естественно, в разумных переделах), после чего объединять их в группы. Для формирования группы необходимо дать ей название, набрав его в соответствующем поле и завершив ввод с помощью клавиши Enter. При этом станет активной кнопка New Collection (Новая группа), нажав которую можно перейти к созданию следующей группы. Переключаться между группами параметров можно при помощи раскрывающегося списка (рис. 4.9).

Рис. 4.9. Список переключения между группами параметров



Окно Parameter Editor (Редактор параметров)


Еще одно окно, с помощью которого можно сделать удобнее управление объектами сцены, — Parameter Editor (Редактор параметров). Это еще одно нововведение 3ds max 7. При помощи данного окна можно составлять группы параметров, которыми характеризуется тот или иной объект в сцене, и добавлять их к настройкам объекта или примененного к нему модификатора на командной панели, а также к настройкам используемого материала.

Для вызова окна Parameter Editor (Редактор параметров) выполните команду Animation > Parameter Editor (Анимация > Редактор параметров) (рис. 4.10) или воспользуйтесь сочетанием клавиш Alt+1.

Рис. 4.10. Выполнение команды Animation > Parameter Editor (Анимация > Редактор параметров)

Для добавления нового параметра сделайте следующее.

В списке Add to Type (Добавить к типу) появившегося окна Parameter Editor (Редактор параметров) (рис. 4.11) укажите, куда необходимо добавить параметр.

Рис. 4.11. Окно Parameter Editor (Редактор параметров)

Укажите тип параметра в списке Parameter Type (Тип параметра) (рис. 4.12).

Рис. 4.12. Список Parameter Type (Тип параметра)

Укажите тип управления параметром в списке UI Туре (Тип управления). В зависимости от того, какой параметр вы выберете в списке Parameter Type (Тип параметра), доступные варианты управления будут различаться (рис. 4.13).

Рис. 4.13. Список UI Туре (Тип управления)

В поле Name (Имя) введите название параметра.

Нажмите кнопку Add (Добавить) для добавления параметра.

Переключитесь в настройки объекта (модификатора или материала) и убедитесь, что параметр добавлен в свиток Custom Attributes (Настройки пользователя) (рис. 4.14).

Рис. 4.14. Настройки объекта Torus (Top) после добавления пользовательских параметров



Окно Time Configuration (Конфигурация времени)


По умолчанию продолжительность создаваемой в 3ds max 7 анимации равна 101 кадру при формате создаваемого видео NTSC (29,97 кадров в секунду). При таких настройках можно создать анимацию продолжительностью около трех секунд. В процессе работы может понадобиться изменить эти и другие настройки анимации.

Чтобы установить параметры отображения анимации в окне проекции, используйте диалоговое окно Time Configuration (Конфигурация времени), которое вызывается при помощи одноименной кнопки, расположенной под кнопками управления анимацией (рис. 4.2).

Рис. 4.2. Кнопка Time Configuration (Конфигурация времени)

В окне Time Configuration (Конфигурация времени) (рис. 4.3) можно установить следующие параметры: формат видео (Pal/NTSC), количество кадров в секунду (FPS), способ отображения информации о времени на ползунке анимации, время начала и конца анимации, продолжительность анимации и др.

Рис. 4.3. Диалоговое окно Time Configuration (Конфигурация времени)

ПРИМЕЧАНИЕ

Пример создания анимационной сцены в 3ds max рассмотрен в разд. «Урок 7. Создание простейшей анимации» данной главы. Вы можете узнать больше об анимировании различных характеристик объектов, если запустите файл video4_1.avi, который находится на прилагаемом к книге компакт-диске в папке ch04/Videotutors.



Падение тел


Попробуем создать падение тел при помощи модуля reactor 2. В этом примере будем работать с группами объектов Rigid Bodies (Твердые тела) и Soft Bodies (Гибкие тела). Несложно догадаться, что падающий объект будет гибким, а объект, на который он будет падать, — твердым. Для создания твердого тела используем объект Quad Patch (Четырехугольный фрагмент), для создания гибкого — стандартный примитив Teapot (Чайник).

Перейдите на вкладку Create (Создание) командной панели, в категории Geometry (Геометрия) выберите строку Patch Grids (Патч-поверхности) и нажмите кнопку Quad Patch (Четырехугольный фрагмент).

Переключитесь на вкладку Modify (Изменение) командной панели и установите для созданного объекта достаточные параметры Width (Ширина) и Length (Длина).

Создайте в окне проекции чайник, для чего перейдите на вкладку Create (Создание) командной панели, в категории Geometry (Геометрия) выберите строку Standard Primitives (Стандартные примитивы) и нажмите кнопку Teapot (Чайник). Расположите этот объект над поверхностью.

На панели инструментов reactor нажмите кнопку Create Rigid Body Collection (Создать группу твердых тел) (рис. 4.79).

Рис. 4.79. Кнопка Create Rigid Body Collection (Создать группу твердых тел) на панели инструментов reactor

В настройках этого вспомогательного объекта нажмите кнопку Pick (Занести), а затем выделите объект Quad Patch (Четырехугольный фрагмент). Вы увидите, что объект занесен в список твердых тел (рис. 4.80).

Рис. 4.80. Свиток RB Collection Properties (Свойства группы твердых тел) настроек вспомогательного объекта Rigid Body Collection (Группа твердых тел)

СОВЕТ

Если перед нажатием кнопки Create Rigid Body Collection (Создать группу твердых тел) выделить объект Quad Patch (Четырехугольный фрагмент), то он будет занесен в список твердых тел автоматически.

Теперь преобразуем чайник в Soft Bodies (Гибкие тела). Выделите объект Teapot (Чайник), перейдите на вкладку Modify (Изменение) командной панели и выберите из списка Modifier List (Список модификаторов) модификатор FFD 4x4x4.


Это модификатор нужен для того, чтобы при падении чайник правильно деформировался (рис. 4.81).



Рис. 4.81. Чайник после применения модификатора FFD 4x4x4

Теперь применим к чайнику еще один модификатор — reactor SoftBody. Сделать это можно, выбрав модификатор из списка Modifier List (Список модификаторов) или же нажав кнопку Apply reactor SoftBody Modifier (Применить модификатор reactor SoftBody) на панели инструментов reactor.

В свитке Properties (Свойства) настроек модификатора задайте следующие значения: Mass (Масса тела) — 1, Stiffness (Жесткость) — 0,18, Damping (Амортизация тела) — 0,2, Friction (Коэффициент трения) — 0,5.

Установите переключатель в положение FFD Based (На основе FFD) (рис. 4.82).



Рис. 4.82. Настройки модификатора reactor SoftBody

ПРИМЕЧАНИЕ

Одним из преимуществ и одновременно недостатков модуля reactor 2 является очень большое количество настроек, в которых легко запутаться даже опытному пользователю. По этой причине при моделировании удобно использовать основные параметры из файлов примеров, входящих в поставку подключаемого модуля.

На панели инструментов reactor нажмите кнопку Create Soft Body Collection (Создать группу гибких тел). В настройках этого вспомогательного объекта нажмите кнопку Pick (Занести), а затем выделите объект Teapot (Чайник). Вы увидите, что объект занесен в список гибких тел (рис. 4.83).



Рис. 4.83. Свиток Properties (Свойства) настроек вспомогательного объекта Soft Body Collection (Группа твердых тел)

СОВЕТ

Если перед нажатием кнопки Create Soft Body Collection (Создать группу гибких тел) выделить объект Teapot (Чайник), то он будет занесен в список гибких тел автоматически.

Выделите объект Quad Patch (Четырехугольный фрагмент). Перейдите на вкладку Utilities (Утилиты) командной панели и нажмите кнопку reactor. В свитке Properties (Свойства) установите переключатель в положение Use Mesh (Использовать оболочку). В свитке Preview & Animation (Предварительный просмотр и анимация) нажмите кнопку Create Animation (Создание анимации) (рис. 4.84).





Рис. 4.84. Настройки модуля reactor

Если в свитке Utils (Утилиты) установлен флажок Analyze Before Simulation (Проанализировать перед просчетом), то программа сначала проведет анализ задачи и, если ошибок не будет, начнет просчет. В противном случае она выдаст сообщение, например, о том, что тело не относится к группе Soft Body Collection (Группа гибких тел) (рис. 4.85).



Рис. 4.85. Ошибка, найденная программой в текущей сцене

При отсутствии ошибок программа начнет просчет анимационной сцены. Если в свитке Preview & Animation (Предварительный просмотр и анимация) установить флажок Update Viewports (Обновлять вид в окнах проекций), то на протяжении просчета вы сможете наблюдать изменение положения объектов в сцене. После обработки данных можно будет воспроизвести анимацию. Для падающего тела будет создано большое количество ключевых кадров. Полученная анимация будет выглядеть следующим образом: чайник, падая, немного деформируется так. будто он резиновый, подпрыгнет и снова упадет.

ПРИМЕЧАНИЕ

Готовый файл сцены находится на прилагаемом к книге компакт-диске в папке ch04/Examples. Файл сцены называется Урок11_1.max. Вы можете посмотреть, как при помощи модуля reactor 2 взаимодействуют падающие тела, запустив файл video4_2.avi, который находится на прилагаемом к книге компакт-диске в папке ch04/Videotutors.


Создание воды


Процесс создания трехмерного изображения воды при помощи модуля reactor 2 очень удачно реализован. Путем несложных операций можно быстро и легко смоделировать реалистичную водную поверхность. Насколько это просто, судите сами. Создайте в окне проекции объект Plane (Плоскость). Нажмите кнопку Create Water (Создать воду) (рис. 4.86) на панели инструментов reactor и создайте объемную деформацию в окне проекции.

Рис. 4.86. Кнопка Create Water (Создать воду) на панели инструментов reactor

ПРИМЕЧАНИЕ

Объемную деформацию Water (Вода) можно создать также, нажав одноименную кнопку в списке reactor категории Space Warps (Объемные деформации) на вкладке Create (Создание) командной панели (рис. 4.87).

Рис. 4.87. Кнопка Water (Вода) в списке reactor категории Space Warps (Объемные деформации)

Нажмите кнопку Bind to Space Warp (Связать с объемной деформацией) на основной панели инструментов (рис. 4.88), щелкните на созданной объемной деформации Water (Вода) и, не отпуская кнопку мыши, переместите указатель мыши на объект Plane (Плоскость). Вода готова. Когда объект будет связан с объемной деформацией, он на одну секунду подсветится.

Рис. 4.88. Кнопка Bind to SpaceWarp (Связать с объемной деформацией) на основной панели инструментов

Чтобы на плоскости появились искажения, характерные для водном поверхности, постарайтесь, чтобы объемная деформация и объект Plane (Плоскость) совпадали по размеру, а также по расположению (рис. 4.89).

Рис. 4.89. Расположение объекта Plane (Плоскость) и объемной деформации Water (Вода) в окнах проекций

Чтобы убедиться, что созданный объект имеет все свойства воды, необходимо создать некий объект типа Rigid Body (Твердое тело) и «бросить» его в воду. Создайте в окне проекции объект, например стандартный примитив Teapot (Чайник), и расположите его над поверхностью воды.

На панели инструментов reactor нажмите кнопку Create Rigid Body Collection (Создать группу твердых тел). В настройках этого вспомогательного объекта нажмите кнопку Pick (Занести), а затем выделите объект Teapot (Чайник). Объект будет занесен в список твердых тел (рис. 4.90).




Рис. 4.90. Свиток RB Collection Properties ( Свойства группы твердых тел) настроек вспомогательного объекта Rigid Body Collection (Группа твердых тел)

СОВЕТ

Если перед нажатием кнопки Create Rigid Body Collection (Создать группу твердых тел) выделить объект Teapot (Чайник), то он автоматически будет занесен в список твердых тел.

Чтобы деформация воды при падении в нее объекта была лучше заметна, тело нужно сделать тяжелым. Выделите объект Teapot (Чайник). Перейдите на вкладку Utilities (Утилиты) командной панели и нажмите кнопку reactor.

В свитке Properties (Свойства) укажите значение параметра Mass (Масса объекта) равной 50 (рис. 4.91).



Рис. 4.91. Свиток Properties (Свойства) настроек модуля reactor

Теперь необходимо настроить объект Water (Вода). Он содержит следующие параметры:

Subdivisions X (Разбиение по оси X) и Subdivisions Y (Разбиение по оси Y) — чем больше значение данных параметров, тем более точно просчитывается поверхность;

Wave Speed (Скорость волн);

Min Ripple (Минимальное искажение) и Max Ripple (Максимальное искажение) — задают рябь на поверхности воды;

Density (Плотность) — определяет плотность жидкости;

Viscosity (Вязкость) — при изменении значения данного параметра жидкость может превратиться, например, из воды в клей;

Landscape (Отражение) — если задействовать эту функцию и выбрать какое-нибудь тело, относящееся к группе Rigid Body (Твердое тело), то волны, наталкиваясь на него, будут отражаться.

Чтобы на водной поверхности возникли искажения, увеличьте значения параметров Min Ripple (Минимальное искажение) и Max Ripple (Максимальное искажение) в 10 раз, а также уменьшите параметр Density (Плотность) до 0,7.

В свитке Preview & Animation (Предварительный просмотр и анимация) настроек модуля reactor нажмите кнопку Create Animation (Создание анимации). Если в свитке Utils (Утилиты) установлен флажок Analyze Before Simulation (Проанализировать перед просчетом), то программа сначала проведет анализ задачи и, если ошибок не будет, начнет просчет.



В противном случае она выдаст сообщение, например, о том, что тело не относится к группе Soft Body Collection (Группа гибких тел).

При отсутствии ошибок программа начнет просчет анимационной сцены. Если в свитке Preview & Animation (Предварительный просмотр и анимация) установлен флажок Update Viewports (Обновлять вид в окнах проекций), то на протяжении просчета вы сможете наблюдать изменение положения объектов в сцене. После обработки данных можно будет воспроизвести анимацию.

Полученная анимация будет выглядеть следующим образом: чайник падает в воду и деформирует ее поверхность — от упавшего объекта расходятся волны.

СОВЕТ

Чтобы созданная сцена не казалась безжизненной, ее можно наполнить какими-нибудь воздействиями (Action), например, добавить в нее Wind (Ветер).

ПРИМЕЧАНИЕ

Готовый файл сцены находится на прилагаемом к книге компакт-диске в папке ch04/Examples. Файл сцены называется Урок11_2.тах.


Тип воздействия Fracture (Разрушение)


В этом примере рассмотрим работу с одним из самых интересных типов Actions (Воздействия), с которым работает модуль reactor, — Fracture (Разрушение). Его задача — облегчить моделирование сцены, иллюстрирующей разрушение объекта. Например, при помощи Fracture (Разрушение) можно смоделировать сцену, в которой падающая с большой высоты табуретка разлетается на части, ударившись о землю.

Попробуем создать подобную сцену. Табурет сделаем из пяти примитивов Box (Параллелепипед), четыре из которых будут исполнять роль ножек, а пятый — сидения (рис. 4.92).

Рис. 4.92. Табурет, созданный из параллелепипедов

Теперь необходимо сделать плоскость, на которую будет падать объект. Создайте в окне проекции объект Plane (Плоскость). На панели инструментов reactor нажмите кнопку Create Rigid Body Collection (Создать группу твердых тел). В настройках этого вспомогательного объекта нажмите кнопку Pick (Занести), а затем выделите объект Plane (Плоскость). Вы увидите, что объект занесен в список твердых тел. Выделите также все объекты, составляющие табурет, и занесите их в этот список.

ВНИМАНИЕ

Элементы, составляющие табурет, группировать не надо — Fracture (Разрушение) не работает со сгруппированными объектами.

Затем на панели инструментов reactor нажмите кнопку Create Fracture (Разрушить) (рис. 4.93).

Рис. 4.93. Кнопка Create Fracture (Разрушить) на панели инструментов reactor

В настройках этого вспомогательного объекта нажмите кнопку Pick (Занести), а затем выделите все объекты Box (Параллелепипед), составляющие табурет (рис. 4.94).

Рис. 4.94. Свиток Properties (Свойства) настроек вспомогательного объекта Fracture (Разрушение)

СОВЕТ

Если перед нажатием кнопки Create Fracture (Разрушение) выделить все объекты Box (Параллелепипед), то они автоматически будут занесены в список тел, подвергающихся воздействию.

Настройки разбиения объектов находятся в свитке Properties (Свойства) вспомогательного объекта Fracture (Разрушение). Для каждого элемента, занесенного в список воздействия, можно указать один из четырех вариантов разбиения:


Normal (Обычный) — при некотором значении импульса элемент «отламывается»;

Unbreakable (Неразбивающийся) — элемент останется целым:

Keystone (Основа) — если импульс в момент удара будет достаточен для того, чтобы элемент был разрушен, то разломается все тело;

Break at time (Разбить в указанное время) — элемент будет разрушен в указанное пользователем время.

Основные параметры разбиения — это Impulse (Импульс соударения) и Energy Loss (Потеря энергии), характеризующий величину потери энергии при ударе. Укажем для всех элементов вариант разбиения Normal (Обычный), остальные настройки оставим по умолчанию. Каждому элементу табурета необходимо задать массу 11 кг. Для этого необходимо выделить объект, перейти на вкладку Utilities (Утилиты) командной панели и нажать кнопку reactor. Затем в свитке Properties (Свойства) указать значение параметра Mass (Масса объекта).

ПРИМЕЧАНИЕ

В 3ds max 7 довольно часто встречаются физические величины. На первый взгляд, это усложняет работу, потому что не всегда на глаз можно определить, например, коэффициент трения или величину потерь энергии при ударе. Однако, с другой стороны, появляется возможность точно описать физическую задачу.

Перейдите к свитку Preview & Animation (Предварительный просмотр и анимация). В процессе работы над сложной сценой удобно использовать команду Preview in Window (Предварительный просмотр в оконном режиме). При ее выполнении появляется окно, внутри которого будет аппаратно визуализирован первый кадр (рис. 4.95). Чтобы проиграть анимацию, нужно в раскрывающемся списке Simulation (Имитация) выбрать строку Play/Pause (Проиграть/Пауза). Здесь же можно указать прорисовку сетчатой поверхности для каждого объекта, по которой модуль просчитывает взаимодействия.



Рис. 4.95. Окно reactor Real-Time Preview (Предварительный просмотр в реальном времени)

Если результат, который вы видите в окне предварительного просмотра, вас устраивает, нажмите кнопку Create Animation (Создание анимации). Если же в свитке Utils (Утилиты) установлен флажок Analyze Before Simulation (Проанализировать перед просчетом), то программа сначала проведет анализ задачи и, если ошибок не будет, начнет просчет. В противном случае она выдаст сообщение, например, о том, что тело не относится к группе Soft Body Collection (Группа гибких тел) (см. рис. 4.85).

При отсутствии ошибок программа начнет просчет анимационной сцены. Если в свитке Preview & Animation (Предварительный просмотр и анимация) установлен флажок Update Viewports (Обновлять вид в окнах проекций), то на протяжении просчета вы сможете наблюдать изменение положения объектов в сцене. После обработки данных можно будет воспроизвести анимацию. Полученная анимация будет выглядеть следующим образом: табуретка летит, падает на плоскость и разбивается.

ПРИМЕЧАНИЕ

Готовый файл сцены содержится на прилагаемом к книге компакт-диске в папке ch04/Examples. Файл сцены называется Урок11_3.тах.


Создание простейшей анимации


Прежде чем приступить к созданию полноценного анимационного проекта, предлагаем вам немного потренироваться на примере простейшей сцены.

Создайте в окне проекции чайник, для чего перейдите на вкладку Create (Создать) командной панели, в категории Geometry (Геометрия) выберите строку Standard Primitives (Стандартные примитивы) и нажмите кнопку Teapot (Чайник). Удобнее работать с одним окном проекции, а не с четырьмя сразу, поэтому разверните окно Perspective (Перспектива) во весь экран при помощи сочетания клавиш Alt+W.

Объект, созданный по умолчанию, состоит из небольшого количества полигонов, поэтому выглядит угловато. Если вы повращаете чайник, то обратите внимание, что носик не ровный, а с изломами. Чтобы это исправить, перейдите на вкладку Modify (Изменение) командной панели и в свойствах объекта (рис. 4.32) увеличьте параметр Segments (Количество сегментов).

Рис. 4.32. Настройки объекта Teapot (Чайник)

Теперь можно приступить к созданию анимации. Используя модификатор Slice (Срез), вы сможете создать видео, на котором чайник будет постепенно появляться. Выделите объект, перейдите на вкладку Modify (Изменение) командной панели, выберите из списка Modifier List (Список модификаторов) модификатор Slice (Срез). Этот модификатор разделяет объект условной плоскостью и отсекает его часть.

В нашем случае в настройках модификатора нужно указать параметр Remove Top (Отсечение верхней части) (рис. 4.33). При этом объект исчезнет, так как по умолчанию плоскость лежит в его основании.

Рис. 4.33. Настройки модификатора Slice (Срез)

Для создания анимации переключитесь в режим ключевых кадров, нажав на кнопку Auto Key (Автоключ) под шкалой анимации внизу экрана (рис. 4.34).

Рис. 4.34. Кнопка Auto Key (Автоключ)

При этом область, по которой передвигается ползунок анимации, окрасится в красный цвет. Передвиньте ползунок анимации на сотый кадр (в крайнее правое положение) (рис. 4.35), разверните список модификатор Slice (Срез) в стеке, щелкнув на значке плюса рядом с его названием, и перейдите в режим редактирования Slice Plane (Поверхность среза) (рис. 4.36).



Рис. 4.35. Изменение положение ползунка анимации

Рис. 4.36. Режим редактирования Slice Plane (Поверхность среза)
Теперь вы сможете переместить плоскость, отсекающую объект, вдоль оси Z вверх так, чтобы чайник стал виден полностью (рис. 4.37). Если воспроизвести анимацию, нажав на кнопку Play Animation (Воспроизвести анимацию) (рис. 4.38), то в окне проекции можно будет увидеть, как чайник постепенно появляется.

Рис. 4.37. Перемещение поверхности срезу вверх по оси Z

Рис. 4.38. Кнопка Play Animation (Воспроизведение анимации)
ПРИМЕЧАНИЕ
Готовый файл сцены находится на прилагаемом к книге компакт-диске в папке chO4/Examples. Файл сцены называется Урок7.тах.
Теперь вы знаете, как в 3ds max 7 создается простейшая анимация. Программа автоматически просчитывает значение параметра во всех промежуточных кадрах, заключенных между двумя ключевыми кадрами. Однако создание анимации — это гораздо более сложный процесс, чем может показаться на первый взгляд. Попробуйте, например, создать анимационную сцену с каким-нибудь вращающимся объектом, например Teapot (Чайник). Включите режим автоматического создания ключевых кадров, передвиньте ползунок анимации в крайнее правое положение, после чего поверните чайник вокруг некоторой оси.
Если теперь воспроизвести в окне проекции полученную анимацию, то можно увидеть, что скорость, с которой трехмерная модель будет совершать вращение, непостоянна. Причина кроется в том, что анимированный параметр не является линейно зависимым по отношению к выбранному по умолчанию контроллеру вращения, поэтому объект при вращении ускоряется, а затем замедляется. Чтобы можно было изменить характер зависимости анимированного параметра, необходимо щелкнуть правой кнопкой мыши на ключевом кадре на шкале анимации и выбрать ключ параметра, характеристики которого необходимо изменить (рис. 4.39).

Рис. 4.39. Выбор ключа параметра, характеристики которого необходимо изменить
Далее в окне изменения характеристик параметра укажите один из семи вариантов функциональных зависимостей анимированного параметра (рис. 4.40) от контроллера, например Linear (Линейный).

Рис. 4.40. Выбор варианта функциональной зависимости анимированного параметра
Попробуйте теперь проиграть анимацию. Вы увидите, что чайник вращается с постоянной угловой скоростью.
Подведем итоги — в этом уроке вы научились:
создавать анимацию в режиме ключевых кадров;
проигрывать анимацию в окне проекции;
изменять функциональную зависимость анимированного параметра;
использовать модификатор Slice (Срез);
работать в режиме редактирования подобъектов модификатора Slice (Срез).
Вы также закрепили навыки, которые касаются:
применения к объектам модификаторов;
установки настроек модификаторов.

Создание анимированного вентилятора


В прошлой главе мы рассмотрели пример моделирования напольного вентилятора. В этом уроке мы покажем, как создать анимацию, в которой вентилятор будет работать.

ПРИМЕЧАНИЕ

Для выполнения этого урока откройте файл, созданный при выполнении четвертого урока (см. гл. 3), или файл с прилагаемого к книге компакт-диска Урок4_2.тах. Он находится в папке ch03/Examples.

Сначала разберемся, какие детали вентилятора будет принимать участие в анимации: это лопасти, крепежный элемент, расположенный в их центре, и вращающийся вал. Чтобы было легче оперировать этими элементами, выделите все три объекта, нажав и удерживая клавишу Ctrl. Конвертируйте объекты в Editable Poly (Редактируемая полигональная поверхность). Для этого щелкните правой кнопкой мыши на объекте и выполните команду Convert To > Convert to Editable Poly (Преобразовать > Преобразовать в редактируемую полигональную поверхность).

Снимите выделение с объектов и оставьте выделенным только один объект (не имеет значения, какой). Перейдите на вкладку Modify (Изменение) командной панели. В свитке Geometry (Геометрия) настроек выделенного объекта нажмите кнопку Attach (Присоединить) (рис. 4.41), чтобы присоединить к выделенному объекту два других, которые были преобразованы в Editable Poly (Редактируемая полигональная поверхность). При подведении курсора к этим объектам указатель изменит свою форму. Поочередно щелкните на них.

Рис. 4.41. Кнопка Attach (Присоединить) в свитке Geometry (Геометрия)

Перейдите на вкладку Modify (Изменение) командной панели и в поле названия объекта впишите Вращающаяся часть.

Для создания анимации переключитесь в режим ключевых кадров, нажав на кнопку Auto Key (Автоключ) под шкалой анимации внизу экрана. При этом область, по которой передвигается ползунок анимации, окрасится в красный цвет. Передвиньте ползунок анимации на сотый кадр (в крайнее правое положение). Перейдите в окно проекции Back (Сзади) и выполните операцию Rotate (Вращение). Проиграйте анимацию, нажав кнопку Play Animation (Воспроизведение анимации).

Вы увидите, что лопасти вентилятора вращаются, однако движение не прямолинейное, а происходит с ускорением в начале и замедлением в конце.

Для изменения функциональной зависимости анимированного параметра щелкните правой кнопкой мыши на первом ключевом кадре на шкале анимации и выберите параметр Вращающаяся часть: Y Rotation (рис. 4.42).



Рис. 4.42. Выбор ключа параметра, характеристики которого необходимо изменить

В окне изменения характеристик параметра с помощью кнопки Out (Выходная зависимость) выберите функциональную зависимость Linear (Линейная) (рис. 4.43).



Рис. 4.43. Выбор функциональной зависимости Linear (Линейная) для анимированного параметра

Для изменения функциональной зависимости анимированного параметра щелкните правой кнопкой мыши на втором ключевом кадре на шкале анимации и снова выберите ключ параметра Вращающаяся часть: Y Rotation.

Далее в окне изменения характеристик параметра с помощью кнопки In (Входная зависимость) выберите функциональную зависимость Linear (Линейная) (рис. 4.44).



Рис. 4.44. Выбор функциональной зависимости Linear (Линейная) для анимированного параметра

Проиграйте анимацию, нажав кнопку Play Animation (Воспроизведение анимации). Вентилятор будет вращаться равномерно.

ПРИМЕЧАНИЕ

Готовый файл анимации находится на прилагаемом к книге компакт-диске в папке ch04/Examples. Файл сцены называется Урокв.тах.

СОВЕТ

Попробуйте также, взяв за основу этот урок, сделать более сложную анимацию, в которой вентилятор сначала будет набирать скорость, а затем вращаться с постоянной скоростью. Для этого вам необходимо будет создать третий ключевой кадр и дополнительно использовать тип функциональной зависимости Fast (Быстрая).

Подведем итоги — в этом уроке вы закрепили навыки, которые касаются:

создания анимации в режиме ключевых кадров;

проигрывания анимации в окне проекции;

изменения функциональной зависимости анимированного параметра;

конвертирования объектов в Editable Poly (Редактируемая полигональная поверхность);

использования команды Attach (Присоединить) для объединения редактируемых поверхностей.


Работа с модулем Particle Flow


Particle Flow — это очень сложным модуль. Эффекты, создаваемые с его помощью, весьма разнообразны. Глядя на некоторые из них в сцене, даже не придет в голову, что он выполнен с применением частиц. Все зависит от мастерства дизайнера трехмерной графики и его фантазии.

Мы рассмотрим работу с Particle Flow на несложном примере. Наша задача — создать анимацию, в которой частицы летят 60 кадров в виде сфер, а те частицы, которые уже превысили «возраст» в 60 кадров, меняют свою форму на куб. Для этого используем критерий Age Test (Критерий возраста). Частицы, удовлетворяющие данному условию, перейдут к следующему событию, а те, которые не соответствуют критерию — останутся в текущем событии и будут проверены на соответствие прочим критериям данного события.

Для начала работы с Particle Flow необходимо перейти на вкладку Create (Создание) командной панели, в категории Geometry (Геометрия) выбрать строку Particle Systems (Системы частиц) и нажать кнопку PF Source (Источник Particle Flow). Этот объект представлен в окне проекции пиктограммой. В его настройках (рис. 4.45) есть кнопка Particle View (Представление частиц), которая вызывает окно для работы с модулем.

Рис. 4.45. Настройки источника частиц PF Source (Источник Particle Flow)

Диаграмма в данном окне уже содержит два события: Global Event (Общее событие) и Birth Event (Событие рождения) (рис. 4.46).

Рис. 4.46. Диаграмма событий

СОВЕТ

В правом верхнем углу любого события находится маленький значок лампочки (рис. 4.47). Щелкнув на нем, вы можете выключить/включить любое событие, которое имеется в окне Particle View (Представление частиц).

Рис. 4.47. Значок лампочки, позволяющий выключить/включить любое событие

В конец списка операторов второго события мы должны добавить Age Test (Критерий возраста). Все критерии имеют желтую пиктограмму и располагаются в нижней части окна Particle View (Представление частиц) (рис. 4.48).

Рис. 4.48. Расположение критериев в окне Particle View (Представление частиц)


Здесь же хранятся и все воспринимаемые программой операторы. Чтобы в списке Birth Event (Событие рождения) появился Age Test (Критерий возраста), необходимо захватить мышкой желтый значок квадрата с названием Age Test (Критерий возраста) и перетащить в список Birth Event (Событие рождения) (рис. 4.49).

Рис. 4.49. Добавление критерия Age Test (Критерий возраста) в список Birth Event (Событие рождения)
ПРИМЕЧАНИЕ
Чтобы было легче определить, что обозначает тот или иной оператор или критерий, разработчики добавили в окно Particle View (Представление частиц) область Operator Description (Описание оператора) (рис. 4.50). В этой области отображается краткое описание действий выбранного оператора и критерия.

Рис. 4.50. Окно Operator Description (Описание оператора)
Теперь необходимо создать следующее событие, которое будет удовлетворять выбранному условию. Чтобы это сделать, перетащите из той части окна, в которой находятся действия, на свободное пространство окна событий оператор Shape (Форма). Он будет управлять формой частиц.
После добавления оператора Shape (Форма), появится новое событие Event 02 (Событие 2) (рис. 4.51).

Рис. 4.51. Добавление события Event 02 (Событие 2) в сцену
Чтобы действия с частицами выполнялись от события Event 01 (Событие 1) к событию Event 02 (Событие 2), нужно указать направление движения частиц.
Захватите указателем мыши выступ в левой части строки критерия Age Test (Критерий возраста), убедитесь, что указатель мыши изменил форму и напоминает «прицел», и, удерживая нажатой левую кнопку мыши, тяните его к похожему выступу блока Event 02 (Событие 2). Как только вы отпустите кнопку, на экране появится линия, указывающая стрелкой направление протекания событий. В нашем случае — от Event 01 (Событие 1) к событию Event 02 (Событие 2) (рис. 4.52).

Рис. 4.52. Задание направления движения событий
Схема, описывающая сцену готова, осталось определиться с параметрами операторов. Условное обозначение критерия Age Test (Критерий возраста) в событии Event 01 (Событие 1) выглядит как строка Age Test 01 (Age>30±5) (рис. 4.53). Это означает, что к событию Event 02 (Событие 2) перейдут лишь те частицы, возраст которых достиг 30 кадров (±5 кадров).



Рис. 4.53. Условное обозначение критерия Age Test (Критерий возраста) в событии Event 01 (Событие 1)
Выделите строку Age Test 01 (Age>30±5) и в настройках критерия (в правой части окна Particle View (Представление частиц) установите значение параметра Test Value (Значение критерия) равным 60, а параметра Variation (Разброс), задающего допустимое отклонение от критерия (те самые плюс/минус), — равным нулю (рис. 4.54).

Рис. 4.54. Настройки критерия Age Test (Критерий возраста)
Событие Event 01 (Событие 1) содержит операторы Shape (Форма) и Display (Отображение). В настройках первого оператора есть информация о том, какую форму имеют частицы, а в настройках второго — как частицы данного события отображаются в окне проекции. Установите для наглядности кубическую форму частиц Shape (Форма) события Event 01 (Событие 1) (рис. 4.55), а для события Event 02 (Событие 2) — сферическую (рис. 4.56). Сцена готова.

Рис. 4.55. Настройки оператора Shape (Форма) события Event 01 (Событие 1)

Рис. 4.56. Настройки оператора Shape (Форма) события Event 02 (Событие 2)
Проект готов. Нажмите клавишу F10, откроется окно настроек визуализации. В области Time Output (Выходные настройки диапазона) окна Render Scene (Визуализация сцены) установите переключатель в положение Active Time Segment (Текущий промежуток времени) и нажмите кнопку Render (Визуализировать).
ПРИМЕЧАНИЕ
Подробнее о настройках визуализации 3ds max 7 читайте в гл. 7.
На полученной анимации будет видно, как частицы на 60 кадре будут превращаться из кубиков в шарики (рис. 4.57).

Рис. 4.57. Сцена изменения частиц, созданная при помощи модуля Particle Flow
СОВЕТ
Работать в дальнейшем с такой сценой будет не очень удобно. Независимо от того, какому событию принадлежат частицы, в окне проекции они будут обозначаться одинаково — в виде крестиков (рис. 4.58). Гораздо удобнее каждый раз при создании нового события сцены изменять параметр оператора Display (Отображение). В таком случае вы точно не запутаетесь в потоках разлетающихся частиц.

Рис. 4.58. Отображение сцены с частицами в окне проекции
Подведем итоги урока — из него вы узнали:
как работать с модулем создания частиц Particle Flow;
добавлять критерии и операторы в проект Particle Flow;
получать информацию о критериях и событиях;
указывать направление движения частиц;
настраивать операторы и критерии.

Персонажная анимация


Создание персонажной анимации — одна из самых сложных задач трехмерной компьютерной графики.

Несмотря на это, она привлекает многих начинающих пользователей, которые, однако, часто не в силах ее освоить.

В этом уроке создадим простейшую анимацию с участием трехмерного персонажа. В качестве оболочки будем использовать стандартные примитивы 3ds max 7.

Очевидно, что созданный таким образом персонаж не претендует на реалистичность. Цель урока другая — продемонстрировать на примере основы работы с модулем Character Studio.

Перейдите на вкладку Create (Создание) командной панели, в свитке Object Type (Тип объекта) категории Systems (Дополнительные инструменты) нажмите кнопку Biped (Двуногий). Создайте объект в окне проекции (рис. 4.59).

Рис. 4.59. Объект Biped (Двуногий) в окне проекции

Создайте в окне проекции стандартный примитив Cylinder (Цилиндр) (рис. 4.60).

Рис. 4.60. Объект Cylinder (Цилиндр) в сцене

Выровняйте его положение относительно ноги объекта и подберите параметры примитива таким образом, чтобы Cylinder (Цилиндр) охватывал кости ноги персонажа (рис. 4.61). Значение параметра Height Segments (Количество сегментов по высоте) установите равным 13.

Рис. 4.61. Расположение объекта Cylinder (Цилиндр) на персонаже

ПРИМЕЧАНИЕ

Файл, содержащий скелет персонажа и объект Cylinder (Цилиндр), находится на прилагаемом к книге компакт-диске в папке ch04/Examples. Файл сцены называется Урок10_1.тах.

Клонируйте Cylinder (Цилиндр) и разместите полученный объект таким образом, чтобы он совпадал со второй ногой скелета. Аналогичным образом создайте цилиндры для рук персонажа и совместите их со скелетом (рис. 4.62). Совмещать объекты со скелетом персонажа нужно с максимальной точностью.

Рис. 4.62. Объекты Cylinder (Цилиндр) размещены на руках и ногах скелета

Теперь необходимо присоединить оболочку к скелету. Делать это лучше не со всей оболочкой сразу, а с ее отдельными частями. Выделите первый цилиндр (например, правой ноги), перейдите на вкладку Modify (Изменение) командной панели и выберите из списка Modifier List (Список модификаторов) модификатор Physique (Телосложение). Напомним, что он применяется к внешней оболочке будущего персонажа Character Studio, которую в нашем примере формируют примитивы.


В свитке Physique (Телосложение) настроек одноименного модификатора нажми- те кнопку Attach to Node (Присоединить к оболочке) (рис. 4.63) и выберите элемент скелета, главный в той группе костей, на которую надевается внешняя оболочка.

Рис. 4.63. Кнопка Attach to Node(Присоединить к оболочке) в настройках модификатора Physique (Телосложение)
На экране появится окно Physique Initialization (Условия составления телосложения) (рис. 4.64).

Рис. 4.64. Окно Physique Initialization (Условия составления телосложения)
Данное окно содержит несколько свитков с параметрами, которые определяют начальные настройки огибающей поверхности. Нажмите кнопку Initialize (Составить). Теперь выделенный элемент будет присоединен к системе костей персонажа, и при изменении положения костей оболочка будет деформироваться. Чтобы убедиться в этом, выделите объект Bip01 при помощи окна Select Objects (Выбор объектов) (рис. 4.65), которое вызывается клавишей Н.

Рис. 4.65. Окно Select Objects (Выбор объектов)
Перейдите на вкладку Motion (Движение) командной панели и при помощи кнопки Load File (Загрузить файл) (рис. 4.66) в свитке настроек Biped (Двуногий) загрузите файл walk_start .bip (рис. 4.67). В этом файле хранится информация о движении скелета.

Рис. 4.66. Кнопка Load File (Загрузить файл) в свитке настроек Biped (Двуногий)

Рис. 4.67. Выбор файла walk_start.bip
ПРИМЕЧАНИЕ
Файл walk_start.bip также содержится на прилагаемом к книге компакт-диске в папке ch04/Examples.
После загрузки файла вы увидите, что скелет и присоединенная к нему оболочка изменят свое положение в сцене.
ПРИМЕЧАНИЕ
Файл, содержащий скелет персонажа и присоединенный объект Cylinder (Цилиндр), находится на компакт-диске в папке ch04/Examples. Файл сцены называется Урок10_2.mах.
Вернуть скелет с присоединенной оболочкой на прежнее место можно, выделив объект Bip01, и в свитке Biped (Двуногий) на вкладке Motion (Движение) командной панели включить режим Figure Mode (Режим фигуры) (см. рис. 4.25). Если щелкнуть на плюсике в нижней части свитка Biped (Двуногий), то появятся дополнительные настройки. Нажав кнопку In Place Mode (Режим «на месте»), можно заставить скелет двигаться на месте в той точке, в которой он находился до загрузки файла walk_start. bip (рис. 4.68).



Рис. 4.68. Кнопка In Place Mode (Режим «на месте») в дополнительных настройках свитка Biped (Двуногий)
Теперь можно проиграть анимацию, нажав кнопку Play Animation (Воспроизведение анимации). Вы увидите, что персонаж будет идти реалистичной походкой (рис. 4.69).

Рис. 4.69. Движение персонажа в окне проекции
При выделенном объекте Bip01 на шкале анимации будут обозначены ключевые кадры, по которым создается реалистичная ходьба персонажа (рис. 4.70). Они были созданы с использованием технологии Motion Capture.

Рис. 4.70. Обозначение ключевых кадров на шкале анимации в нижней части окна 3ds max 7
ПРИМЕЧАНИЕ
Вы также можете воспроизвести анимацию персонажа при помощи кнопки Biped Playback (Воспроизведение движений), которая находится в свитке Biped (Двуногий) вкладки Motion (Движение). Однако в этом случае двигаться будет только схематично нарисованный персонаж, в то время как при нажатии кнопки Play Animation (Воспроизведение анимации) видна вся анимация без упрощения.
Теперь, когда мы убедились, что скелет совмещен с частью оболочки, можно повторить операцию присоединения для всех частей оболочки. Убедитесь, что режим Figure Mode (Режим фигуры) включен.
Выделите следующий цилиндр (например, вторую ногу), перейдите на вкладку Modify (Изменение) командной панели и выберите из списка Modifier List (Список модификаторов) модификатор Physique (Телосложение). В свитке Physique (Телосложение) настроек одноименного модификатора нажмите кнопку Attach to Node (Присоединить к оболочке) и выберите элемент скелета, главный в той группе костей, на которую надевается внешняя оболочка.
ПРИМЕЧАНИЕ
Чтобы увидеть, какой элемент скелета является основным в группе, в окне Select Objects (Выбор объектов) установите флажок Displace Subtree (Отображать иерархию) (рис. 4.71).

Рис. 4.71. Окно Select Objects (Выбор объектов) с включенным режимом Displace Subtree (Отображать иерархию)
На экране возникнет окно Physique Initialization (Условия составления телосложения) (см. рис. 4.64). Нажмите кнопку Initialize (Составить). Теперь выделенный элемент будет присоединен к системе костей персонажа, и при изменении положения костей оболочка будет деформироваться. Выключив режим Figure Mode (Режим фигуры) и просмотрев анимацию, можно увидеть, насколько удачно вы совместили оболочку со скелетом. Есть большая вероятность того, что некоторые вершины не попадут под действие огибающей поверхности, поэтому на экране форма оболочки сильно исказится (рис. 4.72). Такое неправильное смещение вершин происходит из-за того, что в процессе присоединения оболочки персонажа к системе костей возникли неправильные связи.



Рис. 4.72. Искажение формы оболочки
Чтобы исправить этот недостаток, выделите оболочку, которую необходимо отредактировать, перейдите на вкладку Modify (Изменение) командной панели и щелкните на значке плюса возле названия модификатора Physique (Телосложение). Переключитесь в режим редактирования подобъектов Vertex (Вершина). При этом на ноге отобразятся все вершины оболочки (рис. 4.73).

Рис. 4.73. Вид оболочки при переходе в режим редактирования подобъектов Vertex (Вершина) модификатора Physique (Телосложение)
В свитке Link-Assignment (Назначение связи) настроек режима редактирования подобъектов Vertex (Вершина) нажмите кнопку Select (Выбрать) и выделите в сцене неудачные вершины (рис. 4.74).

Рис. 4.74. Выделение неправильно расположенных вершин
Нажмите кнопку Assign to Link (Назначить связь) и укажите, на какой кости будут закреплены выбранные вершины. Вы увидите, что вершины изменили свое положение (рис. 4.75).

Рис. 4.75. Вершины изменили положение
Теперь можно проиграть анимацию, нажав кнопку Play Animation (Воспроизведение анимации). При этом проследите, не осталось ли вершин, которые необходимо присоединить к той или иной кости. Если все в порядке (рис. 4.76), можно переходить к присоединению рук.

Рис. 4.76. При движении персонажа в окне проекции нет выступающих вершин
Включите режим Figure Mode (Режим фигуры) и повторите описанную выше операцию присоединения объектов к скелету поочередно для каждого цилиндра. Если выключить режим Figure Mode (Режим фигуры) и просмотреть анимацию, то будет видно, насколько удачно вы совместили оболочку со скелетом. Может возникнуть проблема, когда потребуется удалить связи, установленные между оболочкой и костями. Чтобы исправить этот недостаток, выделите оболочку, которую необходимо отредактировать, перейдите на вкладку Modify (Изменение) командной панели и щелкните на значке «плюс» возле названия модификатора Physique (Телосложение). Переключитесь в режим редактирования подобъектов Vertex (Вершина). При этом на ноге отобразятся все вершины оболочки. В свитке Link-Assignment (Назначение связи) настроек режима редактирования подобъектов Vertex (Вершина) нажмите кнопку Select (Выбрать) и выделите в сцене неудачные вершины. Нажмите кнопку Remove from Link (Удалить связь) (рис. 4.77) и укажите элемент скелета, с которым необходимо удалить связи. Вы увидите, что вершины изменили свое положение.



Рис. 4.77. Кнопка Remove from Link (Удалить связь) в свитке Link-Assignment (Назначение связи)
Когда присоединение оболочки к скелету будет завершено, можно скрыть скелет. Для этого поочередно выделите каждый элемент оболочки, к которым был применен модификатор Physique (Телосложение). Перейдите на вкладку Modify (Изменение) командной панели и в свитке Physique Level of Detail (Уровень детализации) настроек модификатора установите флажок Hide Attached Nodes (Скрыть присоединенные вершины).
СОВЕТ
При анимировании оболочек персонажа, содержащих большое количество полигонов, бывает очень трудно управлять вершинами оболочки. По этой причине те вершины, в положении которых вы уверены, можно спрятать. Для этого нажмите кнопку Select (Выбрать) в свитке Link-Assignment (Назначение связи) настроек режима редактирования Vertex (вершина) и щелкните на кнопке Hide (Спрятать). Если вам снова понадобится увидеть все вершины, нажмите кнопку Unhide All (Показать все).
ПРИМЕЧАНИЕ
Готовый файл анимации персонажа находится на прилагаемом к книге компакт-диске в папке ch04/Examples. Файл сцены называется Урок10_З.max.
СОВЕТ
Попробуйте, взяв за основу этот урок, создать голову и туловище персонажа. В качестве оболочки для головы можно, например, использовать стандартный примитив Teapot (Чайник), а в качестве оболочки для туловища — цилиндр с большим радиусом, чем тот, на основе которого были смоделированы ноги и руки. Готовый персонаж может выглядеть так, как показано на рис. 4.78.

Рис. 4.78. Готовый персонаж, полученный в результате присоединения скелета к частям оболочки
Подведем итоги урока — выполнив его, вы научились:
создавать скелет персонажа;
совмещать оболочку со скелетом;
присоединять оболочку к скелету;
использовать модификатор Physique (Телосложение);
воспроизводить несложную анимацию персонажа;
вручную присоединять к костям скелета те вершины оболочки, которые не были корректно присоединены;
вручную отсоединять от костей скелета те вершины оболочки, которые не были корректно присоединены;
скрывать скелет при воспроизведении анимации.

При создании анимационных сцен разработчики


При создании анимационных сцен разработчики трехмерной графики нередко попадают в ситуацию, когда сцена выглядит «мертвой». Вроде бы и текстуры подобраны неплохо, и источники света правильно расставлены, а анимация все равно выглядит безжизненно. Причина кроется в том, что все объекты реальной жизни постоянно изменяются — шторы слабо двигаются, по озеру бежит мелкая рябь и т. д.

Разработчику трехмерной графики очень трудно воссоздать такую картину. Динамика движений в сцене должна подчиняться законам физики, иначе картина будет нереалистичной. Из всего многообразия подобных задач можно выделить несколько основных: симуляция свойств материи, столкновение упругих тел и моделирование жидкостей. Алгоритм решения этих проблем настолько сложен, что его разработкой занимаются целые исследовательские институты. При моделировании сложных анимационных сцен удобно пользоваться встроенным в 3ds max 7 модулем reactor 2. Используя данный модуль при создании динамики в сценах 3ds max 7, можно моделировать сцены, в которых присутствуют упругие и гибкие тела, а также водные поверхности.

В этом уроке рассмотрим несколько примеров, связанных с созданием динамики в трехмерных сценах, и опишем, как можно решить поставленные задачи с использованием модуля reactor 2.