Ускоряя Maya, послесловие. Скрипты для ускорения работы в Maya.
- Автор темы Дмитрий damat Астапкович
- Дата создания
- Рейтинг
- 2
Спасибо Дмитрий но вроде уже разобрался с ситуацией.
Данные команды отрабатывали, просто был какой-то сбой в приложении.
Есть немного более насущный вопрос.
Насколько я знаю средствами MEL выбрать элемент(атрибут) в chanelBox нельзя.
Можно получить его значение или установить его значение.
А хочется иметь возможность после применения процедуры сразу использовать CTRL+MMB слайд значения что бы интерактивно его накручивать.
То-есть что бы не выбирать атрибут руками а сразу в процедуру прописать его выбор. Кажется python умеет это.
Второй вопрос связан с SplitPolygonTool.
Данный инструмент в своём исходном варианте постоянно снимает текущее выделение и после добавления ряда рёбер приходится сново выбирать все выделенные ранее элементы.
Можно ли что-то дописать что бы по завершении работы SplitPolygonTool выделение возвращалось (в Vetrex\Edge\Polygon режимах).
Данные команды отрабатывали, просто был какой-то сбой в приложении.
Есть немного более насущный вопрос.
Насколько я знаю средствами MEL выбрать элемент(атрибут) в chanelBox нельзя.
Можно получить его значение или установить его значение.
А хочется иметь возможность после применения процедуры сразу использовать CTRL+MMB слайд значения что бы интерактивно его накручивать.
То-есть что бы не выбирать атрибут руками а сразу в процедуру прописать его выбор. Кажется python умеет это.
Второй вопрос связан с SplitPolygonTool.
Данный инструмент в своём исходном варианте постоянно снимает текущее выделение и после добавления ряда рёбер приходится сново выбирать все выделенные ранее элементы.
Можно ли что-то дописать что бы по завершении работы SplitPolygonTool выделение возвращалось (в Vetrex\Edge\Polygon режимах).
- Рейтинг
- 20
С помощью MEL может быть и нельзя. Я не помню делал ли я это через MEL, но точно помню что с помощью pyqt все работало отлично. Как доберусь до компа, гляну.
Про второй вопрос не очень понятно, так как попробовать не могу. Знаю только что это не тот случай когда доптсывать чтото надо. Если завершаешь работу инструмента с помощью энтера, попробуй делать это с помощью пкм. Если не поможет, обратись к новым моделинговым инструментам в майе 14-15
Про второй вопрос не очень понятно, так как попробовать не могу. Знаю только что это не тот случай когда доптсывать чтото надо. Если завершаешь работу инструмента с помощью энтера, попробуй делать это с помощью пкм. Если не поможет, обратись к новым моделинговым инструментам в майе 14-15
- Рейтинг
- 20
Вот и скриптик для выделения атрибутов в channelBox
Сначала идет импорт для PyQt или PySide. Затем поиск виджета ченелбокса, который один раз найдется и будет в модуле сидеть. Потом функция для выделения строчек. Хочу подчеркнуть: поиск производится по тексту в ченелбоксе! То есть если отображение атрибутов не Nice, то нужны другие имена.
Код:
import maya.mel as mel
import maya.OpenMayaUI as omui
try:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from sip import wrapinstance as wrap
qMaya = wrap(long(omui.MQtUtil.mainWindow()), QObject)
except:
from PySide.QtGui import *
from PySide.QtCore import *
from shiboken import wrapInstance as wrap
qMaya = wrap(long(omui.MQtUtil.mainWindow()), QMainWindow)
# find chennelbox
gChannelBoxName = mel.eval('$temp=$gChannelBoxName')
table = qMaya.findChild(QTableView, gChannelBoxName)
if table:
model = table.model()
else:
model = None
# main function
def selectChannelBoxAttr(attrArray):
if model:
table.clearSelection()
for atr in attrArray:
for i in range(model.rowCount()):
if atr == model.data(model.index(i,0)):
table.selectRow(i)
# ############################ test
attrs = ['Scale X', 'Scale Y', 'Translate Y']
selectChannelBoxAttr(attrs)
- Рейтинг
- 2
Спасибо за скрипт Paul.
Новые инструменты возможно кому-то подходят, но мне категорически не удобны.
В данный момент пытаюсь разобраться со след скриптом StoreRestoreSelection.py:
данный скрипт позаимствован понаитию из dTools и в первом случае должен сохранять выделенные элементы а во втором вызывать их выделение.
userSetup.py:
import StoreRestoreSelection
Но видимо я что то упустил:
StoreRestoreSelection.StoreSelection()
# Error: line 1: 'module' object has no attribute 'StoreSelection'
# Traceback (most recent call last):
# File "<maya console>", line 1, in <module>
# AttributeError: 'module' object has no attribute 'StoreSelection' #
Новые инструменты возможно кому-то подходят, но мне категорически не удобны.
В данный момент пытаюсь разобраться со след скриптом StoreRestoreSelection.py:
Код:
import maya.OpenMaya as om
import maya.cmds as cmd
import maya.mel as mel
import maya.OpenMayaUI as omui
import sys
import os
from math import *
def StoreRestoreSelectionProc():
StoreRestoreSelectionClass()
class StoreRestoreSelectionClass():
def __init__(self):
def StoreSelection(self):
self.mStoredSelection = cmd.ls(sl = True)
def RestoreSelection(self):
cmd.select(self.mStoredSelection, r = True)
userSetup.py:
import StoreRestoreSelection
Но видимо я что то упустил:
StoreRestoreSelection.StoreSelection()
# Error: line 1: 'module' object has no attribute 'StoreSelection'
# Traceback (most recent call last):
# File "<maya console>", line 1, in <module>
# AttributeError: 'module' object has no attribute 'StoreSelection' #
- Рейтинг
- 7
Насчёт SplitPolygonTool - необходимо сделать два хоткея - на одну и ту же клавишу, но на Press и Release. В общем сделай как на картинке =) Работает так - вот ты чёта делаешь, потом зажимаешь выбранный хоткей - скрипт запоминает инструмент с которым ты работал, и выделение. Потом включает сплит полигон тул. Ты им чёта нарезаешь, отпускаешь хоткей, и оп! У тебя возвращается предидущий инструмент, и выделение.
Вложения
-
903,5 КБ Просмотров: 458
- Рейтинг
- 47
Когда ты пишешь:
что ты имеешь в веду?
В 2014.5 Майе (с покупкой и интеграцией Nex), при переключении между подобъектами (или нарезанием новых ребер), выделения сохраняются (если что, это можно в настройках отключить).
Это раньше нужно было держать два хоткея, на запись в сет и выделения из него. А сейчас, все именно так, как ты хочешь.
Новые инструменты возможно кому-то подходят, но мне категорически не удобны.
В 2014.5 Майе (с покупкой и интеграцией Nex), при переключении между подобъектами (или нарезанием новых ребер), выделения сохраняются (если что, это можно в настройках отключить).
Это раньше нужно было держать два хоткея, на запись в сет и выделения из него. А сейчас, все именно так, как ты хочешь.
- Рейтинг
- 2
Александр Иванов, иногда нужно перемещаться по геометрии (ALT+LMB) иногда снепиться, да
и в общем как-то не привычен этот инструмент в таком быстром режиме. Я не отрицаю возможно
имея большой опыт и набитую руку stiky вариант как раз наоборот лучше.
Но даже если взять принцип работы stiky в XSI или данный скрипт при единовременном нажатии можно перейти в стандартный режим манипулятора.
Александр Чернега, я прошу прощения, но я запутался. О каком именно инструменте идёт речь ?
О самостоятельном плагине NEX или о майском InteractiveSplitTool. Последний также не сохраняет выделенные элементы.
Согласен отдавать два хоткея на один инсрумент - не очень удачный вариант.
p.s.
что за релиз 2014.5 , если не сложно дайте ссылку на дистриб
и в общем как-то не привычен этот инструмент в таком быстром режиме. Я не отрицаю возможно
имея большой опыт и набитую руку stiky вариант как раз наоборот лучше.
Но даже если взять принцип работы stiky в XSI или данный скрипт при единовременном нажатии можно перейти в стандартный режим манипулятора.
Александр Чернега, я прошу прощения, но я запутался. О каком именно инструменте идёт речь ?
О самостоятельном плагине NEX или о майском InteractiveSplitTool. Последний также не сохраняет выделенные элементы.
Согласен отдавать два хоткея на один инсрумент - не очень удачный вариант.
p.s.
что за релиз 2014.5 , если не сложно дайте ссылку на дистриб
- Рейтинг
- 7
Бравлин Печатник - у меня, например, инструмент стоит на кнопке z, и вообще не составляет никаких проблем работать с alt, и с привязками.