Скачиваний:
73
Добавлен:
17.11.2019
Размер:
27.76 Mб
Скачать

Сейчас анимируем вращение колес, по которым движется гусеница. Очевидно, что колесо выполнит столько оборотов за один оборот гусеницы, сколько длин окружностей колеса укладывается в длине сплайна. Разберемся в этом на практике. Сначала узнаем диаметр колеса. Для этого выделите большое колесо и на вкладке Utilities (Утилиты) командной панели щелкните на кнопке Measure (Линейка). В области Dimensions (Размеры) посмотрите размер колеса по осям Y и Z. Таким образом, диаметр колеса в нашем случае – 16,693.

Как известно, длина окружности составляет π ■ D, где число π – постоянная величина, а D

диаметр колеса. Таким образом, длина окружности большого колеса равна 3,14 • 16,693 = 52,4066. Разделив длину сплайна пути trackpath на полученную величину, узнаем, сколько оборотов сделает колесо за один оборот гусеницы: 344,721 /52,4066 = 6,578. Теперь нужно привязать вращение колеса к скорости движения гусеницы. Это можно сделать, воспользовавшись анимацией процентов пройденного пути.

ПРИМЕЧАНИЕ

Создав зависимость вращения колеса от пройденного главным звеном (track) пути, мы оставляем за собой возможность изменения скорости не только движения гусеницы, но и

вращения колес.

Для этого сделайте следующее.

1.Выделите колесо Wheel01 и перейдите к свитку Assign Controller (Назначить контроллер) вкладки Motion (Движение) командной панели.

2.В свитке Assign Controller (Назначить контроллер) раскройте список контроллеров для осей поворота и выберите строку Y Rotation: Bezier Float (Y-поворот: значение Безье с плавающей точкой) (рис. 8.81).

Рис. 8.81. Свиток Assign Controller (Назначить контроллер) объекта Wheel01

3. Щелкните на кнопке Assign Controller (Назначить контроллер)

и выберите из появившегося списка контроллер Float Expression (Выражение с плавающей точкой). Щелкните на кнопке OK для подтверждения выбора.

4. В области Create Variables (Создать переменную) открывшегося окна Expression Controller (Контроллер выражения) создайте переменную pathPerc. Для этого в поле Name (Имя) введите имя переменной и щелкните на кнопке Create (Создать) (рис. 8.82).

5. В нижней части окна щелкните на кнопке Assign to Controller (Назначить контроллеру) и в появившемся окне Track View Pick (Выбрать трек) выберите объект track. Раскройте списки его параметров и активизируйте строку Percent: Linear Float (Проценты: линейное значение с плавающей точкой) (рис. 8.83).

Рис. 8.82. Переменная pathPerc, созданная в окне Expression Controller (Контроллер выражения)

Рис. 8.83. Окно Track View Pick (Выбрать трек)

6.В области Expression (Выражение) окна Expression Controller (Контроллер выражения) введите следующее выражение: degToRad(6.578*360*pathPerc) и щелкните на кнопке Evaluate (Оценить). Разберем это выражение. Функция degToRad(), как вы уже знаете, переводит градусы, которыми удобно оперировать пользователю, в радианы, с которыми работает 3ds Max. Выражение в скобках определяет угол поворота колеса в градусах: количество оборотов колеса на один оборот гусеницы, рассчитанный нами ранее (6,578), умноженное на 360° (один полный оборот в градусах) и на процент пройденного пути, который мы получаем от объекта track, используя созданную нами переменную pathPerc.

7.Проверьте анимацию, нажав кнопку Play Animation (Воспроизвести анимацию)

Колесо должно вращаться вместе с вращением гусеницы.

Теперь нужно связать анимированное колесо с остальными колесами. Это просто сделать, если воспользоваться окном Parameter Wire Dialog (Окно параметров связей) следующим образом.

1.Выполните команду меню Animation ► Wire Parameters ► Parameter Wire Dialog (Анимация

Параметры связей ► Окно параметров связей).

2.В левой части открывшегося окна Parameter Wiring (Связываемые параметры) выберите из списка анимированное колесо (Wheel01). Разверните список параметров выбранного объекта, щелкнув на плюсе слева от имени, и выберите из списка строку Y Rotation: Float Expression (Y- поворот: выражение с плавающей точкой).

3.В правой части окна Parameter Wiring (Связываемые параметры) выберите из списка следующее большое колесо – Wheel02. Разверните список его параметров и выберите строку Y Rotation: Bezier Float (Y-поворот: значение Безье с плавающей точкой).

4.Щелкните на кнопке со стрелкой, направленной вправо. В результате выбранный параметр объекта слева будет управлять выбранным параметром объекта справа.

5.Щелкните на кнопке Connect (Соединить) для завершения создания связи (рис. 8.84).

6.Повторите вышеописанные операции назначения связей для двух оставшихся больших колес. В моем случае это колеса Wheel03 и Wheel04.

