Добро пожаловать в ТАК!
Несколько вещей:
Вам не нужен этот вложенный словарь вокруг значения вашей позиции {(0, 2.607, -20.579)}
, так как он не имеет смысла.
Вы можете проходить как объекты, так и позиции, используя встроенный в .items()
метод *1007*.
Вы не очень ясно здесь, но я предполагаю, что эти значения положения являются мировыми координатами? Если это так, то вам нужно включить абсолютный флаг в метод cmds.move
. Кроме того, вы также можете использовать cmds.xform
, чтобы переместить объект в положение в мировом пространстве.
import maya.cmds as cmds
moveTailJoints = {
'tail_001_jnt':(0, 1, 0),
'tail_002_jnt':(0, 2, 0),
'tail_003_jnt':(0, 3, 0),
'tail_004_jnt':(0, 4, 0)
}
for obj, pos in moveTailJoints.items():
tx, ty, tz = pos
cmds.move(tx, ty, tz, obj, a=True)
Ознакомьтесь с документацией Maya для получения дополнительных примеров использования команд:
http://help.autodesk.com/view/MAYAUL/2018/ENU/?guid=__CommandsPython_index_html