Render.ru

Ускоряя Maya, послесловие. Скрипты для ускорения работы в Maya.

Состояние "после Эвента" подзатянулось - пока никак не хватает времени переключиться назад на Xumi, к сожалению.
В планах поставить на рабочий комп Xp x64 (я точно на собственном опыте понял, что Vista несовместима с реальной жизнью), после чего Xumi x64 для Maya 2008 станет must have
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
С разрешения Дмитрия, выложу ссылку на его замечательный доклад с последнего ивента. Там вы узнаете, какие книги читает и сериалы смотрит автор =)
 

Skif

Администратор 3D галереи
Команда форума
Рейтинг
584
ну чтож.. ждем.. PS тоже пересел на 64.. только вин7
 

Petro111

Активный участник
Рейтинг
7
Всем привет!
Поскольку функций две, то используется два хоткея: у меня это `(тильда) press и ` (тильда) release. По этой же причине возникает необходимость добавить строчку source "views.mel"; в файл userSetup.mel, если вы хотите, чтобы этот скрипт работал сразу после запуска Maya
Положил скрипт в C:\Users\Piotr\Documents\maya\2009\scripts\ в скриптэдиторе load script , вроде загрузился; но как переключить вид? Кнопка Ё у меня какую-то другую команду запускает (когда нажимаю, манипулятор исчезает). Я бы рад ее в хоткеях на виды повесить, но где ваша команда в hotkey editore обитает? А еще скажите пожалуйста где файл userSetup.mel лежит, для авторана нужный.
 
Petro111,
1. в hotkey editor такой команды нет - это отдельный скрипт, команду к которому надо создать. Как создавать свои команды, можно прочитать в хелпе или погуглить
2. userSetup.mel обычно лежит тут: c:\Documents and Settings\...My Documents\maya\2009\scripts\userSetup.mel. Если его нет, надо создать самому такой файл и написать в него нужные вызовы скриптов.
 

Petro111

Активный участник
Рейтинг
7
Спасибо за оперативный ответ, который хоть и был для меня недостаточным, но всё же отправил в верном направлении. :)
При дальнейшем поиске мне случайно попался аналогичный вашему (клон?) скрипт, только питоновский и с и подробной нструкцией http://3dcenter.ru/forum/index.php?showtopic=93636
Всё заработало. Ещё раз спасибо.
 

Backa

Активный участник
Рейтинг
9
Доброго времени!
Огромное спасибо Дмитрию за Xumi, это мегаудобна, жаль правда что нельзя отдельные меню на другие кнопки вешать, но это мелочи, и еще не понятно мне, почему алиасы не включили её официально в майку еще когда она(xumi) вышла и до сей поры.
Я вот только не понял, это только у меня так: если я линкую другое меню на кнопке "d", то этоже меню стоновится и на кнопку "a" когда выделен(ы) поли вертекс(ы) и наоборот... или я просто делаю что не то?

p.s. версия для 2010ой майки х64. Юзаю Вин 7
 
Про линкование: там все кривовато работает - линковка имеет свойство просто слетать. Поэтому, если реально надо что-то перелинковать, проще полностью переделать меню, скопировав его через полку, например.

Офтоп: VAnti, тебе принадлежит 128 пост =)

PS Плотно завис по работе, поэтому полноценно разобраться с проблемой, которую обозначила smilingrain, не могу. Повторить баг не удалось, обнаружить проблему тоже

PPS Возможно, в скором времени (неделя-две) выложу пару скриптов для работы с текстурами. Надеюсь, что времени хватит на все.
 
Всем привет!

Зарекаюсь писать что-либо в будущем о сроках новых поступлений =)

Есть два обновления:

1. появилась версия Xumi для Maya 2008 x64. Лежит вместе с другими версиями тут: http://sites.google.com/site/damat3d/xumi/skacat Говорим спасибо Максиму fm4 Благаю. Насколько я понял, у smilingrain все заработало.

