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

Раскладка на 5 панелей (Panes Layout)

Тема в разделе "Maya", создана пользователем DemX86, 10 янв 2008.

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

    DemX86 Знаток

    С нами с:
    04.09.2006
    Сообщения:
    615
    Симпатии:
    4
    Баллы:
    22
    Есть желание сделать раскладку из 5ти панелек, как на картинке. Это было бы удобно для работы на широкоформатных мониторах.
    Дело в том, что в окошке Panels (Window -> Saved Layouts -> Edit Layouts... или Panels -> Panel Editor) можно найти раскладку только на четыре панельки максимум.
    Есть какие-нибудь соображения как это сделать?
     

    Вложения:

    • 539896.jpg
      539896.jpg
      Размер файла:
      3 КБ
      Просмотров:
      45
  2. xeash

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

    С нами с:
    26.04.2007
    Сообщения:
    208
    Симпатии:
    0
    Баллы:
    12
    Можно скрипт написать для интерфейса...на MEL, это не сложно=)
     
  3. DemX86

    DemX86 Знаток

    С нами с:
    04.09.2006
    Сообщения:
    615
    Симпатии:
    4
    Баллы:
    22
    Чтож, понятно направление дальнейших поисков )
    Вопрос наперед -- если я допустим найду (или даже сам напишу) этот mel скрипт, тогда мне его нужно будет запускать каждый раз при запуске Maya? Можно ль сделать его раскладкой по дефолту? Или даже чтобы она цивильно расположилась среди других раскладок слева под ToolBox?
     
  4. fm4

    fm4 Знаток

    С нами с:
    04.01.2008
    Сообщения:
    572
    Симпатии:
    0
    Баллы:
    29
    ЭЭЭ, userSetup.mel?
    Лежит в каталоге с настройками. Из него у меня, на пример, при каждом запуске подвязываются cpsTools.
     
  5. DemX86

    DemX86 Знаток

    С нами с:
    04.09.2006
    Сообщения:
    615
    Симпатии:
    4
    Баллы:
    22
    fm4
    Да тут все проще оказалось, команда panelConfiguration создает раскладку, которую вы опишите в параметрах этой команды. Т.е. эта созданная раскладка панелей будет цивильно создана и доступна в Panel Editor, а также внизу ToolBox наравне с остальными "4вида", "перспектива", "Outliner/Persp" и так далее. Осталось только разобраться с тем, как описать 5 окон в этой mel команде желаемым образом, потому как при виде скрипта из хелпа, создающего раскладку, я впадаю в ступор :)
     
  6. fm4

    fm4 Знаток

    С нами с:
    04.01.2008
    Сообщения:
    572
    Симпатии:
    0
    Баллы:
    29
    А вот фиг - судя по докам там можно только 4 панели. И возможные конфигурации жестко заданы.
    Смотри paneLayout - там много чего об этом говорит. На пример конфигурафии задаются по имени, а не геометрией, параметров определяющих какой именно вид(перспектива итд) всего четыре.

    Так что похоже что пока так сделать нельзя. Или есть другой путь.
     
  7. Lakoske

    Lakoske Знаток

    С нами с:
    12.05.2005
    Сообщения:
    142
    Симпатии:
    0
    Баллы:
    21
    а можно отцепить вью панель в отдельное окно (с целью развернуть на второй монитор например)?
     
  8. DemX86

    DemX86 Знаток

    С нами с:
    04.09.2006
    Сообщения:
    615
    Симпатии:
    4
    Баллы:
    22
    Lakoske
    Жми в желаемом окошке Panels -> Tear Off Copy... (или просто Tear Off, если не хочешь двух одинаковых окошек с одинаковыми видами).
    Ну а после этого в появившеся окошке ткни правой кнопкой по его заголовку и сними галку с Attach To Main Window и тащи его куда угодно.


    fm4
    Хмм, если это сделать нельзя в MEL, то наверное это вообще невозможно сделать, кроме как в C++ :)
    Вот что говорят в хелпе про команду panelConfiguration:
    This command creates a panel configuration object. Typically you would not call this method command directly. Instead use the Panel Editor. Once a panel configuration is created you can make it appear in the main Maya window by selecting it from any panel's "Panels->Saved Layouts" menu.
    Что можно перевести как:
    Эта команда создает объект конфигурации панелек (по сути -- раскладку). В общем-то нет необходимости запускать эту команду напрямую (то есть каждый раз, когда вы хотите увидеть эту новую раскладку). Вместо это используйте Panel Editor. Как только раскладка будет создана, вы можете ее включить в главном окне Maya, выбрав из любой панельки меню "Panels->Saved Layouts"

    В флаг -configString этой команды можно воткнуть команду paneLayout, и уж в ней уже прописаны дефолтные раскладки по именам и с максимум 4мя окошками. В целом мне кажется, что здесь все гораздо гибче, чем кажется на первый взгляд.

    Вот какой пример есть в хелпе по созданию своей собственно раскладки. Если его понять, то я думаю вопрос будет решен :)

    // Create a custom panel configuration.
    //
    string $configName = `panelConfiguration -label "Custom Panel Layout"
    -sceneConfig false
    -configString "paneLayout -e -cn \"vertical2\" -ps 1 39 100 -ps 2 61 100 $gMainPane;"
    -addPanel false
    "Outliner"
    "outlinerPanel"
    ("{global int $gUseMenusInPanels;\
    $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -l \"Outliner\"`;\
    outlinerEditor -e -highlightActive true $panelName;}")
    "outlinerPanel -edit -l \"Outliner\" $panelName"
    -addPanel true
    "Persp View"
    "modelPanel"
    ("{global int $gUseMenusInPanels;\
    modelPanel -mbv $gUseMenusInPanels\
    -unParent -l \"Persp View\" -cam persp;}" )
    "modelPanel -edit -l \"Persp View\" -cam \"persp\" $panelName"`;

    // Update the main Maya window to reflect the custom panel configuration.
    // Note also that your custom configuration may be selected from any
    // panel's "Panels->Saved Layouts" menu.
    //
    setNamedPanelLayout "Custom Panel Layout";


    Что я тут не понимаю:
    1. Зачем в начале скрипта объявлять переменную string $configName, которая все равно потом нигде не используется.
    2. Что за $gMainPane? Откуда он взялся?
    3. ("{global int $gUseMenusInPanels;\
    $panelName = `outlinerPanel -mbv $gUseMenusInPanels -unParent -l \"Outliner\"`;\
    outlinerEditor -e -highlightActive true $panelName;}")

    Вот это вот вообще меня в ступор вводит :(
     
  9. fm4

    fm4 Знаток

    С нами с:
    04.01.2008
    Сообщения:
    572
    Симпатии:
    0
    Баллы:
    29
    1. В эту переменную ты суешь результаты этой все длинючей команды. Теоретически ты можешь просто написать все что стоит в кавычках `panelConfiguration ` просто как команду.

    2. Возможно это глобальная переменная. Майя ее где то проставляет.

    3. Это типа скрипт, который сидит в скрипте, результат которого засовывается в переменную configName. Весело так.

    В общем я почти уверен что пять панелей сделать не получится. В этом примере они создают новую конфигурацию. Панели на экране будут лежать по типу vertical2. И только так. addPanel сдесь ни при чем - один лэйаут может иметь больше дочерних pane чем он может использовать. Они просто будут не видны.

    Вот если бы можно было создавать свои Config Names, то тогда оно было бы возможно. Чисто теоретически это можно сделать через OpenMayaAPI. Там есть класс для своих view, но ожидается слишком много мороки.

    В общем проще всего отцепить один view и не парится.
     
  10. Lakoske

    Lakoske Знаток

    С нами с:
    12.05.2005
    Сообщения:
    142
    Симпатии:
    0
    Баллы:
    21
    спасибо да.
    еще вопрос: как в мел узнать какая камера активна? в смысле вьюпорт какой камеры выделен. что-то не нахожу я. что-то не нахожу...
     
  11. DemX86

    DemX86 Знаток

    С нами с:
    04.09.2006
    Сообщения:
    615
    Симпатии:
    4
    Баллы:
    22
    fm4
    Мдааа... Похоже придется оставить эту затею с такой раскладкой до лучших времен.
     
Модераторы: Dark™, Skif

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