3ds Max 2008. Секреты мастерства
Шрифт:
Рис. 8.79. Окно редактора кривых с выделенным треком анимации процентов контроллера Path Constraint (Ограничение по пути)
В окне редактора кривых щелкните на кнопке Parameter Curve Out-of-Range Types (Типы экстраполяции параметрических кривых)
В открывшемся окне Param Curve Out-of-Range Types (Типы
Рис. 8.80. Окно Param Curves Out-of-Range Types (Типы экстраполяции параметрических кривых) с установленным параметром циклического повторения анимации
Теперь все готово к выполнению сценария. Очистите сцену от созданных в процессе экспериментов с кодированием объектов и запустите выполнение сценария. В результате будет создано 90 копий звена гусеницы, распределенных по всей длине сплайна. Запустите воспроизведение анимации и убедитесь, что анимация работает и гусеница движется по сплайну.
ПРИМЕЧАНИЕ
Как вы помните, основной объект track имеет два ключа анимации, соответствующих положению 0 и 100% пройденного пути. Если изменять на временной шкале положение ключа, имеющего значение 100 %, то будет изменяться скорость движения. Например, передвинув ключ анимации с 400 на 200, вы увеличите скорость движения гусеницы в два раза.
Сейчас анимируем вращение колес, по которым движется гусеница. Очевидно, что колесо выполнит столько оборотов за один оборот гусеницы, сколько длин окружностей колеса укладывается в длине сплайна. Разберемся в этом на практике. Сначала узнаем диаметр колеса. Для этого выделите большое колесо и на вкладке 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. Щелкните
и выберите из появившегося списка контроллер 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).