|
Применяя поставляемые с 3DS МАХ
контроллеры, можно создавать сложное
движение объектов. Например, объект
может иметь контроллер Path, контроллер
List, контроллер LookAt и
параметрические контроллеры, подобные
Noise. Объект может также быть частью
оживляемой иерархии.
В ряде случаев возникает желание
свернуть движение для объекта до простых
ключей позиции, вращения и масштаба.
Последнее делается для использования
контроллера Expression, который
нуждается в ссылке на дорожки позиции
или вращения или для создания пути для
лидирующего объекта. Имеется возможность
свернуть движение до ключей
трансформации, привязав один объект к
другому, движение которого необходимо
захватить и затем применить Inverse
Kinematics/Bind.
В следующем упражнении BoxOl связана со
Shpere03, связанной со Sphere02, которая
в свою очередь связана с SphereOl. В
течение анимации каждая сфера
поворачивается на 360° вокруг оси Z.
Рассеянный цвет материала,
отображающийся на BoxOl, управляется
контроллером Expression. Данный
контроллер изменяет рассеянный цвет
коробки на основе скорости X, Y и Z
коробки в текущем кадре. Скорость
определяется векторными переменными,
присвоенными дорожке позиции BoxOl. Во
время проигрывания анимации можно
заметить, что рассеянный цвет никогда не
изменяется, поскольку для BoxOl не
обеспечено никакого движения, кроме как
через иерархию. Таким образом значение,
возвращаемое с дорожки позиции, является
константным.
Использование 1К/Вind для создания
ключей внимании из процедурного
контроллера
-
Загрузите файл ch24_10.max из
сопровождающего CD-ROM и проиграйте
анимацию.
-
Создайте фиктивный объект и откройте
часть IK в панели команд Hierarchy.
Щелкните на Bind и свяжите фиктивный
объект с BoxOl. Включите Bind
Position и Bind Orientation и в
свитке Sliding Joints активизируйте
оси X, Y и Z. Щелкните на Apply IK.
-
Откройте Track View, расширьте
дорожки и выберите параметр Diffuse
для Material #1 под BoxOl. Щелкните
правой кнопкой мыши на Diffuse и
выполните Properties. На экране
появится диалог контроллера
Expression.
-
Выберите переменную PosLast в
колонке Vector и щелкните на Assign
to Controller. В появившемся диалоге
Track View Pick выберите дорожку
позиции DummyOl. Повторите для
PosNow и закройте диалог контроллера
Expression.
-
Оставляя Track View открытым,
активизируйте вид камеры и
проиграйте анимацию. При изменении
скорости цвет коробки будет
изменяться. Цвет коробки в кадре 0
существенно отличается от цвета в
кадре 1 и кадре 100.
-
В Track View со все еще выбранным
Diffuse щелкните на Function Curves.
Обратите внимание на прерывание в
кадре 0. Выберите дорожку позиции
для DummyOl. Кроме того следует обратить внимание
на постоянные значения, используемые
вне активного диапазона времени.
Поскольку переменная PosLast в
выражении получает доступ к позиции
на один тик позже текущего кадра, в
кадре 0 изменение скорости не
наблюдается.
-
Щелкните на
Parameter Curve Out-Of-Range Types.
Щелкните на двух кнопках ниже Cycle
и выйдите из диалога.
-
Закройте Track View и проиграйте
анимацию. Теперь цвет в кадре 0 стал
корректным.
|