Render.ru

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

Еван Антонов

Активный участник
Рейтинг
5
По поводу Xumi.
Перерыл всю менюху, накалупался по самые уши, но так и не понял как создать подменю.
Может сделать отдельное описалово данной темы?
 

Еван Антонов

Активный участник
Рейтинг
5
Что касаемо разработки новых скриптов. А реально сделать скрипт, который бы позволял подгонять развертку какой-то группы триугольников по масштабу в уже существующей раскладке? Часто бывает, когда сделал уже развертку и начал текстурить, что необходимо подправить отдельные части объекта (подвигать точки, сдвинуть ребра). Так вот потом приходится делать заново раскладку ентого куска и скалировать его раскладку под раскладку всего объекта.

Теоретически, можно было выделять ребро на развертке, относительно которого скалировать, и автоматом скалировать объект, пока длинна не сравняется
 
1. а тут что-то было про разработку новых скриптов? =)

2. подобные скрипты были на creative crash, надо поискать там по категории mapping. Но в принципе то, что описано в разделе про теоретически, можно делать руками примерно с той же скоростью, что и скриптом. \

В целом я не очень понял процесс: есть нормальная развертка, начал текстурить, подвигал точки, сдвинул ребра: ок. Откуда потом появляется необходимость делать заново раскладку и скалировать под раскладку всего объекта?
 

Еван Антонов

Активный участник
Рейтинг
5
Откуда потом появляется необходимость делать заново раскладку и скалировать под раскладку всего объекта?
Так если например вертикс сдвинуть, раскладка останется ж прежней? если да, то тексура уже будет накладываться с искажением, так как расчитывалалсь она с одной геометрии, а накладывается на другую.

P.S. Вообще, в майке я относительно недавно, так что могу чего не знать :)
 

Еван Антонов

Активный участник
Рейтинг
5

Ken_Zin

Мастер
Рейтинг
108
По поводу скрипта views. Поставил на maya 2011 x 64 . В новосозданной сцене работает как положено. Но вот в сцене над которой я работаю работает не адекватно. Во первых: при каждой смене вида пишет ошибку :

// Error: Cannot convert data of type int[] to type int.

Тем не менее все виды меняются, кроме камеры side, на неё не переходит. Кроме того меню с доступными камерами теперь выглядит странно. Прилагаю картинку.

Отмечены камеры : speculars_01 - это на самом деле источник directional света, дающий блики.
lock_camera_01 - камера
persp
renderCam_01 -ещё одна камера
front

Почему то отсутствуют top и side
 

Вложения

Pacmaniac, включи в Script Editor показ номеров строк в ошибках: History -> Line numbers in Errors и отпиши текст ошибки еще раз: так будет понятнее, где в коде посмотреть.

Еще вопрос: а если импортнуть текущую сцену в новую, как ведет себя скрипт?
 

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

Активный участник
Рейтинг
14
Тема опять загибается, надо её поднимать. :)