Для меньших колес, расположенных в верхней части гусеницы, необходимо изменить выражение в поле Expression for Y_Rotation (Функция для поворота по оси Y) на следующее: Y Rotation+degToRad((7.379-6.578)*360) (рис. 8.85). Это выражение означает, что угол поворота по оси Y малого колеса будет равняться углу поворота большого колеса плюс угол, который получился из разницы количества оборотов большого и малого колес, умноженной на 360°. Количество оборотов малого колеса считается по той же формуле, что и для большого, то есть длина пути делится на длину окружности колеса.

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

1. Нажмите на панели инструментов кнопку Select by Name (Выделить по имени)

и выберите из списка все объекты, в имени которых есть слово track, то есть все звенья танковой гусеницы.

Рис. 8.84. Окно Parameter Wiring (Связываемые параметры) для большого колеса

Рис. 8.85. Окно Parameter Wiring (Связываемые параметры) для малого колеса

2.Щелкните на выделении правой кнопкой мыши и выберите из контекстного меню команду Hide Selection (Спрятать выделенное).

3.В окне проекции Left (Слева) немного выше правого верхнего колеса постройте объект Rectangle (Прямоугольник) небольшого размера (рис. 8.86). Форма и размер этого объекта не имеют принципиального значения, так как он играет роль вспомогательного объекта, к которому будут привязываться вершины сплайна пути.

Рис. 8.86. Прямоугольник, построенный над колесом

4. Выделите созданный прямоугольник, если он не остался выделенным после построения, и перейдите на вкладку Utilities (Утилиты) командной панели. В одноименном свитке щелкните на кнопке Reset XForm (Сбросить преобразования).

ВНИМАНИЕ

Преобразования необходимо сбросить потому, что профиль колеса строился в окне проекции Front (Спереди), а прямоугольник – в окне проекции Left (Слева). Следовательно, эти два объекта имеют разные локальные системы координат, что вызовет изменение положения

колеса при его связывании с прямоугольником, если не сбросить преобразования.

5.В окне проекции Left (Слева) выберите сплайн пути (track_path) и перейдите на вкладку Modify (Изменение) командной панели.

6.Перейдите на уровень редактирования вершин и выберите две вершины, расположенные рядом с правым верхним колесом (рис. 8.87).

7.Примените к выбранным вершинам модификатор Linked XForm (Связанное преобразование), выбрав его из списка модификаторов вкладки Modify (Изменение).

8.В свитке Parameters (Параметры) настроек модификатора Linked XForm (Связанное преобразование) щелкните на кнопке Pick Control Object (Указать контролирующий объект) и в одном из окон проекций выберите построенный прямоугольник (рис. 8.88).

Рис. 8.87. Вершины, выбранные для редактирования

Рис. 8.88. Свиток Parameters (Параметры) настроек модификатора Linked XForm (Связанное преобразование)

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

1 0. Отмените выполненные перемещения, чтобы вершины сплайна пути вернулись в исходное состояние.

1 1. Привяжите к прямоугольнику правое верхнее колесо. Для этого нажмите кнопку Select and Link (Выделить и связать)

на главной панели инструментов, затем щелкните на колесе и, когда указатель примет соответствующий вид, перетащите его на прямоугольник.

1 2. Снова проверьте правильность привязки, перемещая прямоугольник: теперь вместе с вершинами сплайна будет перемещаться колесо.

Далее необходимо выполнить такие же привязки для всех остальных колес. Отличие состоит лишь в том, что для выбора необходимых вершин применяется модификатор SplineSelect (Выбор сплайна) или Edit Spline (Редактирование сплайна). Рассмотрим пример привязки следующего колеса.

1. Скопируйте прямоугольник или постройте новый и разместите его напротив второго колеса (рис. 8.89).

Рис. 8.89. Расположение второго управляющего прямоугольника

2.Если вы построили новый прямоугольник, то сбросьте преобразования, для чего перейдите на вкладку Utilities (Утилиты) командной панели и в одноименном свитке щелкните на кнопке Reset XForm (Сбросить преобразования).

3.Вернитесь к стеку модификаторов сплайна пути, для чего выделите сплайн track_path и перейдите на вкладку Modify (Изменение) командной панели.

4.Выберите из списка модификаторов строку SplineSelect (Выбор сплайна) и перейдите на уровень редактирования вершин.

5.Выделите две вершины, расположенные у основания второго колеса.

6.Примените к выбранным вершинам модификатор Linked XForm (Связанное преобразование), выбрав его из списка модификаторов. В результате стек модификаторов будет выглядеть, как показано на рис. 8.90.

Рис. 8.90. Стек модификаторов объекта track_path после привязки второй группы вершин

7.В свитке Parameters (Параметры) настроек модификатора Linked XForm (Связанное преобразование) щелкните на кнопке Pick Control Object (Указать контролирующий объект) и в одном из окон проекций выберите второй прямоугольник.

8.Привяжите ко второму прямоугольнику второе колесо. Для этого нажмите кнопку Select and Link (Выделить и связать)

на главной панели инструментов, затем щелкните на колесе и, когда указатель примет соответствующий вид, перетащите его на прямоугольник.

