Страницы

понедельник, 11 февраля 2013 г.

Display Layer Tree v1.6

Новая версия DisplayLayerTree для Maya.



Новое в версии 1.5
  • доработан список объектов. Теперь он поддерживает переименование объектов и имеет цветовую схему типов объектов. Так же появилась сортировка.
  • восстановлен индикатор перетаскивания в дереве. Теперь удобно перемещать слои на одном уровне, меняя порядок следования.
  • добавлена возможность перемещения окна в dockControl.
  • добавлено сохранение настроек.
  • другие мелкие поправки.

Новое в версии 1.6
  • исправлена работа со списком отмены. Теперь обновление дерева не считается действием и список отмены не заполняется.
  • картинка перетаскивания стала более удобной.
  • другие мелкие правки

Пример использования


Установка

Скачать архив:
Download DisplayLayerTree

Для установки displayLayerTree  необходимо распаковать скачанный архив и переместить папку pw_displayLayersTree в папку с python-модулями самой Maya. Например по такому пути:

C:\Program Files\Autodesk\Maya2012\Python\lib\site-packages
или для Linux
/usr/autodesk/maya2012x64/lib/python2.6/site-packages

После чего выполнить скрипт в scriptEditor'е в Maya:

from pw_displayLayersTree import panel
panel.show()

DisplayLayersTree для работы потребует установки PyQt

Сообщение об ошибках,  предложения по функционалу и отзывы пишите в комментарии или на адрес paul_winex@mail.ru

13 комментариев:

  1. Здравствуйте! Очень нужная вещь, только что то у меня не получается. PyQt установил, проверил он работает, окошко открывается. Только после выполнения
    "from pw_displayLayersTree import panel
    panel.show() "
    в скрипт эдиторе пишет
    "# Error: ImportError: No module named pw_displayLayersTree #
    " как это исправить?

    ОтветитьУдалить
  2. Скорее всего модуль находится не в правильном месте
    выполни код в Maya:

    import os
    print os.environ['PATH']
    print os.environ['PYTHONPATH']

    Распечатаются пути в которых python ищет модули. В одном из них и должен лежать нужный модуль. За одно проверь правильно ли добавился твой путь если ты его добавлял. То есть на месте ли все запяточки.

    ОтветитьУдалить
    Ответы
    1. Модуль расположен в месте где их ищет питон. Все равно не работает. Я подумал что сам модуль имеет имя "pw_displayLayersTree3" и убрал в конце имени цифру3, вот что на это мне стали писать
      "from pw_displayLayersTree import panel
      panel.show()
      error False
      Error ini file read
      # Error: AttributeError: 'NoneType' object has no attribute 'toBool' #

      Удалить
    2. На всякий случай перезалил работающий вариант. Только что проверил. Если ошибка останется, в ScriptEditor включи галку History\Line number errors и сообщи в какой строке какого файла ошибка.
      PS
      В конце цифра 3 действительно случайно образовалась.

      Удалить
    3. Приветствую!
      Вот такая надпись теперь у меня.
      " from pw_displayLayersTree import panel
      panel.show()
      error False
      Error ini file read
      # Error: AttributeError: file C:\Program Files\Autodesk\Maya2012\Python\lib\site-packages\pw_displayLayersTree\panel.py line 1025: 'NoneType' object has no attribute 'toBool' #

      Удалить
    4. Кажется у Вас нет возможности создать INI файл с настройками. Я добавил это исключение, скачайте заново архив. Жду результат.

      Удалить
    5. Заработало! Огромное спасибо.Не знаю по чему не написал сразу Win7 Maya 2012.
      Еще раз огромное спасибо за ваши труды.

      Удалить
  3. Спасибо! Заработало под MAC 10.8.3 Mountain - MAYA 2013.

    ОтветитьУдалить
  4. Александр К10 января 2014 г., 8:14

    Отличный скрипт, большая работа проделана!

    Правда не всегда работает... Опробовал на файле с большим количеством слоев (более сотни, автомобиль со всевозможными конфигурациями) - майя падает при выполнении команды force update tree. Возможно это связано с построением списка объектов (их очень много, тысячи). Script Editor к сожалению не пишет на этот счет ничего внятного. Можно ли сделать отображение объектов опциональным?

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

    Если бы слой создавался под или над последним выделенным слоем было бы тоже хорошо.

    И уж совсем здорово было бы, если бы отображение слоев можно было бы фильтровать, как объекты в аутлайнере, например.

    В любом случае, большое спасибо, что делитесь такой работай с народом!

    ОтветитьУдалить
  5. Жирнейший скрипт!

    Я правда, еще его не тестировал в реальных (боевых условиях), но выглядит все очень круто.

    И в инструкции по установке PyQt писалось, что помимо питона и PyQt, нужно устанавливать какие-то дополнительные библиотеки для Maya. Я не совсем понял как, и не делал этого.

    При старте скрипта, СкриптЭдитор выдает:
    error False
    Error ini file read
    Error ini file read
    Error ini file read
    Error ini file read
    Error ini file read

    Но при этом все работает. Так что, все нормально :)

    ОтветитьУдалить
    Ответы
    1. Ага, вот я и понял где эти ерроры вылезают.

      Нельзя с помощью команды Go to Dock Control, сделать окно плавающим.

      Пока что это не слишком важно, а потом возможно разберусь с этими дополнительными питоновскими библиотеками для Maya.

      Удалить
  6. Что-то не помню никакие дополнительные библиотеки. Насчет ошибок всё верно, это первый инструмент такого внедрения, там достаточно ошибок. Не советую запускать его в продакшен пока что ;) Ну или осторожно. Сейчас постепенно переписываю, многое меняется. Возможно даже доделаю.

    ОтветитьУдалить