С момента первой установки xumi она у меня немало обросла своими скриптами, которые будет в тему тут выкладывать. Продолжая начинание Дмитрия из самого 1-го поста, так сказать.
  • Вчера понадобилось активно поработать с Distance Tool'ом. И выяснилось, что с ним крайне трудно добавлять измерялку дистанции между уже имеющимися локаторами.
    В итоге появился скрипт, мгновенно попавший в ксуми на A+LMB при локаторе:
    http://dl.dropbox.com/u/22103610/Maya_settings/scripts/DRL/DRL_distance.mel

    Использование:
    DRL_distance {} - чтоб создать дистанцию между первыми 2-мя выделенными локаторами
    DRL_distance {"локатор_1", "локатор_2"} - можно явно задавать, между какими локаторами создать дистанцию. Передавать можно как названия трансформов, так и шейпов.
  • В паке Дениса 0-1 есть, я бы сказал, команды первостепенной важности - булевые операции с выделением (запомнить выделение, пересечь, вычесть, добавить). Я слегка допилил код, который был у него прямо в пункте меню, и оформил его в виде полноценных процедурок:
    http://dl.dropbox.com/u/22103610/Maya_settings/scripts/DRL/DRL_memorize.mel
    Если у Вас пак Дениса не стоит, надо также установить 2 скрипта из его пака:
    http://dl.dropbox.com/u/22103610/Maya_settings/scripts/Deniseich_0-1/sizeSel.mel
    http://dl.dropbox.com/u/22103610/Maya_settings/scripts/Deniseich_0-1/createSet.mel
    Я, конечно, мог обойтись без их использования, но зачем писать по новой то, что уже есть? Надеюсь, Денис не против.
    Ясное дело, команды для работы с выделением тут же попали... а вот и нет, не в ксуми. В обычное меню, возникающее на объекте по правой кнопке мыши.
    Для 2008:
    http://dl.dropbox.com/u/22103610/Maya_settings/2008/scripts/0-hacks/dagMenuProc.mel
    Для 2009:
    http://dl.dropbox.com/u/22103610/Maya_settings/2009/scripts/0-hacks/dagMenuProc.mel

    Установка:
    1. Все скрипты переместить в папку скриптов
    2. добавить в файле userSetup.mel следующую строчку:
    Код:
    source "DRL_memorize.mel";
  • У меня Майка настроена на инкрементные сохранения. Но я, как любитель прям-таки идеального порядка, стараюсь сохранять новую версию только тогда, когда там появились ощутимые изменения. Соответственно, периодически бывает нужно сохраниться не-инкрементно, при этом не трогая настройки. Собственно, вот скрипт:
    http://dl.dropbox.com/u/22103610/Maya_settings/scripts/DRL/DRL_saveNoInc.mel
    Ксуми... пресет для кнопки... ну вы поняли.
 

Еван Антонов

Активный участник
Рейтинг
5
попробовал поставить данные скрипты. возник вопрос:
у меня изменилась менюха по нажатию на RMB. Как вернуть предыдущую менюху? я предыдущей менюхе активно пользовался назначением сущ материалов на объект.
 

Еван Антонов

Активный участник
Рейтинг
5
createSet.mel
dagMenuProc.mel
DRL_distance.mel
DRL_memorize.mel
sizeSel.mel

В userSetup.mel прописал "source "DRL_memorize.mel";"

DRL_distance.mel работает норм. клевая штука. сенкс
 

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

Активный участник
Рейтинг
14
попробовал поставить данные скрипты. возник вопрос:
у меня изменилась менюха по нажатию на RMB. Как вернуть предыдущую менюху? я предыдущей менюхе активно пользовался назначением сущ материалов на объект.
Извиняюсь, что сразу не ответил. Весь в работе, не до проверки почты было.
Скрипт, который подменяет менюху - это dagMenuProc.mel. Это, по сути, оригинальный файл самой Майи, в котором в нужном месте добавлено соответствующее подменю. Если он лежит в папке скриптов пользователя, то подгружается он позже, чем оригинальный майский файл с тем же именем. И получается, что мой файл его подменяет.
Это теория. А что это значит на практике:
Поскольку модификация совсем небольшая - ничего пропадать в мпнюхе по РКМ не должно. Но только если версия Майи - 2008 или 2009, и никаких других скриптов, модифицирующих менюху на РКМ, нет.
Если же версия майки другая, то делаем следующее:
  • Находим поиском в папке scripts в директории установки Майи (C:\Program Files\...\Maya\scripts) одноимённый файл (dagMenuProc.mel). Копируем его временно куда-нибудь (хоть на рабочий стол).
  • Открываем его любым текстовым редактором (кроме блокнота - он юниксовые переводы строк не понимает).
  • Открываем мой файл (dagMenuProc.mel) и ищем в нём место, в которое я добавил свой код. Найти его очень просто - свой код я заключаю в комменты:
    Код:
    // Added by DRL: {
    Код:
    // } End of added
  • Находим такое же место в скопированном файле (смотрим, после какого пункта меню я добавляю свой).
  • Копируем туда мой код и сохраняем файл.
  • Заменяем мой файл (который в папке scripts в префах) только что скопированным и модифицированным.

Если же используются сторонние скрипты - то придётся немного поразбираться. Но принцип тот же - открываем файл скрипта и в нужное место вставляем мой код.
 
Сверху