Поток данных объекта
3ds max выполняет команды, исходя из трех следующих критериев: порядок их наложения, порядок в стеке и порядок, определяемый потоком данных объекта. Из этих критериев самым высоким приоритетом обладает последний.
Как уже отмечалось в главе 2, 3ds max написан на объектно-ориентированном языке под названием C++. Когда вы создаете объект в 3ds max, на самом деле вы создаете набор данных, основанный на определенном типе. По мере выполнения одной команды за другой данные изменяются, последовательно проходя через обработку командами. В результате мы наблюдаем изменения во внешнем виде или поведении нашего объекта (рис.6.98). Порядок, в котором выполняются команды, определяется потоком данных объекта в программе. В 3ds max процесс прохождения потока данных таков:
- Исходный объект является отправной точкой для любого объекта. Он включает в себя тип объекта, определяющий основную структуру и параметры объекта, а также положение и ориентацию локальной системы координат объекта.
- Модификаторы выполняются на следующем шаге. Обычно они изменяют структуру объекта вместе с его системой координат. Данные о модификаторах хранятся как часть определения объекта в упорядоченном списке под названием "стек модификаторов".
Рис. 6.98. Поток данных объекта. Сверху вниз: Определение исходного объекта созданием куба, наложение модификатора Twist, трансформация растяжения, пространственная деформация типа FFD, наложение материала - Трансформации накладываются после модификаторов. Они изменяют положение, ориентацию и размер объектов. Данные о трансформации находятся в постоянно обновляемой (и недоступной для пользователя) матрице, которая не хранит историю преобразований.
- Пространственные деформации (Space Warps) выполняются после модификаторов и трансформаций. Они заставляют объекты, привязанные к ним, деформироваться в зависимости от их положения в глобальной системе координат. Они обычно используются для симуляции силовых полей и других эффектов окружающей среды. Пространственные деформации показаны в верхних строчках стека модификаторов.
- Свойства объекта применяются в последнюю очередь. Они включают в себя название, цвет, назначенный материал, свойства отображения на экране и свойства визуализации. Свойства объекта указаны в диалоговом окне Object Properties и редакторе материалов.
Из-за того, что порядок выполнения команд может зависеть от порядка их наложения, иногда можно получить неожиданные результаты. Например, если вы наложите модификатор Bend после трансформации Scale, то первым будет выполнен Bend. Однако если вы будете делать трансформации с использованием модификатора Xform и поместите в стеке ниже модификатора Bend, то первым будет выполнен Scale, а результат окажется совершенно другим (рис. 6.99).
Рис. 6.99. Порядок наложения команд может изменить результат
Лучше всего, если вы используете трансформации в анимациях, помещать их в модификатор Xform.