9. Проверьте анимацию.

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

ПРИМЕЧАНИЕ

Ознакомиться с выполненной анимацией движения гусеницы танка можно, воспользовавшись файлом track_end.max, расположенным в папке Examples\Глава 08\Track

прилагаемого DVD. В папке Video\Глава 08 находится готовая анимация track.avi.

Звук в 3ds Мах

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

Как обычно, для выполнения упражнения понадобится базовая сцена, которую вы можете загрузить из папки Examples\Глава 08\Sound_wave прилагаемого к книге DVD. Файл называется sound_wave_start.max. Все, что нам необходимо для работы, – это модель акустического динамика и параметрический объект Plane (Плоскость), на основе которого будем строить анализатор частотных характеристик звука. Начнем с анимации динамика. В первую очередь необходимо заставить мембрану динамика двигаться в такт музыке. Это проще всего сделать, анимировав выделенные вершины при помощи модификатора Linked XForm (Связанное преобразование) и контроллера AudioFloat (Звук, использующий значения с плавающей точкой). Для этого сделайте следующее.

1.В окне проекции Top (Сверху) постройте вспомогательный объект-пустышку, выполнив команду Create ► Helpers ► Dummy (Создание ► Вспомогательные объекты ► Пустышка).

2.Используя инструмент Select and Move (Выделить и переместить)

переместите построенный объект Dummy01 так, чтобы он находился прямо перед динамиком

(рис. 8.91).

3.В одном из окон проекций выделите динамик (объект speakerR) и в стеке модификаторов вкладки Modify (Изменение) командной панели щелкните на плюсике в строке Editable Poly (Редактируемая полигональная поверхность), а в раскрывшемся списке выберите строку Vertex (Вершина).

4.В окне проекции Front (Спереди) выделите вершины, находящиеся внутри динамика (рис. 8.92) (при необходимости обратитесь к цветной иллюстрации, расположенной на диске в папке

Images\Глава 08).

Рис. 8.91. Положение объекта Dummy01 в окне проекции Top (Сверху)

Рис. 8.92. Восемь рядов вершин, выделенных внутри динамика

СОВЕТ

Проще всего выделить вершины, расположенные по кругу, при помощи инструмента выделения Circular Selection Region (Область выделения по окружности)

Можно также выделить одну точку, расположенную в середине динамика, и в свитке Selection (Выделение) щелкнуть восемь раз на кнопке Grow (Увеличить), увеличив выделяемую область до нужного размера.

5. Назначьте выделению модификатор Linked XForm (Связанное преобразование), выполнив команду Modifiers ► Animation ► Linked XForm (Модификаторы ► Анимация ► Связанное преобразование).

6.В свитке Parameters (Параметры) настроек модификатора Linked XForm (Связанное преобразование) щелкните на кнопке Pick Control Object (Указать контролирующий объект) и в одном из окон проекций выберите объект Dummy01.

7.На главной панели инструментов активизируйте инструмент Select and Move (Выделить и переместить)

и в окне проекции Left (Слева) переместите вспомогательный объект-пустышку Dummy01 в сторону от динамика. При перемещении пустышки должна двигаться и привязанная к ней часть вершин динамика. Если этого не происходит, повторите привязку вершин к вспомогательному объекту.

8. Верните объект-пустышку в первоначальное положение, выполнив команду Undo (Отменить) или воспользовавшись сочетанием клавиш Ctrl+Z.

Далее необходимо назначить вспомогательному объекту Dummy01 контроллер управления положением по звуку.

ВНИМАНИЕ

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

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

Программа 3ds Max поддерживает два формата звуковых файлов: WAV и AVI. В связи с этим необходимо конвертировать имеющуюся звуковую дорожку в один из этих форматов. Для этого можно использовать как специализированные программы редактирования звука (такие как Sound Forge), так и простые проигрыватели (например, Winamp).

Увеличьте время анимации до двух с половиной минут. Именно такое время длится звуковая дорожка, которую мы будем использовать в данном упражнении. Для увеличения времени анимации щелкните на кнопке Time Configuration (Настройка временных интервалов)

и в области Animation (Анимация) открывшегося окна измените значение параметра End Time (Время окончания) на 4500 кадров (из расчета 30 кадров в секунду). Можно также установить отображение единиц времени в минутах, секундах и тиках, соответственно, в таком же формате устанавливается значение счетчика End Time (Время окончания).

Вернемся к анимации. Прежде всего необходимо «заморозить» трансформацию положения вспомогательного объекта Dummy01, чтобы обнулить все значения координат по осям X, Y и Z. Это облегчит работу с контроллером, использующим звуковую дорожку. Кроме того, следует загрузить в программу звуковой файл, чтобы иметь возможность контролировать процесс анимации не только визуально, но и вместе со звуком. Для этого выполните следующие действия.

1.В одном из окон проекций выделите объект-пустышку Dummy01.

2.Удерживая нажатой клавишу Alt, щелкните правой кнопкой мыши в окне проекции. В результате появится контекстное меню.