Maya: вопрос-ответ

Материал из xrWiki
Перейти к: навигация, поиск

Установка и использование[править]

Вопрос: где можно получить студенческую лицензию для Майи?
Ответ: конечно же здесь: http://www.autodesk.com/education/free-software/maya


Вопрос: где скачать обновления (сервис-паки) Майи?
Ответ: https://knowledge.autodesk.com/support/maya/downloads


Вопрос: нужно ли устанавливать оригинальный дистрибутив Maya перед установкой обновления?
Ответ: нет, совершенно не нужно, ибо пакет обновления является полноценной сборкой Maya. Более того, нужно удалить предыдущую версию перед обновлением.
Для версий 2016 и выше (под виндовс) автостол выпускает патчи вместо полноценных инсталляторов.


Вопрос: куда Maya сохраняет файлы после падения?
Ответ: во временную папку типа C:\Users\Вася\AppData\Local\Temp

Разное[править]

Вопрос: как настроить чувствительность перемещения камеры, например, наезд/откат?
Ответ: чувствительность регулируется в настройках Camera Tools, например, View -> Camera Tools -> Dolly Tool [] -> Scale Если проблема возникла после смены единиц измерения, то имеет смысл проверить Conversion factor в атрибутах камеры.


Вопрос: как выровнять все выделенные вершины относительно плоскости?
Ответ: есть несколько способов. Самый простой — отключить Retain component spacing в настройках Move tool, и с включенной привязкой (к вершинам или к сетке) клацнуть СКМ во вьюпорте.


Вопрос: в новых версиях Майи со встроенным Modeling Toolkit'ом (он же NEX plugin) отсутствуют элементы интерфейса, позволявшие вызвать старые проверенные Split Polygon, Poly Cut, Sculpt Geometry tool'ы. В то же время они не вырезаны из функционала программы. Как их теперь вызвать?

Ответ: нужно ввести следующие команды в командную строку и перетащить их оттуда прямо на полку.
SplitPolygonTool;
performPolyCut 1;
SculptGeometryTool;

Но похоже, что в 2017-й версии их вырезали с концами. Fuck autodesk, как говорится.


Вопрос: как изменить рабочие единицы, используемые Майкой по умолчанию, чтобы они не сбрасывались при создании новой сцены?
Ответ: поменять значения в maya\<версия>\prefs\userPrefs.mel:

-sv "workingUnitLinearDefault" "cm"
-sv "workingUnitTimeDefault" "film"

Здесь показаны параметры по умолчанию — единицы измерения сантиметры, частота кадров равна 24 (фильм). В XRay используются метры и анимация с частотой кадров, равной 30 (стандарт NTSC):

-sv "workingUnitLinearDefault" "m"
-sv "workingUnitTimeDefault" "ntsc"

Плоскости отсечки настраиваются там же:

-fv "defaultCameraFarClipValue" 1000
-fv "defaultCameraNearClipValue" 0.01

Вопрос: как выделить initialShadingGroup?

Ответ:
hyperShade -objects initialShadingGroup;

Вопрос: ой, я что-то накрутил в настройках и всё сломалось...
Ответ: пользовательские настройки Майи хранятся в maya\<версия>\prefs\. Если удалить эту папку, то Майя создаст стандартные настройки при следующем запуске. Не забудьте забекапить shelf'ы.

Скриптовые решения[править]

В большинстве случаев небольшие скрипты удобно скопипастить в редактор скриптов и перетащить их оттуда прямо на полку.


Вопрос: как скриптом переместить объект в начало координат?

Ответ:
import maya.cmds as mc

selected = mc.ls( selection=True )
mc.move( 0, 0, 0, selected, rotatePivotRelative=True)

Вопрос: как отцентрировать опорные точки (pivot'ы) по центру габаритного контейнера объекта (bounding box'а)?

Ответ:
mc.xform( centerPivots=True )

Вопрос: как импортировать много файлов в сцену (например, при работе со сценой после декомпиляции уровня в режиме -mode le?

Ответ:
import maya.cmds as mc

def multiple_import():
    multiple_filters = "X-Ray object (*.object);;X-Ray game object(*.ogf);;X-Ray skeletal motion (*.skl);;All Files (*.*)"
    files = mc.fileDialog2(fileFilter = multiple_filters,
                            dialogStyle = 2,
                            caption = 'Import',
                            okCaption = 'Import',
                            fileMode = 4)
    for f in files:
        names_list  = f.split('/')
        object_name = names_list[-1].replace('.object', '') 
        returned_nodes = mc.file('%s' % f,
                                    i = True,
                                    type = "X-Ray object",
                                    returnNewNodes = True,
                                    ignoreVersion = True,
                                    options = "mo=0",
                                    loadReferenceDepth  = "all"  )
        mc.rename(returned_nodes[0], object_name)