Действительно, в интерфейсе MAYAтакое меню не присутствует. Но с помощью MEL-команд это возможно сделать. В качестве примера возьмем кость и добавим к ней полигональный Shape.
Создайте полигональный объект, например, из кубика, форма которого будет использована для нашей кости. Лучше всего его построить в начале координат, чтобы потом его не пришлось искать.
Выделите «шейп» полигонального объекта и кость и выполните MEL-команду: parent -add s; Совет. Не забывайте, что существует быстрый способ выделить «шейп» объекта
- нажатием на клавишу «стрелка вниз». А если «шейное» несколько, то перебрать их можно клавишами «стрелки право - влево».
Эта команда создаст еще одну копию (instance) полигонального «шейпа» и «припарентит» его к кости.
Теперь кость приняла нужный вид. Осталось только сдвинуть вершины полигона в нужное место.
Как видите, MAYA не запрещает подобные манипуляции. Теперь можно работать с костью как полигональным объектом (старый вспомогательный объект можно уже удалить) или с полигоном как с костью. Результат подобных трюков в файле joint_with_polygonal_shape.ma.
Теперь нужно не запутаться, что есть что. Главное - это запомнить, что многие ноды в MAYA происходят от ноды transform, а разобраться в этом поможет документация. В начале описания каждой ноды всегда имеется ссылка на «родителькую» ноду (не путать с «родительским» объектом в сцене). А у каждой ноды происходящей от transform ноды, наследуется возможность иметь «шейпы».
И напоследок хочется добавить, что хорошим тоном будет, если мы переименуем добавленные «шейпы», используя имя родительской ноды, но добавив в конце «Shape» и номер. Например, для «шейпа» кости jointl это будет - jointShapel.
В качестве примера в файле any_control_shapes.mb содержится некоторое количество контрольных объектов помогающих аниматору лучше ориентироваться в управлении персонажем. Часть из них были созданы из нескольких кривых по описанной технике.
Для тех, кому по душе подобные локаторы, Мишей Бажуткиным был написан скрип multi-Curve.mel, позволяющий создавать такие локаторы автоматически из нескольких кривых. Создайте несколько кривых, и сделайте им Freeze Transformation, если у них «ненулевой транформ». Выделите их и выполните команду multiCurve, которая создаст из них один объект.
Кинематика - инверсная и прямая Предположим, вы построили скелет или хотя бы одну конечность, например, руку. Теперь перед вам стоит задача санимировать эту руку так, чтобы достать до какого-нибудь объекта. Если вы лихорадочно броситесь в бой и начнете ставить ключи на вращения костей, то скоро поймете, что довольно непросто подобрать два угла в суставах для плеча и локтя, чтобы дотянуть конец руки до цели. А если цель находится немного сбоку? Количество поворотов возрастет и сравнительно простая рука перестанет слушаться совсем.
А теперь вспомните, как вы сами пытаетесь дотянуться до любимой игрушки (любимой девушки, любимой посуды, далее по вкусу). Вы же не командуете: «разогнуть плечо на тридцать градусов, распрямить локоть на десять градусов, еще немного разогнуть плечо и т.д.», а просто говорите «переместить руку (кисть) к нужной цели», не задумываясь на сколько градусов повернется плечо или локоть.