Поиск…


Что такое 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')

Это может быть очень полезно при сборке команды из списка опций, предоставленных пользователем или логикой сценария



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow