Render.ru

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

Александр Иванов

Активный участник
Рейтинг
7
DRL ещё раз спасибо за помощь, всё получилось. Хочу также извиниться - исчерпывающий ответ ты дал ещё в сообщении N695, но почему то оно у меня отображалось вчера не полностью (я с планшета читал\писал, может из-за этого), пришёл сегодня на работу, перечитал, и стукнул себя пару раз по голове. А в прочем может и просто не заметил)))
Также добавил в скрипт возможность работы с рёбрами - если выделено ребро(рёбра), то он их флипает, если полигоны, то триангулирует и флипает полученные рёбра.
Если кому пригодится то вот! Написан на Python. Правда не стоит его применять на объекты с отрицательным скэйлом, каша получается. =)





Код:
'''Скрипт изменяет триангуляцию выделенного полигона, так же, если выделенны рёбра
выполняет функцию Flip Triangle Edge.'''


import maya.cmds as mc

def triangulate_funct():
    polyLs = mc.ls(sl = True)
    mc.ConvertSelectionToEdges(polyLs)
    edgesStart = mc.ls(sl = True)
    tempSet = mc.sets(edgesStart, n = 'tempSet')
    mc.polyTriangulate(polyLs, ch = True)
    mc.ConvertSelectionToEdges(polyLs)
    edgesFinish = mc.ls(sl = True)
    tempSet2 = mc.sets(edgesFinish, n = 'tempSet2')
    result = mc.sets(tempSet, sub = tempSet2)
    mc.select(result)
    mc.polyFlipEdge(edit = True)
    mc.delete(tempSet, tempSet2)    

if mc.filterExpand(sm = 34) > 0:
    triangulate_funct()
elif mc.filterExpand(sm = 32) > 0:
    mc.polyFlipEdge(edit = True)


К сожалению пропадают все отступы, а они в питоне очень важны. Всё что следует после строки def triangulate_funct(): и до if mc.filterExpand(sm = 34) > 0:
должно быть прописано в 4 пробела. Тоже самое с кодом после строк if mc.filterExpand(sm = 34) > 0: и elif mc.filterExpand(sm = 32) > 0:
Сами эти строки без отступов.
 

tahazi

Пользователь сайта
Рейтинг
2
Добрый день.

Перехожу понемногу с макса на маю, и хотелось бы узнать где можно взять два скрипта.

1. Когда то на одной канторе мне давали скрипт, который выравнивает выбранные точки по указанному фейсу. Предназначен что бы убирать неровности с поверхностей которые по задумке ровные.


2. Конечно желателен такой скрипт, но не жизненно необходимый, это, экструдирование как в максе, при выбранном инструменте мув выделяем эдж зажимаем шифт и вытягиваем новый полик. Если это реализуемо, думаю полезно было бы многим людям, а не только мне.

Заранее премного благодарю )))
 

Листик

Активный участник
Рейтинг
12
при выбранном инструменте мув выделяем эдж зажимаем шифт и вытягиваем новый полик.
Реализовано в NEX'е. И по умолчанию имеется в 2014 мае.
По поводу первого — наверняка есть много реализаций на креативкраше.
 

tahazi

Пользователь сайта
Рейтинг
2
Подскажите пожалуйста , есть в юви эдиторе такой замечательный инструмент (точнее 4-е) как maya align selected UVs to minimum U or V value (имеется ввиду выравнивание всех выбранных точек по выбранной крайней) .

При его применении в скрипт эдиторе получаем например :

polyEditUV -r off -u -1.627800107;

И в том же духе три остальных .

Очень хочется повесить это на хот кеи, кто подскажет как правильно записать в эдиторе ? То есть проблема возникает с той частью записи как я понимаю где -1.627800107, что здесь правильно указать ? Приведите пожалуйста рабочий пример .

2 Листик

По первому скрипту, если кому ещё нужно будет, он называется mh_MakePlanar .

По второму имелось ввиду, скачать его как отдельную приблуду, а не покупать ради него весь NEX .
 
tahazi,

polyEditUV -r off -u -1.627800107 - это заключительная команда, которая собственно и назначает новое значение выделенным uv. Еще должна быть первая часть, в которой определяется минимальное/максимальное значение среди выделенных uv.
К сожалению, у меня сейчас нет Maya под рукой, поэтому прошу тебя либо более внимательно/широко посмотреть на лог в Script Editor, либо выложить его сюда. На всякий случай напомню, что надо включить режим Echo all commands, а так же для простоты сначала отчистить лог.
 
tahazi,

polyEditUV -r off -u -1.627800107 - это заключительная команда, которая собственно и присваивает новое значение выделенным uv. Еще должна быть первая часть, в которой определяется минимальное/максимальное значение среди выделенных uv.
К сожалению, у меня сейчас нет Maya под рукой, поэтому прошу тебя либо более внимательно/широко посмотреть на лог в Script Editor, либо выложить его сюда. На всякий случай напомню, что надо включить режим Echo all commands, а так же для простоты сначала отчистить лог.
 

tahazi

Пользователь сайта
Рейтинг
2
damat спасибо большое тебе , Echo all commands решило мои проблемы в этом вопросе . )))


А это искомые команды :

alignUV 1 0 0 0; - right

alignUV 1 1 0 0; - left

alignUV 0 0 1 1; - down

alignUV 0 0 1 0; - up
 

tahazi

Пользователь сайта
Рейтинг
2
Жаль только, как я понимаю, хот кеи нельзя вешать на доп. клавиши мыши (((
 
tahazi, я честно не думаю, что это возможно. Единственный вариант, который приходит в голову, это переназначение кнопок на мыши на какие-то символы с клавиатуры, и потом уже назначение хоткеев на них.
 

tahazi

Пользователь сайта
Рейтинг
2
Спасибо за помощь ещё раз. А насчёт хоткеев на мышь, слишком заморочно, уже нашёл более-мение удобные свободные комбинации на клавиатуре.
 

Maledetta

Активный участник
Рейтинг
15
Объясните пожалуйста как работает флаг -step для команд intSliderGrp и подобных. На сколько я понимаю он должен увеличивать шаг ползунка. Гугл выдаёт только варианты замены данного флага, но они больно громоздкие
 

Paul_Winex

Знаток
Рейтинг
20
Привет всем неравнодушным к скриптингу в мйке! Всех желающих приглашаю на каст о возможностях Python в Maya. Я покажу как рядовой CGшник может использовать скриптинг в своей работе.
Запись на каст по ссылке: http://paulwinex.livejournal.com/2058.html
 

Вложения

Paul_Winex

Знаток
Рейтинг
20
Объясните пожалуйста как работает флаг -step для команд intSliderGrp
Единственное применение что я знаю для этого флага, он задает на сколько изменять атрибут когда юзер изменяет его с помощью CTRL+средняя кнопка мыши. Соответственно с правой кнопкой изменение будет step*10 а левой кнопкой кажется всегда 1 ( применимо для int слайдеров)
 
о, Paul меня опередил =) Спасибо!

Тогда поспешу сообщить, что его сообщение про каст согласована со мной и администрацией форума. Т.е. вроде бы и реклама, но правильная и хорошая.
 

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

Активный участник
Рейтинг
14
Всех желающих приглашаю на каст о возможностях Python в Maya.
Здравствуй, добрый незнакомец!
А что, этот "Пусон" ещё и в ЦГ используется? Я-то думал, только для сайтов и... и для сайтов. :)
 

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

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