Терминологический комментарий. Термин «привязать» один объект к другому при работе с MAYA был бы крайне неудачен, так как связать движения двух объектов можно различными и концептуально разными способами. Для операции parent принято говорить «припарентить». Если объекты связываются с помощью операций из меню Constrain, то в устном изложении это звучит как, пардон, «приконстрейнить». В тексте выглядит, конечно, чудовищно, но сразу понятно о чем речь. Если движение объектов синхронизируется с помощью связывания соответствующих атрибутов, то профессиональный термин звучит как «приконнектить атрибуты». Все эти нецензурные, по мнению литредактора, термины означают «привязку» одного объекта к другому, произведённую совершенно разными способами.. Увы, пока что лучше не скажешь…

Создайте два любых примитива, выберите их, выполните Edit=>Parent.

Включите Display=>Shapes в окне Outliner и разверните все плюсы напротив имен объектов.

Схематическое представление иерархии говорит само за себя. Нода transform родительского объекта (parent-объектэ) включает в себя свой shape и transform подчиненного объекта, содержащего свой shape.

Теперь все перемещения «верхнего» объекта наследуются «нижним» объектом. Более того, все значения атрибутов перемещений, задаваемые, например, в Channel Box для подчиненного объекта, определяют теперь его перемещения не в мировом пространстве, а лишь в пространстве родительского объекта. Поверните «верхний» объект и посмотрите, как влияют значения атрибутов translate «нижнего» объекта на его положение в пространстве.

Для взрослых. Интересно, что наследование трансформаций можно отключить, сняв галочку Inherit Transform (в Attribute Editor в закладке transform для подчиненного объекта). После этого он будет только выбираться вместе с родительским объектом, а перемещаться вместе ним не будет.

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

Интерактивный способ, позволяющий «припарентить» один объект к другому, тоже очень нагляден. В окне Outliner можно потащить средней кнопкой мыши нужный объект и бросить его прямо на другой объект. «На» означает, что вокруг объекта (на который мы бросаем первый объект) появляются две горизонтальные черты: бросаемый объект как бы «проваливается» в своего родителя и становится подчиненным. Одна черта обозначает вставку или изменение положения объекта в списке других объектов(reorder).

Очень показательна реализация команды unparent - если выбрать любой подчиненный объект и выполнить Edit=>Unparent, то можно углядеть в Script Editor команду “parent w[orld]”. Это означает, что, освобождая объект от родителя, мы просто «припарентиваем» его к мировой системе координат, в которой изначально создаются все объекты.

Аналогичные действия средней кнопкой мыши можно производить и в Hypergraph.

Очевидно, подчиненных объектов может быть сколько угодно, а вот родитель всегда один. Также очевидно, что одного родителя можно сделать подчиненным другому родителю, то есть организовать иерархию какой угодно глубины. Главное, о чем стоит помнить: отношения parent-child устанавливаются именно между transform-нодэми.


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