Контроллеры можно также классифицировать по типу возвращаемых данных. Типы данных контроллера должны соответствовать типу данных параметра объекта для того, чтобы контроллер мог применяться с данным параметром. Например, контроллер типа данных Scale нс может использоваться для параметра позиции объекта ввиду различий в типах данных. В таблице 24.1 показаны доступные типы данных и примеры параметров, с которыми они могут использоваться.
Таблица 24.1. Типы данных, связанные с параметрами
Тип данных контроллера | Действительные параметры |
Position | Объект или позиция гизмо модификатора, позиция центра гизмо |
Scale | Масштаб объекта или гизмо модификатора |
Rotation | Вращение объекта или гизмо модификатора |
Float | Любой парметр с единственным значением компонента (высота, число сегментов, угол вращения, непрозрачность и т. д.) |
Point3 | Любой параметр с тремя значениями компонента, отличных от Position и Scale (в настоящее время используется только для цветов материала) |
Color | Любой цвет материала (рассеянный, фоновый и пр.) |
Morph | Используется только для параметра морфинга |
Типы данных Position и Scale - это выделенные версии типа данных Pomt3 и могут считаться одним и тем же типом, за исключением случая, когда они назначаются контроллерам. Единственное заметное различие между данными контроллерами заключается в том, что тип интерполяции Linear доступен для типов данных Position и Scale, но не доступен для Pomt3.
Для управления вращением 3DS МАХ внутренне использует кватернионовскую математику. Кватврнио-новская математика (используемая практически всеми системами анимации для вещей, подобных камерам и вращению объектов) является полюс-базированной (polar-based) (использующей трехкомпонентный вектор и угол/скаляр). Данная математика первоначально разрабатывалась в начале XVIII века для решения задачи предохранения от блокировки кардановых подвесок на огромных парусных кораблях. Кватерн ионовская математика результируется в гладкие значения интерполяции для вращения, в то время как матричные решения (отдельные вращения X, Y и Z) приводят к негладким результатам.
Тип данных Rotation состоит из четырех значений компонентов, требуемых для кватернионовской математики: значения X, Y и Z вектора и угла вращения вокруг вектора.
СОВЕТ Поскольку тип данных Rotation возвращает четыре значения, нет возможности отобразить кривую функции для контроллера вращения. Если требуется отобразить кривые функции вращения, следует использовать сложный контроллер Эйлера XYZ. Ввод в контроллер Эйлера XYZ - это три контроллера типа данных Float, определяющих значения вращении X, Y и Z. Затем можно отобразить кривые функций для каждого из этих контроллеров типа данных Float.
Тип данных Color является особым случаем типа данных Pomt3. Вывод из контроллеров Pomt3 имеет любой диапазон значений. Вывод из контроллеров Color ограничен диапазоном 0-255.
Теперь, когда вы познакомились с разницей между классами контроллеров, в следующих разделах будет представлен материал, более детально исследующий основные типы контроллеров.