MEL / Python父命令无法预测地移动形状

时间:2016-02-11 01:14:33

标签: python transformation maya mel

我无法弄清楚发生了什么。如果你打开Maya 2016创建四个nurbsCircles并运行这个脚本你就得到了这个:

Shapes changed their location scale and rotation

// MEL

makeIdentity -apply true -t 1 -r 1 -s 1 -n 0 -pn 1 nurbsCircle1 nurbsCircle2 nurbsCircle3 nurbsCircle4 ;
parent -r -s nurbsCircle2|nurbsCircleShape2 nurbsCircle1 ; 
parent -r -s nurbsCircle3|nurbsCircleShape3 nurbsCircle1 ; 
parent -r -s nurbsCircle4|nurbsCircleShape4 nurbsCircle1 ; 

# Python

import maya.cmds as mc

mc.makeIdentity( mc.ls( sl = 1 ), 
                 apply = True,  
                 t = 1, r = 1, s = 1, n = 0 )

mc.parent( 'nurbsCircle3|nurbsCircleShape3',
           'nurbsCircle2|nurbsCircleShape2',
           'nurbsCircle4|nurbsCircleShape4', 
           'nurbsCircle1',s = 1,r = 1 )   

1 个答案:

答案 0 :(得分:0)

问题在于,以相同变换为父级的形状以某种方式实例化为它们之前的变换,并且当脚本执行它并删除先前的变换节点和形状时,即使在父变换到新变换节点之后仍然改变它的变换

所以解决方案是: 父所有形状到一个变换节点,使用parent -add -r -s [objects]然后复制这个新节点,然后你才能删除所有旧节点。

非常令人困惑,但它正在运作