Владимир Верстак - 3ds Max 2008. Секреты мастерства
Рис. 4.17. Окно диалога контроллера Noise (Шум)
■ List (Управление по списку) – объединяет несколько самостоятельных контроллеров для создания общей анимации. Контроллеры, добавленные в список, выполняются последовательно и по умолчанию имеют вес (значение параметра Weight (Вес)), равный 100. Изменение этого значения влияет на удельный вес данного контроллера в общей анимации. Применяется для создания сложных анимаций.
■ Script (Управление по коду) – подобно контроллеру Expression (Выражение), основанному на алгоритмическом выражении, открывает окно для ввода кода на языке MAXScript с последующим расчетом значения и передачи его контроллеру. С помощью контроллера Script (Управление по коду) можно анимировать практически все параметры объекта, даже те, которые не анимируются контроллером Expression (Выражение) (например, вершины полигонального объекта) (рис. 4.18).
Рис. 4.18. Окно диалога Script Controller (Контроллер управления по коду)
■ Path Constraint (Ограничение по пути) – ограничивает движение объекта по пути, которым является указанный сплайн или усредненное расстояние между несколькими сплайнами. В качестве пути можно использовать сплайн любого типа, при этом сам сплайн может иметь собственную анимацию. Данный контроллер применяется для анимации объектов по сложным траекториям (например, движение автомобиля по дороге).
■ Position Constraint (Ограничение по положению) – изменяет положение исходного объекта (то есть объекта, к которому применен контроллер) относительно целевого. При этом значение параметра Weight (Вес), равное по умолчанию 100, показывает, что исходный объект займет положение целевого, а значение 0 – то, что исходный объект останется на месте. Все значения, отличные от 0, заставят объект переместиться в положение, которое равно процентному отношению расстояния между исходным и целевым объектами.
■ Link Constrain (Ограничение по связи) – применяется для анимации передачи связи от одного целевого объекта другому. Например, при использовании контроллера Link Constrain (Ограничение по связи) анимированный персонаж может взять рукой чемодан и переместить его в другую руку.
■ LookAt Constraint (Ограничение по линии взгляда) – используется для ориентации одного объекта относительно другого с таким расчетом, чтобы исходный объект постоянно смотрел на целевой. Действие данного контроллера подобно камере Target Camera (Нацеленная камера), когда она поворачивается вслед за перемещаемой целью.
Итак, мы рассмотрели основные контроллеры анимации, применяемые в 3ds Max. Более подробную информацию о них можно найти в справочной литературе или файле справки приложения.
Продолжим анимировать мяч. Используя контроллер Expression (Выражение), создадим для него поступательное движение и постепенное затухание отскоков.
1. Продолжите выполнение собственной анимации или загрузите с прилагаемого DVD файл ball01.max, который находится в следующей папке: ExamplesГлава 04.
2. Для увеличения общего времени анимации щелкните на кнопке Time Configuration (Настройка временных интервалов)
и в области Animation (Анимация) открывшегося окна задайте параметру End Time (Время окончания) значение, равное 180 (рис. 4.19).
Рис. 4.19. Окно диалога Time Configuration (Настройка временных интервалов)
3. В одном из окон проекций выделите мяч – объект Sphere01.
4. Перейдите на вкладку Motion (Движение) командной панели и в свитке Assign Controller (Назначить контроллер) выберите строку с именем Position: Position XYZ (Положение: положение по XYZ) (рис. 4.20).
Рис. 4.20. Свиток Assign Controller (Назначить контроллер) объекта Sphere01
5. В свитке Assign Controller (Назначить контроллер) щелкните на одноименной кнопке
в результате чего откроется окно диалога Assign Position Controller (Назначить контроллер положения). В этом окне выберите из списка контроллер Position List (Контроллер положения по списку). После применения этого контроллера в списке контроллеров появится строка Available (Доступный) (рис. 4.21), позволяющая добавлять к списку новые контроллеры.
Рис. 4.21. Свиток Assign Controller (Назначить контроллер) после назначения контроллера Position List (Контроллер положения по списку)
6. Выделите строку Available (Доступный) и щелкните на кнопке Assign Controller (Назначить контроллер)
7. В открывшемся окне Assign Position Controller (Назначить контроллер положения) выберите строку Position Expression (Контроллер положения по выражению). В результате откроется окно Expression Controller (Контроллер управления по алгоритмическому выражению) (см. рис. 4.16).
8. Создайте переменную, которая будет принимать значение положения объекта Sphere01 по оси Z следующим образом:
1) в поле Name (Имя) области Create Variables (Создать переменную) наберите имя создаваемой переменной (например, Zpoz);
2) установите переключатель в положение Scalar (Скалярный) и щелкните на кнопке Create (Создать);
3) в нижней части окна нажмите кнопку Assign to Controller (Назначить контроллеру);
4) в появившемся окне Track View Pick (Выбрать трек) выберите из иерархического списка строку Z Position: Bezier Float (Z-положение: управление по Безье с плавающей точкой), относящуюся к объекту Sphere01 (рис. 4.22).
Рис. 4.22. Выбор строки Z Position: Bezier Float (Z-положение: управление по Безье с плавающей точкой) в окне Track View Pick (Выбрать трек)
9. В поле Expression (Выражение) окна Expression Controller (Контроллер управления по алгоритмическому выражению) вместо [0, 0, 0] наберите выражение [F, 0, -Zpoz/180*F], где F – текущий кадр (функция по умолчанию), 180 – общее количество кадров, а Zpoz – созданная нами переменная.
10. Щелкните на кнопке Evaluate (Оценить) для расчета созданного выражения.
1 1. Запустите воспроизведение созданной анимации в активном окне проекции, нажав кнопку Play Animation (Воспроизвести анимацию)
Если все было сделано правильно, то вы увидите, как мячик смещается в сторону с уменьшением высоты отскоков.
Вернемся к созданному выражению и разберем его более подробно. По умолчанию выражение в поле Expression (Выражение) представляло собой [0, 0, 0], что означало изменение параметров X, Y и Z на 0, то есть положение объекта не менялось. Вместо значения 0 по оси X мы задали F, указав, что в каждом последующем кадре анимации это значение будет увеличиваться на 1 и соответствовать номеру текущего кадра. Значение по оси Y не должно меняться, поэтому мы оставили его равным 0. Для оси Z выражение имеет более сложную структуру. В каждом кадре анимации из положения объекта по оси Z вычитается его текущее значение (Zpoz), деленное на общее количество кадров. Эта разность умножается на значение текущего кадра для создания динамики уменьшения параметра Z.
ПРИМЕЧАНИЕ
Для ознакомления с готовой анимацией загрузите файл ball02.max из папки ExamplesГлава 04 прилагаемого к книге DVD.
Анимация частиц
Система частиц (Particle System) представляет собой совокупность малоразмерных частиц, с использованием которых можно создать множество анимационных эффектов. Подобно твердым телам, частицы имитируют физические процессы. При этом они не являются частью анимации в привычном смысле этого слова, следовательно, ими нельзя манипулировать непосредственно, как объектами. Управление ими происходит за счет изменения параметров или посредством добавления внешних сил. С помощью частиц можно имитировать различные предметы и явления природы, например дождь, снег, стаю птиц и многое другое.
После создания системы частиц все, что вы можете увидеть в окне проекции, – это габаритный контейнер, который называется Emitter Icon (Значок источника). Он является объектом, который порождает частицы. Созданные системы частиц существуют в сцене в динамике, меняясь во времени. Их поведение зависит исключительно от значения параметров и внешних сил (если они применяются). Лучший способ научиться работать с частицами – экспериментировать с различными значениями их параметров.
Программа 3ds Max содержит семь различных типов систем частиц.
■ Particle Flow Source (Источник потока частиц) – частицы, которые можно определить с помощью окна Particle View (Окно системы частиц) и контролируемые при помощи действий (Actions) и событий (Events).
■ Spray (Брызги) – система частиц, имитирующая капли воды, брызги и т. д. Эти капли можно представить в виде Drops (Капли), Dots (Точки) или Ticks (Черточки). Частицы движутся по прямой линии от излучателя сразу же после создания.
■ Snow (Снег) – создает эффект падающего снега или конфетти. Эта система частиц подобна Spray (Брызги), но имеет дополнительные параметры для настройки поведения снежинок при падении. Кроме представления в виде точек и черточек, частицы системы Snow (Снег) можно визуализировать в виде снежинок (Flakes (Снежинки)).
■ Blizzard (Метель) – усовершенствованная модель частиц Snow (Снег), которая имеет дополнительные параметры и может использовать при визуализации форму различных объектов (треугольников, сфер и т. д.).