Начиная применение контроллеров Expression, вы осознаете, что созерцаемое - это не всегда получаемо. Часто значения данных, которые задаются в 3DS МАХ, и отображаемые значения данных не являются действительными значениями, хранящимися в контроллерах. Контроллер Expression, примененный к параметру, должен выводить значения в диапазон, ожидаемый параметром. Если это не происходит, эффект анимации может отключиться из-за ситуации, связанной с превышением значения.
При создании объекта в 3DS МАХ ключевой подключаемый компонент, ассоциированный с данным объектом, определяет список подверженных анимации параметров. В данном случае объект может ссылаться на материал, геометрический объект или модификатор. Для целей обсуждения назовем ключевой компонент родителем. Для каждого поддающегося анимации параметра имеется контроллер, подчиненный родителю.
Родитель самостоятельно решает, как обрабатывать значения данных, возвращаемые из подчиненного контроллера. Родитель также указывает, как значения данных должны появляться в командных панелях, Track View и других диалогах, где можно видеть или устанавливать значения переменных. Часто видимые значения данных не являются действительными данными, переданными контроллером родителю, но являются значениями данных, "проработанными" родителем. Один из примеров связан с параметрами, работающими с углами. Во всех случаях значения устанавливаются и отображаются в градусах. Внутренне большинство углов представляется в радианах.
При использовании контроллеров Expression происходит буквально подключение в центр событий. Если контроллер Expression применяется к параметру, работающему с углами, вывод должен быть в радианах. Если выражение имеет переменную, присвоенную контроллеру, который работает с углами, ожидайте результат в радианах.
В некоторых случаях способы, в соответствие с которыми родитель обрабатывает данные из подчиненного контроллера, варьируются. Хотя большинство углов внутренне обрабатываются в радианах, в некоторых случаях они обрабатываются и в градусах. Примером сказанному служит Bend Angle в модификаторах Bend и Twist. Ниже приведены обобщенные правила для действительных выводных значений контроллеров:
СОВЕТ Для определения действительных выводных значений контроллера следует выполнить анимацию параметра по диапазону его значений. Создайте объект Point и присвойте контроллер Expression его параметру позиции. Используйте в качестве уравнения [inp,inp,inp] и назначьте исследуемый контроллер скалярной переменной inp. После этого действительные значения вывода контроллера можно наблюдать через кривую функции в позиции Point объекта.
Дополнительный аспект, на который следует обратить внимание, заключается в том, что ограничения, налагаемые 3DS МАХ на некоторые параметры, действуют только во время ввода данных. Поскольку контроллер Expression обходит ввод данных, данные ограничения не всегда срабатывают. Примером является FOV камеры. FOV во время ввода данных ограничен углом в 175°, но контроллер Expression может представить любое желаемое значение. Несмотря на редкую фатальность, выходящие за пределы допустимого диапазона значения контроллера Expression могут приводить к достаточно неожиданному поведению. Лучше всего определить пределы изменений параметра и всегда в них оставаться.