我无法弄清楚发生了什么。如果你打开Maya 2016创建四个nurbsCircles
并运行这个脚本你就得到了这个:
// 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 )
答案 0 :(得分:0)
问题在于,以相同变换为父级的形状以某种方式实例化为它们之前的变换,并且当脚本执行它并删除先前的变换节点和形状时,即使在父变换到新变换节点之后仍然改变它的变换
所以解决方案是:
父所有形状到一个变换节点,使用parent -add -r -s [objects]
然后复制这个新节点,然后你才能删除所有旧节点。
非常令人困惑,但它正在运作