Вывод номер один Таким образом, можно обозначить концепцию, к которой мы еще не раз будем возвращаться: чтобы эффективно работать с объектами и связями в MAYA, необходимо знать тип и назначение атрибутов этих объектов.

Вот этим мы как раз сейчас и займемся.

Типы атрибутов и их назначение. Анимируемость и совместимость атрибутов. Интеллектуальные атрибуты. Мешки чисел До сих пор мы экспериментировали с простыми числовыми атрибутами, которые определяют довольно очевидные и вполне «осязаемые» свойства объектов, такие как цвет, размер, положение. Есть подозрение, что у любого объекта (точнее, у составляющих его нод) существует еще много всяких атрибутов, определяющих и другие, не столь наглядные свойства. Например, будет ли объект появляться в отражениях или отбрасывать тень - это тоже определяется соответствующими атрибутами. Когда вы прячете объект (Display=>Hide=>Hide Selection), вы всего лишь меняете значение атрибута visibility, который определяет видимость объекта в сцене.

Числовые атрибуты можно условно разделить на некоторые типы в зависимости от типа данных, которые они содержат: целыечисла (integer), числа с плавающей точкой (float) и логические значения (bool) типа on/off (которые на самом деле являются числами 0/1). Об этом необходимо помнить, так как вы можете без труда соединить в Connection Editor атрибут с плавающей точкой и целый атрибут, но потеря дробной части при этом будет совершенно предсказуема.

Как правило, числовые атрибуты позволяют себя анимировать - то есть менять значение в зависимости от времени. Если вы не видите атрибута в Channel Box, это еще не означает, что его не существует: просто он может быть неанимируемым (non-keyable). Анимируемость (key-able) - это не тип, а скорее статус числового атрибута, который всегда может быть изменен через Windows=>General Editors=>Channel Control.

Рассмотрим теперь некоторые атрибуты, которые не являются обычными числами. Назовем их пока просто данными. (Ну как, заинтригованы?)

Создайте полигональный куб и полигональную сферу.

Выберите оба объекта, откройте Hypergraph и нажмите Input And Output Connections.

Сейчас нас интересуют shape- ноды обоих объектов, определяющие их форму.

pCubeShapel имеет связь с нодой polyCubel, которую можно также увидеть в закладках Attribute Editor (помня о том, что в Attribute Editor показываются все ноды, хоть как-то связанные с выбранным объектом). Нода polyCubel, как написано в документации, просто создает полигональный куб в соответствии со своими атрибутами width, height, depth.

Вопрос - что значит «создает»? Ведь куб создается операцией Сreate->Polygon Primi-tives->Cube или командой polyCube в Script Editor. Дело в том, что нода polyCubel вычисляет все необходимые данные для построения полигонального куба (координаты вершин, грани и нормали). Можно сказать, что она «вычисляет» куб, а результат этого вычисления (то есть данные, определяющие куб) складывает в один «большой» атрибут, который называется output, и хранит в себе все эти данные в виде, условно говоря, «мешка чисел». При соединении этого атрибута с атрибутом inMesh ноды pCubeShapel, этот «мешок чисел» моментально «приезжает» в ноду pCubeShapel, которая, собственно, и визуализируется на экране. Разумно предположить, что тип атрибута inMesh при этом совпадает с типом атрибута output ноды polyCubel.


⇐ вернуться назад | | далее ⇒