Динамические имена узлов в выражениях MEL - PullRequest
0 голосов
/ 02 марта 2011

Вы знаете, как, если вы измените имя узла в выражении, оно также изменит имя внутри него?Ну, как нам это сделать для таких вещей, как pointPosition, где nodeName находится внутри строки?

Например:

vector $v = `pointPosition -world "outputCloth1.vtx[11]"`;

Если вы измените имя outputCloth1 на myCloth, товыражение перестает работать, потому что строка все еще говорит outputCloth1!

Ответы [ 2 ]

1 голос
/ 06 октября 2012

К сожалению, короткий ответ заключается в том, что вы не можете (легко) .. выражения в узле могут быть своего рода обслуживанием Maya, потому что он живет в части активно отслеживаемой структуры Maya.То же самое нельзя сказать о вашем сценарии, потому что для Maya это просто набор текста, который он читает и обрабатывает всякий раз, когда вы говорите ему ... Два варианта вроде как представляются:

  1. (если возможно), вы можете переписать свои выражения, чтобы динамически ссылаться на объекты Например, если вы знали, что outputCloth1 всегда будет дочерним по отношению к masterObjectGroup15, вы могли бы вместо этого выбрать первый дочерний элемент вместо ссылкипо имени.

  2. Переместиться в PyMEL .Этот тип подобен # 1 в том смысле, что вы будете ссылаться на объект, и если вы измените имя, ссылка на объект все равно будет действительной.Возможно, это (да, ладно) выходит за рамки ответа, но я настоятельно рекомендую вам взглянуть на PyMEL документация для начинающих , так как сначала они дают довольно хороший пример

Вы также можете посмотреть на построение DG-узлов с помощью API Maya - это гораздо больше работы по настройке по сравнению со сценариями, однако то, что вы делаете, это создание чего-то, что вписывается в стандартную инфраструктуру Maya (в основном это пользовательский узел - это означает, что вы можете воспользоваться всеми внутренними операциями, которые Maya делает для вас.Ура!

0 голосов
/ 23 марта 2011

Я думаю, вы сможете достичь того, что ищете, с помощью атрибута сообщения. Сообщения используются для связывания узлов в Maya, что (помимо прочего) может сформировать основу сценариев, которые автоматически обновляют имена при переименовании узлов.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...