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

Вопрос по MEL

Тема в разделе "Maya", создана пользователем -, 1 апр 2005.

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

    Почему не работает такая вещь:

    string $obname[] = `ls -sl -g`;
    if ( size($obname) == 0) {error "No Object Selected!";}

    и почему работает такая вещь из маевского хелпа:

    $l = `ls -lights`;
    if (size($l) == 0) {error "No Lights";}


    где тут тонкость-то?
    кто-нибудь может объяснить???
    $obname[] используется в дальнейшем и что от него требуется, делает...
     
  2. nemyax_old

    nemyax_old Активный участник

    С нами с:
    14.10.2004
    Сообщения:
    473
    Симпатии:
    0
    Баллы:
    14
    Что за флаг такой -g? Мел такого не держит.
     
  3. Guest

    Держит
    это -geometry, если полный писать.
    Скрипт дальше работает - я же говорил.
    Только проверка отсутствует...
     
  4. nemyax_old

    nemyax_old Активный участник

    С нами с:
    14.10.2004
    Сообщения:
    473
    Симпатии:
    0
    Баллы:
    14
    Хм. А какая версия Майки?
     
  5. Guest

    6.5
     
  6. Guest

    -geometry (-g) List geometric Dag objects.

    Geometry != Tranform.

    Выбери shapeNode объекта и увидишь разницу.
    А для трасформов есть флаг -transforms (-tr)

    Удачи.
     
  7. zalexus

    zalexus Активный участник

    С нами с:
    27.10.2005
    Сообщения:
    362
    Симпатии:
    0
    Баллы:
    13
    Честно скажу лень вспоминать какие там флаги используются, ну раз уж такое дело, я бы поставил второй строчкой

    print $obname;

    и смотрел содержимое данной переменной.
    и настройки производил бы, опираясь на эти данные.
     
  8. kraz 35

    kraz 35 Мастер

    С нами с:
    30.07.2000
    Сообщения:
    46
    Симпатии:
    0
    Баллы:
    124
    2 mesh:

    Биг Сенкс!!! Все заработало! :))

    И еще отдельный тебе привет! Ты еще на киев пост-продакшн?
    Напиши мне на мыло, плиз...
     
  9. Guest

    У меня только что на 6.5 и первая конструкция заработала.
     
  10. Guest

    2 Решатель:

    А каким образом?
    У меня оно всегда на эррор перескакивало - без разницы, выбраны объекты или нет...
     
  11. Guest

    Так наверное надо всё же geometry DAG objects выбрать, чтобы не перескакивало-то?
     
  12. Guest

    2 Решатель

    c DAG как раз перескакивает

    так как оно у тебя заработало-то???
     
  13. rich 4633

    rich 4633 Активный участник

    С нами с:
    12.01.2004
    Сообщения:
    107
    Симпатии:
    0
    Баллы:
    11
    string $obname[] = `ls -sl`;
    if ( size($obname) == 0)
    error "No Object Selected!";
    else
     
  14. rich 4633

    rich 4633 Активный участник

    С нами с:
    12.01.2004
    Сообщения:
    107
    Симпатии:
    0
    Баллы:
    11
    string $obname[] = `ls -sl`;
    if ( size($obname) == 0)
    error "No Object Selected!";
    else
    print "selected an object";
     
  15. rich 4633

    rich 4633 Активный участник

    С нами с:
    12.01.2004
    Сообщения:
    107
    Симпатии:
    0
    Баллы:
    11
    string $obname[] = `ls -sl`;
    if ( size($obname) == 0)
    error "No Object Selected!";
    else
    print $obname;
     
  16. Guest

    Взяло и заработало. Чему там не работать-то? В чём проблема?
     
  17. kraz 35

    kraz 35 Мастер

    С нами с:
    30.07.2000
    Сообщения:
    46
    Симпатии:
    0
    Баллы:
    124
    Мне надо ИСКЛЮЧИТЕЛЬНО геометрию (и чтобы никаких материалов, случайно выбраных, или там источников света).

    поэтому я ставил `ls -sl -g`,
    а у Вас - `ls -sl`

    Я в курсе, что второе работает (я еще до писания сюда пробовал).
    Вопрос же моей темы был - ПОЧЕМУ не работает первое, какая там есть тонкость???
     
  18. Guest

    Извините, почему вы всё твердите, что оно не работает? Оно работает. Работает как надо - показывает нужные ноды из выбранных. Если их нет - то го-го на еррор. В чём проблема???
     
  19. kraz 35

    kraz 35 Мастер

    С нами с:
    30.07.2000
    Сообщения:
    46
    Симпатии:
    0
    Баллы:
    124
    Проблема в том, что если стоит флаг -g оно у меня в 6.5 всегда идет на еррор - без разницы, выбрано что-либо или нет.

    Я это уже обошел (спасибо mesh), но меня просто интересует, почему это происходит. Весь прикол в том, что если вставить print $obname[0]; - то он пустую строчку напечатает. Причем дальше делает все, что от него требуется. Если флаг -g убрать (или поставить -tr), то тогда все исправляется. Правда, в случае -tr мне приходится ставить еще фильтр, чтобы отсекать источники света и т.п.

    Просто тут есть какая-то тонкость, которой я не догоняю, что не очень приятно... :))
     
  20. Guest

    Ессно есть тонкость: надо выбрать те объекты, которые соответствуют флагу "-g". С хрена массив будет заполняться если нужные объекты не выбраны?
     
Модераторы: Dark™, Skif

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