8. Щелкните на кнопке OK для подтверждения выполненных изменений.
После выполнения вышеописанных действий справа от функциональной кривой в области редактирования появится пунктирная линия, повторяющая форму этой кривой. Это означает, что выполненная анимация будет непрерывно повторяться. Если сейчас запустить воспроизведение анимации в одном из окон проекций, то можно увидеть, что после одного цикла анимации мяч больше не останавливается, а продолжает двигаться.
Использование контроллеров и выражений
Каждый раз, когда вы анимируете объекты сцены, программа 3ds Max сохраняет параметры анимации в контроллерах. Контроллерами называются элементы, хранящие значения анимации и управляющие интерполяций от одного значения анимации к другому. Существует две категории контроллеров.
• Базирующиеся на ключах – контроллеры, основанные на ключах анимации. Такие контроллеры воспринимают в качестве ввода значений данные из ключевых кадров, а затем рассчитывают интерполированные значения между ключами анимации. Для этих контроллеров является характерным то, что кривая функции всегда проходит через ключи анимации. Контроллеры могут оказывать влияние на интерполяцию между ключами, но не на сами ключи. Контроллеры, описывающие трансформации на объектном уровне, можно также редактировать в свитке Key Info (Справка о ключах) вкладки Motion (Движение) командной панели.
• Параметрические – рассчитывают анимацию на основе уравнения, реализуемого контроллером и основываясь на значениях, которые указаны пользователем. К параметрическим можно отнести контроллеры, ограничивающие движения объектов в пространстве (Constraints (Ограничения)). При помощи контроллеров-ограничителей можно заставить объект следовать по пути или оставаться повернутым к другому объекту.
Программа 3ds Max поддерживает большое количество контроллеров различных типов. Контроллеры одного типа могут иметь несколько разновидностей. Контроллеры можно условно классифицировать по типу возвращаемого ими значения, при этом тип данных контроллера должен соответствовать типу данных параметра объекта. Например, контроллер типа данных Position (Положение) нельзя использовать для параметра поворота или масштаба объекта. Рассмотрим семь типов данных контроллера.
• Transform Controller (Контроллер преобразования) – управляет трансформациями перемещения, поворота и масштаба.
• Position Controller (Контроллер положения) – влияет на положение объекта, позицию габаритного контейнера модификатора или его центра.
• Rotation Controller (Контроллер поворота) – управляет преобразованием поворота объекта или габаритного контейнера модификатора.
• Scale Controller (Контроллер масштаба) – влияет на преобразование масштаба объекта или габаритного контейнера модификатора.
• Point3 Controller (Трехкомпонентный контроллер) – управляет любым параметром с тремя значениями компонента, такими как цвет материала или координаты точки.
• Float Controller (Контроллер с плавающей точкой) – влияет на любой параметр с единственным значением компонента, например угол поворота, ширина объекта, уровень собственного свечения материала и т. п.
• Color Controller (Контроллер цвета) – управляет цветом материала.
Контроллеры анимации можно назначать, используя три различных источника: команды главного меню Animation (Анимация), окно Track View (Просмотр треков) или вкладку Motion (Движение) командной панели.
Рассмотрим некоторые контроллеры, которыми оперирует 3ds Max.
• Position/Rotation/Scale (PRS) (Положение/поворот/масштаб) – используется по умолчанию для большинства объектов сцены и габаритных контейнеров модификаторов. Его рекомендуется применять для всех универсальных трансформаций.
• Audio (Звук) – контроллер управления по звуковой дорожке. Он позволяет анимировать почти любой параметр сцены, конвертируя амплитуду записанного звука в значения анимируемого параметра объекта. Данный контроллер совместим с большинством параметров окна Track View (Просмотр треков), в том числе и с Transform Controller (Контроллер преобразования), Float Controller (Контроллер с плавающей точкой) и Point3 Controller (Трехкомпонентный контроллер).
• Bezier (Управление по Безье) – один из самых универсальных контроллеров, доступных в 3ds Max. Он выполняет интерполяцию между ключами анимации, регулируя изменения кривой, проходящей через ключевые точки. Контроллер Bezier (Управление по Безье) используется по умолчанию для большинства параметров. Его рекомендуется применять, когда необходимо иметь полный контроль над интерполяцией функциональной кривой в промежутках между ключами анимации.
• Color RGB (Цвет RGB) – разделяет составляющую цвета RGB на три независимых трека. Этот контроллер можно применять для анимации цветовых составляющих материалов либо других компонентов, использующих цвет. После разделения по умолчанию каждому треку назначается контроллер Bezier Float (Управление по Безье с плавающей точкой).
• Euler XYZ Rotation (XYZ-поворот по Эйлеру) – составной контроллер, объединяющий отдельные контроллеры, которые имеют значение с плавающей точкой и отписывают поворот относительно одной из осей (X, Y или Z). Использование данного контроллера не дает такого сглаженного результата, как применение TCB Rotation (TCB-поворот), который использует для управления вращением кватернионовскую математику. Однако в отличие от последнего, Euler XYZ Rotation (XYZ-поворот по Эйлеру) позволяет редактировать функциональные кривые.
• Expression (Выражение) – контроллер по алгоритмическому выражению. Он строит функциональную кривую на основе математических выражений, заданных пользователем в окне Expression Controller (Контроллер управления по алгоритмическому выражению) (рис. 4.16). При помощи данного контроллера можно получать данные из других контроллеров, оперировать встроенными функциями и создавать собственные переменные. Контроллер Expression (Выражение) можно применять практически ко всем параметрам 3ds Max, для которых есть возможность анимации.
Рис. 4.16. Окно диалога Expression Controller (Контроллер управления по алгоритмическому выражению)
• Linear (Линейное управление) – контроллер линейного управления. Строит функциональную кривую между двумя соседними ключами по прямой линии. Этот контроллер не имеет настроек и использует для интерполяции значения ключевых кадров. Его следует применять, когда необходимо передать движение механизмов или изменение цвета.
• Noise (Шум) – генерирует хаотичную анимацию в пределах диапазона кадров. Является параметрическим и не использует ключи анимации. Как только вы назначаете анимированному параметру этот контроллер, он сразу применяется ко всему диапазону текущего временного сегмента. Данный контроллер можно использовать для создания неравномерного движения, пульсирующего фонтана, вибрации объектов и т. п., а также к другим контроллерам для изменения функциональной кривой с учетом среднего значения (рис. 4.17).
Рис. 4.17. Окно диалога контроллера Noise (Зашумление)
• List (Управление по списку) – объединяет несколько самостоятельных контроллеров для создания общей анимации. Контроллеры, добавленные в список, выполняются последовательно и по умолчанию имеют вес (значение параметра Weight (Вес)), равный 100. Изменение этого значения влияет на удельный вес данного контроллера в общей анимации. Применяется для создания сложных анимаций.
• Script (Управление по коду) – подобно контроллеру Expression (Выражение), основанному на алгоритмическом выражении, отрывает окно для ввода кода на языке MAXScript с последующим расчетом значения и передачи его контроллеру. С помощью контроллера Script (Управление по коду) можно анимировать практически все параметры объекта, даже те, которые не анимируются контроллером Expression (Выражение) (например, вершины полигонального объекта) (рис. 4.18).