Кроме того, существуют секретные динамические атрибуты. Добавив из вы можете изменить свойства объекта (ноды), к которой эти атрибуты добавлены. Об этом читайте в конце главы.

Изменение порядка динамических атрибутов в ноде. Шаманство

Иногда в процессе подготовки персонажа или объекта к анимации приходится добавлять новые динамические (пользовательские) атрибуты. Они, конечно же, встанут в конце списка уже созданных атрибутов. Но такой порядок не всегда удобен.

В идеале они должны располагаться в какой-то логической последовательности. И мы встаем перед задачей о том, как изменить уже имеющийся порядок атрибутов.

К сожалению, в Мауа нет утилиты для такой работы. Может, написать какой-нибудь скрипт, использующий недокументированные команды? Нет, все проще. Можно обойтись и без скрипта. Было замечено, что если выделить несколько динамических атрибутов в Channel Box и вызвать там же меню Delete Attributes, а затем сделать Undo, то MAYA восстановит эти атрибуты, но только в обратном порядке и в конце списка. Отсюда можно сделать вывод, что любой динамический атрибут можно перенести вниз, удалив его и восстановив командой Undo. Или вверх, если выбрать все атрибуты до него и повторить операцию удаления и восстановления два раза (второй раз, чтобы восстановить прежний порядок в удаленных атрибутах). Попробуйте сами.

Mesh In, Mesh Out

Мы уже на грани постижения тайны: того, что же такое Construction History. Однако позволим себе еще один эксперимент.

Если вы уже потеряли сферу и кубик, создайте полигональную сферу и куб заново, хотя в результате таких экспериментов хочется сказать «типа, сферу», или вообще: «полигональный объект».

В Attribute Editor можно заметить, что для каждой такой «типа, сферы» присутствует закладка polySpherel, описывающая входящие атрибуты для вычисления сферы.

Установите subdivisionsAxis=4 и subdivisionsHeight=4, чтобы окончательно превратить сферу в «типа, сферу».

Теперь зададимся таким вопросом: если у полигональной сетки (определяемой нодой pSphereShapel) есть входной атрибут inMesh, то, может быть, у нее есть и выходной атрибут типа outMesh, в котором содержится описание этой сетки. Действительно, изучение Connection Editor выявляет наличие такого атрибута. Понятно, что содержимое inMesh и outMesh не обязано совпадать: ведь мы могли сетку «помять» или растянуть. Поэтому на выходе будут уже «помятые» данные, а на входе - оригинальные. (Информация о «помятости» хранится, естественно, тоже в секретных атрибутах ноды pSphereShapel, определяющих координаты вершин.)

А что будет, если соединить inMesh одного объекта и outMesh другого? Вперед! В Hypergraph! Нажимаем shift, тащим средней кнопкой мыши ноду pSphereShapel и бросаем ее на pCubeShapel. В Connection Editor слева выбираем outMesh, справа - inMesh.

Если теперь выбрать у pSpherel несколько вершин и подвинуть их, то можно увидеть, что аналогичные вершины у pCubel тоже переместились. Внешне похоже на инстансирование, однако это не инстансирование, потому что ноды shape у наших объектов разные. Если же выбрать и переместить вершины у pCubel, это не произведет никакого впечатления на pSpherel. Действительно, ведь связь между объектами односторонняя, поэтому перемещения вершин pCubel просто «наслаиваются» на перемещения, унаследованные от pSpherel.


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