1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Что за зверь "Return Value"?

Тема в разделе "Maya", создана пользователем Paul Sidorov, 16 июн 2003.

Модераторы: Dark™, Skif
  1. Paul Sidorov

    Paul Sidorov Мастер

    С нами с:
    22.03.2001
    Сообщения:
    332
    Симпатии:
    0
    Баллы:
    98
    В хелпе Мауа по МЕL, написано, что мол так издревле повелось, что множество МЕL команд может возвращать значение и вы даже можете использовать левую одинарную кавычку или команду eval. Ай, как здорово! Далее повествование продолжается в таком ключе, будто я всегда знал что это такое. Извините, в школе мы такого не проходили, где про это можно прочесть я понятия не имею, а поступать на какой-нибудь ВМК мне как-то уже поздновато, да и времени нет. Так что уж наберитесь терпения объясните что это за хрень такая, а?
    Заренее спасибо.
     
  2. Guest

    Ну впринципе все просто... Действительно, есть команды, которые нужны, для того, чтобы чего-то узнать - это чего-то они "возвращают" при выполнении... В частности например, в какую-нибудь тобой подставленную переменную. Выглядит это так:
    $connections = `listRelatives -f $object`;
    после выполнения в строчном массиве $connections[] появляются имена всех relatives (родительских и дочерних объектов) для объекта - имя которого содержалось в переменной $object...
    Это как раз случай с "одинарной кавычкой"....
    С eval-ом примерно также, например:
    $curGoalPP = eval("getAttr "+$objName+".goalWeight[0]");
    Вот в общих чертах....
    Сорри, если примеры не очень понятны... Я их выдрал из своих подручных скриптов...
     
  3. Paul Sidorov

    Paul Sidorov Мастер

    С нами с:
    22.03.2001
    Сообщения:
    332
    Симпатии:
    0
    Баллы:
    98
    Я не сказал главного - я совсем новичок в MEL, так что многое мне еще не понятно (например, я пока не знаю что означает флаг -f), но более-менее доходит, меня вот что интересует: то есть потом полученную переменную я могу вставить в следующую процедуру и над всеми указанными объектами выполнить какую-либо операцию?
     
  4. Guest

    Конечно... для этого оно и надо.
    Единственное, что в приведенном примере - listRelatives возвращает много значений - массив - поэтому следующие действия производятся над каждым объектом в отдельности - в цикле.
    А насчет флагов - у каждой команды они свои и доступно описаны в хелпе по мелу... Опятьже в данном примере -f означает что имена объектов будут полностью (включая имена слоев в которых они содержатся и т.п.)
    Если хелпа мало - с целью самообразования можешь попробовать поглядеть готовые скрипты, коих вагон в папке scripts в майевском каталоге...
     
Модераторы: Dark™, Skif

Поделиться этой страницей