maya
Объяснение основных команд майя
Поиск…
Что такое Set / get Attr
SetAttr
В принципе, как любой другой язык setAttr может установить значение для указанного атрибута узла или любого контекста. И он поддерживает очень широкий спектр опций. Подробные инструкции можно найти в официальной документации от самой Майи здесь .
Вот очень минимальный пример setAttr
nodeName = "pSphere1"
cmds.setAttr("%s.tx" % nodeName, 10)
getAttr Так же, как setAttr, здесь он возвращает значение из определенного атрибута из узла. И он также может возвращать несколько типов dataTypes. Autodesk хорошо документировал команду здесь
Вот очень минимальный пример getAttr
nodeName = "pSphere1"
txValue = cmds.getAttr("%s.tx" % nodeName)
Базовый синтаксис команды майя
Команды майя представлены в очень небольшом диапазоне форм. Признание формы, которую принимает команда, полезно для работы с новыми командами.
Простые команды
Самая простая форма - это просто <command>(<object>) где находится функция, которую вы вызываете, и является строковым именем объекта, с которым вы работаете:
cmds.hide('pCube1')
cmds.delete('nurbsCurve8')
Многие команды могут принимать несколько целей. Вы можете передавать их индивидуально или как итерации (списки, кортежи)
cmds.select("top", "side")
cameras = ['top', 'side']
cmds.select(cams)
Вы можете использовать звездочку Python * args для передачи итеративного объекта, такого как генератор, в команду:
cmds.select(*a_generator_function())
Многие команды принимают флаги, которые контролируют их поведение. например
cmds.ls(type='mesh')
вернет список сеток и
cmds.ls(type='nurbsCurve')
возвращает список кривых nurbs.
Команды, которые принимают флаг, могут использовать синтаксис Python ** kwargs, позволяя вам создавать словаря пар значений флагов и передавать его команде:
options = {type: 'mesh'}
cmds.ls(**options)
такой же как
cmds.ls(type='mesh')
Это может быть очень полезно при сборке команды из списка опций, предоставленных пользователем или логикой сценария