2. дописан инструмент для назначения продвинутой чекер-текстуры. Проще показать, чем объяснить:
. В видео показаны основные особенности и объяснение, как это работает. Желающие получить данный инструмент могут смело писать в личку. Выложить в общий доступ пока не могу - его довольно непросто отвязать от нашего внутреннего инструментария.

PS Видео записано с помощью ScreenToaster - онлайн инструмент для записи происходящего на экране. Долго искал подобную вещь, и вот наконец нашел. Ссылка на сайт: http://www.screentoaster.com/
 
Кхм. В принципе, не проблема - команды можно добавить в меню, на полки, да и вообще куда угодно. Это же Maya, в конце концов

Основная тема поста было про то, что это вообще можно сделать + сделать достаточно удобно. Финтифлюшки поверх можно еще долго добавлять =)
 

Лексей

Активный участник
Рейтинг
8
Ну так это очень важная финтилюшка, чтобы прямо в ЮВТекстурЭдиторе такое было и если все это будет еще в реальном времени меняться, цены не будет.
 
Скорее всего, ты не очень понял из видео, как это работает. Поясню:

1. есть написанный cgFx шейдер, который подключается к материалу как diffuse текстура. Сам шейдер подключается в ноду, которую создает cgFx плагин (есть в дефолтной Майя)

2. настройки разрешения текстуры забиты в шейдер, поэтому они меняются стандартно через attribute editor при выделенной ноде с шейдером

3. в шейдере есть два режима рендеринга: с мипмапами или без. Мипмапы берутся из специально сделанного dds файла, нулевой мип которого содержит серый чекер, первый мип - только красный цвет, второй - зеленый, третий - синий. Этот финт дает мягкие градиенты в тех местах модели, где уровень мипов меняется и позволяет наглядно увидеть неравномерности распределения uv пространства и оценить необходимый размер текстуры в пикселях.

4. ко всему это дописано отдельное окно, которое автоматизирует процессы:
- включение плагина
- создание ноды для шейдера и подключение в нее шейдера
- подключение текстуры к шейдеру
- назначение шейдера на объект

Так же в этом окошке можно быстро и удобно менять разрешение (в т.ч. с сохранением пропорций) и включать/выключать мипы. Само окошко в рабочем виде отдать не могу: чтобы оно работало, надо точно знать, где лежат шейдер и текстура в независимости от установленной версии майя, пользовательских настроек и прочего. Это требует определенных финтов, на которые тратить время нет желания. У нас это решено через внутренние переменные, которые используются в проектном лончере Майя.

Что могу отдать: шейдер и текстуру + записать видео о том, как его подключить. Еще могу отдать наш скрипт окна на случай, если у кого-нибудь возникнет желание его довести до уровня работы на всех конфигурациях. Если надо, дайте знать, отписав здесь или поставив "Спасибо" за это сообщение.
 

Лекс Дарлог (DRL)

Активный участник
Рейтинг
14
Поболтать я не любитель, но есть сразу несколько "пунктов":

0. Дмитрий (или damat - как приятнее), нижайший Вам поклон за то, что не только проделали титанический работу, но и стремитесь просвещать массы. Спасибо!

1.
"The shelf "Xumi" has items that cannot be read.
The shelf will only display the items before the first unreadable item it finds.
If you start Maya and save this shelf then you will lose the unreadable items.
This will happen automatically if you have you preferences set to save the shelves on exit."
и, собственно, полка пустая..
Возникла точно такая же проблема. Винда - XP sp3 x32, довольно сильно разогнанная.
Maya - 2008 sp1.

Удалил файл полки из папки настроек, перезапустил Майку, попробовал загрузить полку вручную - и выяснилась причина ошибки: моя Майка почему-то не может обработать следующий атрибут (вроде атрибутом называется?):
Код:
-commandRepeatable 1
Удалил эти строки из файла шелфа - всё прекрасно запустилось, установилось. Единственное - возникла ошибка об отсутствии какой-то картинки - но это не суть важно.
Вот вычищенный файл полки.

2. Единственное, зачем лично я использую Status Line - это поля абсолютных/относительных трансформаций + Select by name.
Работа с интерфейсом - это куда сложнее базового скриптинга. Поэтому, если бы Вы добавили в xumi пункты меню, вызывающие попап-окошки с полями из этого блока Status Line - цены бы вам не было.
А ещё лучше - если Вы кратко объясните, как самим создавать дополнительные окна в Майе.

3. Поддерживая Ваше начинание (собрано не помню откуда, кое-что "своё"):
  1. Иногда бывает нужно "по-быстрому" открыть какой-нибудь редактор не в панели, а в "плавающем" окошке. Поэтому я повесил их вызов на комбинации Ctrl+цифра:
    • Ctrl+1 - Outliner
    • Ctrl+2 - Hypergraph:Hierarchy
    • Ctrl+3 - Hypershade
    • Ctrl+4 - Graph editor
    • Ctrl+5 - Dope Sheet
    • Ctrl+6 - Trax editor
  2. Винда периодически переустанавливается - ну или восстанавливается из бэкапов. Соответственно, диск C форматируется/затирается. Поэтому, чтоб не терять настройки Майки и не париться с их переносом, лучше всего разместить их на другом диске (разделе). Для этого:
    • Копируем настройки из C:/Documents and settings/.../maya на другой раздел. Я их кладу в D:/0-Maya/0-settings (префиксы 0-, 1-, 2- ... z- я ставлю файлам/папкам, которые должны в тотале отображаться первыми/последними).
    • Создаём системную переменную в винде - "MAYA_APP_DIR". Для этого:
      • Щёлкаем по "моему компьютеру" правой кнопкой мыши, выбираем "Свойства" (мне проще нажать Win+Break).
      • Переходим на вкладку "Дополнительно", нажимаем "Переменные среды". Откроется окошко с двумя большими полями. Нижнее - глобальные переменные для всех юзеров, верхнее - для текущего.
      • Под нижним блоком нажимаем "Создать". Вводим Имя переменной - "MAYA_APP_DIR" (без кавычек), значение - наш путь к папке настроек.
      • OK 3 раза.
    • Для надёжности перезагрузим винду.
  3. Ctrl+Пробел, конечно же, рулит - но для большей заточки под нужды удобно повесить на маркинг-меню некое подобие пресетов для отображаемых элементов интерфейса. Например, при моделинге мне напрочь не нужны time и range slider плюс кое-что ещё, а при анимации - нужны. Вот я и добавил 2 кнопки в маркинг-меню:
    Моделинг:
    Код:
    setStatusLineVisible (1);
    setShelfVisible (0);
    setTimeSliderVisible (0);
    setPlaybackRangeVisible (0);
    setCommandLineVisible (1);
    setHelpLineVisible (1);
    setToolboxVisible (0);
    Анимация:
    Код:
    setStatusLineVisible (0);
    setShelfVisible (1);
    setTimeSliderVisible (1);
    setPlaybackRangeVisible (1);
    setCommandLineVisible (0);
    setHelpLineVisible (0);
    setToolboxVisible (0);
    У меня ещё есть отдельные "режимы" (для динамики и PFX), но, думаю, каждый сам сделает по аналогии нужное ему. Скажу только, что просмотривая команды в Script Editor'e при включении/выключении элементов UI, эти команды не узнать. Я их нашёл, насколько помню, в Hotkey Editor'е.
  4. Тут источник ещё помню - с этим мне помогли ребята с CGtalk'а. Работать с источниками света, динамическими полями, локаторами и прочей мелочёвкой - неудобно. Потому что приходится метиться в малюсенькую иконку на экране. Но даже в идущих с Майкой пресетах (ядерный взрыв) есть подсказка, как это можно решить.
    • Создаём дополнительный volume примитив. Я предпочитаю сферу, т.к. она хорошо видна в ортографических проекциях (куб частенько сливается с сеткой).
    • Перемещаем шейп-ноду под трансформ нашего поля/источника света/локатора с помощью этой команды (увы, драг-н-дропом не получится):
      Код:
      parent -add -s sphereShape1 pointLight1
      Ессесно, заменяем pointLight1 на то, что нам надо. Теперь трансформ-нода содержит 2 шейпа - шейп сферки и собственно шейп света.
    • Удаляем трансформ-ноду сферки и volume-материал, который автоматом создался при создании сферки.
    • По идее, весь этот процесс можно автоматизировать, написав небольшой скрипт - но мне тут надо искать кой-какие процедуры, которых я не знаю - так что руки ещё не дошли.
      Если кто оформит это в виде скрипта - тому все плюшки и коврижки. :) А если ещё и поделится с общественностью - респект и уважуха!
 
DRL, отличные посты, спасибо. Предлагаю перейти на ты.

Теперь по пунктам:

1. очень хорошо, что нашел ошибку с полками. Постараюсь пересобрать архивы на сайте и выложить обновленные файлы

2. про Status line - точно помню, что аналогичный реквест был у Лексея на cgtalk.ru - отдельное окно для ввода трансформаций. Попробовал поискать по форуму, но сейчас, к сожалению, он лежит. Если вкратце, то примерно так:

2.1. окна создаются командой window, про нее есть информация в хелпе. В 2011 окна можно создавать уже не текстом, а в нормальном Qt редакторе, работает вот так: http://download.autodesk.com/us/maya/2011help/movies/Qt_interface.html

2.2. как конкретно устроены поля ввода, можно поискать текстом в майских скриптах. Например, написать "Absolute transform" в строке поиска в папке Autodesk\Maya2008\scripts\startup\. Дальше надо будет разбираться с устройством двух файлов:

c:\Program Files (x86)\Autodesk\Maya2008\scripts\startup\statusLine.mel
c:\Program Files (x86)\Autodesk\Maya2008\scripts\startup\statusLine.res.mel


Если возникнет непонимание, как оно работает, готов помочь.

3. про скрипт, который парентит дополнительный шейп - не буду рассказывать все до конца, но посоветую такую штуку: можешь сохранить сделанную сцену в формате Maya ACSII (ma) и посмотреть на текст скрипта, который создает сцену. Если будет непонятно, можем дообсудить.

4. про баг с UV Texture Editor - да, есть такое. Заложено в исходной архитектуре, которая позволяет рисовать окошки только поверх viewport

5. Завтра еду в отпуск на 12 дней. Не уверен, что смогу проверять почту/форум, поэтому апдейтов пока не обещаю. Но писать точно можно.
 

Лекс Дарлог (DRL)

Активный участник
Рейтинг
14
1. Скорее всего, эта ошибка возникает только при каких-то определённых условиях. Так что думаю, что пересобирать пока рановато - надо разобраться, при каких. Для чего-то этот "commandRepeatable" ведь нужен. У меня просто времени не было копать причину. Заработало - и ладно.

2. С window сяду разбираться, как освобожусь более-менее. Чует моё сердце, что это куда сложнее обычной копипасты из скрипт едитора. Так что предложение приму: если самому не удастся разобраться - обращусь. :) За наводки - благодарю.

3. Я уже пробовал составить этот скрипт методом наблюдения за скрипт едитором. Не осталось наработок, но помню, что я застрял на очистке мусора, остающегося после создания сферки - SG, shader- и transform-нод. Потому что скрипт, после использования которого 5 раз остаётся 15 "мусорных" нод - не вариант.
Опять же - тогда не было времени глубоко разбираться (всё же я не скриптёр), поэтому забил.
После 1 числа должно появиться время - попробую твоим методом. ;)

kidult®, выложил сюда: http://sites.google.com/site/damat3d/skripty
Пишет "Странице не найдена". Тоже хотелось бы себе этот скриптик (автоназначение родительского проекта).

Небольшой оффтоп:
чтобы деинсталлировать xumi подчистую, нужно ли делать хоть что-то кроме: 1) удаления файлов xumi, 2) переназначения хоткеев на дефолт и 3) чистки userSetup.mel?
Пока отказываться не собираюсь (понравился) - просто в принципе не люблю необратимые (или труднообратимые) действия. Особенно если эти действия связаны с ПО.
 
Сверху